IoT — Capteurs climatiques NOAA pas-à-pas¶
Parcours personas : carol (analyste) · Catalogues :
postgres_postgis_iot· Durée : ~20 min · Difficulté : étoile
Cette démo utilise un dataset synthétique de capteurs style NOAA où la température décroît naturellement avec la latitude. Carol demande à ADEN de tracer le gradient par bande de latitude ; la couche BI rend une série temporelle ; Carol exporte un CSV pour un partenaire.
Ce que la démo prouve¶
- Une question time-series se résout en un prompt ADEN sur une source PostGIS fédérée.
- La couche BI rend un graphe multi-lignes par bande sans config manuelle.
- La logique de banding géographique est générée, pas codée en dur.
Pré-requis¶
- URL démo :
https://demo.akko-ai.com - Catalogue
postgres_postgis_iotdéjà fédéré. - 1 persona provisionnée :
carol.
Étape 1 — Carol se connecte et inspecte le catalogue IoT¶
Se connecter en carol. Aller dans Gouvernance → Explorateur de catalogue → postgres_postgis_iot.
Tables attendues :
iot.stations (1 240 lignes, geometry POINT)
iot.measurements (45 600 000 lignes)
iot.calibration_runs (180 lignes)
Cliquer measurements et confirmer les colonnes :
measurement_id— bigintstation_id— textemeasured_ts— timestampmetric—temperature_c,humidity_pct,wind_kmhvalue— double
Capture : tests/e2e/playwright/artefacts/demos/iot-sensors/01-catalog-tables.png
Étape 2 — Carol ouvre ADEN¶
Cliquer IA → ADEN. Régler :
- Catalogue :
postgres_postgis_iot - Modèle :
qwen2.5-coder:7b
Capture : tests/e2e/playwright/artefacts/demos/iot-sensors/02-aden-scope.png
Étape 3 — Carol pose la question time-series¶
Prompt :
trace la température moyenne mensuelle pour 2024 groupée par bande de latitude de 10 degrés,
inclus le nombre de stations par bande
Cliquer Ask. SQL attendu :
WITH station_band AS (
SELECT
s.station_id,
floor(ST_Y(s.geom) / 10) * 10 AS lat_band
FROM postgres_postgis_iot.iot.stations s
), tagged AS (
SELECT
m.measured_ts,
m.value,
sb.lat_band
FROM postgres_postgis_iot.iot.measurements m
JOIN station_band sb USING (station_id)
WHERE m.metric = 'temperature_c'
AND m.measured_ts BETWEEN TIMESTAMP '2024-01-01' AND TIMESTAMP '2024-12-31'
)
SELECT
date_trunc('month', measured_ts) AS month,
lat_band,
avg(value) AS avg_temp_c,
count(DISTINCT station_id) OVER (PARTITION BY lat_band) AS n_stations
FROM tagged
GROUP BY 1, 2
ORDER BY 2, 1;
Extrait du résultat attendu :
| month | lat_band | avg_temp_c | n_stations |
| 2024-07-01 | -30 | 12,4 | 78 |
| 2024-07-01 | 0 | 26,8 | 142 |
| 2024-07-01 | 30 | 24,1 | 312 |
| 2024-07-01 | 60 | 8,7 | 96 |
Capture : tests/e2e/playwright/artefacts/demos/iot-sensors/03-aden-result.png
Étape 4 — Carol promeut le dashboard¶
Cliquer Promote to dashboard. ADEN propose un dashboard 3 tuiles :
- Line — Température moyenne par mois, une ligne par bande de latitude
- Bar — Nombre de stations par bande
- Table — Moyennes mensuelles brutes
+-------------------- AKKO IoT — Température par latitude 2024 --------+
| 12 bandes de latitude | 1 240 stations |
+----------------------------------------------------------------------+
| [ Multi-line : temp / mois / bande ] [ Bar : stations / bande ] |
+----------------------------------------------------------------------+
Le line chart montre le motif attendu de température décroissante à mesure que la latitude s'éloigne de l'équateur.
Capture : tests/e2e/playwright/artefacts/demos/iot-sensors/04-line-dashboard.png
Étape 5 — Carol filtre par saison¶
Dans le dashboard, ajouter un filtre month entre Jul et Sep.
Résultat attendu : le line chart se redessine pour ne montrer que l'été ; la bande 0 plafonne à ~29 deg C, la bande 60 à ~10 deg C.
Capture : tests/e2e/playwright/artefacts/demos/iot-sensors/05-summer-filter.png
Étape 6 — Carol exporte le CSV pour un partenaire¶
Cliquer Export → CSV.
Résultat attendu : un fichier de 144 lignes (12 mois × 12 bandes). Colonnes : month, lat_band, avg_temp_c, n_stations.
Capture : tests/e2e/playwright/artefacts/demos/iot-sensors/06-csv-export.png
Nettoyage¶
- Se déconnecter.
Ce que la démo prouve¶
- Les questions time-series convergent en un seul prompt ADEN sur une source fédérée.
- Le banding de latitude est généré à la volée via PostGIS
ST_Y, pas codé en dur. - La couche BI produit un multi-line chart sans config manuelle.
Fichiers dans le repo¶
| Fichier | Rôle |
|---|---|
scripts/seed-iot.sh |
Seed 1 240 stations et 45M mesures |
dbt/models/marts/iot/temp_by_lat_band.sql |
Vue matérialisée curatée |