- Correction flux : Simulateur → MQTT Brokers → IoT Agents → Orion-LD/Stellio → QuantumLeap → CrateDB
- IoT Agents fonctionnels (EMQX:4041, Mosquitto:4042, BunkerM:4043)
- Pipeline Orion-LD validé (CrateDB: quantumleap.etairqualityobserved)
- BunkerM domaine corrigé : mosquitto2.digitribe.fr:1900
- Simulateur publie sur topics smartcity-api-key/{sid}/attrs
10 KiB
10 KiB
Architecture Smart City Digital Twin - Martinique (État au 07 Mai 2026)
Architecture Validée : Simulateur → MQTT → IoT Agents → Context Brokers → Time-Series
┌─────────────────────────────────────────────────────────────────────────────┐
│ Smart City Simulator (Python) │
│ Publie sur 3 brokers MQTT avec format IoT-Agent JSON (30 capteurs) │
└──────────┬────────────────────┬──────────────────────┬───────────────────┘
│ │ │
▼ ▼ ▼
┌──────────────────┐ ┌──────────────────┐ ┌──────────────────┐
│ EMQX Broker │ │ Mosquitto Broker │ │ BunkerM Broker │
│ (emqx_emqx_1)│ │ (smart-city- │ │ (mqtt.digitribe.│
│ :1883 (host │ │ mosquitto) │ │ fr:1900) │
│ 11883) │ │ :1883 (host │ │ ❌ Inaccessible │
│ ✅ Fonctionnel │ │ 1883) │ │ depuis simu │
│ │ │ ✅ Fonctionnel │ │ │
└────────┬─────────┘ └────────┬─────────┘ └────────┬─────────┘
│ │ │
▼ ▼ ▼
┌──────────────────┐ ┌──────────────────┐ ┌──────────────────┐
│ IoT-Agent-EMQX │ │IoT-Agent-Mosquitto│ │IoT-Agent-BunkerM │
│ (smart-city- │ │ (smart-city- │ │ (smart-city- │
│ iot-agent-emqx)│ │ iot-agent- │ │ iot-agent- │
│ :4041 │ │ mosquitto) │ │ bunkerm) │
│ Apikey: smart- │ │ :4042 │ │ :4043 │
│ city-api-key │ │ Apikey: smart- │ │ Apikey: bunker-│
│ │ │ city-api-key │ │ m-api-key │
└────────┬─────────┘ └────────┬─────────┘ └────────┬─────────┘
└───────────────────────┴──────────────────────┘
│
▼
┌───────────────┴───────────────┐
│ │
▼ ▼
┌─────────────────────┐ ┌─────────────────────┐
│ Orion-LD │ │ Stellio │
│ (smart-city- │ │ (stellio-api- │
│ orion-ld) │ │ gateway) │
│ Port: 1026 │ │ Port: 8080 │
│ ✅ Fonctionnel │ │ ✅ Fonctionnel │
│ MongoDB backend │ │ Kafka backend │
└─────────┬───────────┘ └─────────┬───────────┘
│ │
▼ ▼
┌─────────────────────┐ ┌─────────────────────┐
│ QuantumLeap-Orion │ │ QuantumLeap-Stellio │
│ (smart-city- │ │ (smart-city- │
│ quantumleap) │ │ quantumleap) │
│ Port: 8668 │ │ Port: 8668? │
│ ✅ Fonctionnel │ │ (à vérifier) │
│ → CrateDB-Orion │ │ → CrateDB-Stellio │
└─────────┬───────────┘ └─────────┬───────────┘
│ │
▼ ▼
┌─────────────────────┐ ┌─────────────────────┐
│ CrateDB-Orion │ │ CrateDB-Stellio │
│ (smart-city- │ │ (smart-city- │
│ cratedb) │ │ cratedb) │
│ Port: 5432/4200 │ │ Port: 5432/4200 │
│ DB: quantumleap │ │ DB: quantumleap │
│ ✅ Données présentes│ │ (à vérifier) │
└─────────┬───────────┘ └─────────┬───────────┘
│ │
└───────────────────────┬─────────┘
│
▼
┌─────────────────────┐
│ Grafana │
│ (digital-twin- │
│ grafana) │
│ Port: 3000 │
│ https:// │
│ grafana.digitribe│
│ .fr │
│ 2 Datasources: │
│ - CrateDB-Orion │
│ - CrateDB-Stellio│
└─────────────────────┘
Flux de Données Validés (07 Mai 2026)
Pipeline 1 : Orion-LD ✅ (Opérationnel Complet)
- Simulateur → Publie sur EMQX & Mosquitto (topics
smartcity-api-key/{sid}/attrs) ✅ - IoT Agents (EMQX & Mosquitto) → Transfèrent vers Orion-LD ✅
- Orion-LD (1026) → Reçoit les entités (
urn:ngsi-ld:AirQualityObserved:sensor001...) ✅ - QuantumLeap-Orion (8668) → Reçoit notifications Orion-LD ✅
- CrateDB-Orion (5432) → Persistance dans
quantumleap.etairqualityobserved✅- Données vérifiées :
sensor005(NO2=72.1, temp=31.5°C, humidité=92%)
- Données vérifiées :
- Grafana ← Visualise données CrateDB ✅
Pipeline 2 : Stellio 🔄 (À finaliser)
- Simulateur → Publie sur EMQX & Mosquitto ✅
- IoT Agents → Transfèrent vers Stellio (à configurer) ⏳
- Stellio (8080) → Reçoit les entités NGSI-LD ✅
- QuantumLeap-Stellio → Reçoit notifications Stellio (à configurer) ⏳
- CrateDB-Stellio → Persistance (même CrateDB?) ⏳
- Grafana ← Visualise données ⏳
États des Services (07 Mai 2026 - 21h30)
| Service | Container | Ports | Statut | Notes |
|---|---|---|---|---|
| Simulateur | smart-city-simulator |
- | ✅ UP | Publie sur 2/3 brokers (EMQX ✅, Mosquitto ✅, BunkerM ❌) |
| EMQX Broker | emqx_emqx_1 |
1883 (host 11883) | ✅ UP | Messages reçus, topics smartcity-api-key/# ✅ |
| Mosquitto Broker | smart-city-mosquitto |
1883 (host 1883) | ✅ UP | Messages reçus ✅ |
| BunkerM Broker | smart-city-bunkerm |
1900 | ❌ Inaccessible | mqtt.digitribe.fr:1900 ne répond pas au simulateur |
| IoT Agent EMQX | smart-city-iot-agent-emqx |
4041 | ✅ UP | Reçoit et transfère vers Orion-LD/Stellio ✅ |
| IoT Agent Mosquitto | smart-city-iot-agent-mosquitto |
4042 | ✅ UP | Idem ✅ |
| IoT Agent BunkerM | smart-city-iot-agent-bunkerm |
4043 | ⚠️ UP | Mais pas de messages (BunkerM inaccessible) |
| Orion-LD | smart-city-orion-ld |
1026 | ✅ UP | Entités créées, subscriptions actives ✅ |
| Stellio | stellio-api-gateway |
8080 | ✅ UP | Prêt pour intégration IoT Agent ⏳ |
| QuantumLeap | smart-city-quantumleap |
8668 | ✅ UP | Notifications traitées ✅ |
| CrateDB | smart-city-cratedb |
5432/4200 | ✅ UP | Table quantumleap.etairqualityobserved ✅ |
| Grafana | digital-twin-grafana |
3000 | ✅ UP | https://grafana.digitribe.fr ✅ |
| OpenRemote | openremote-manager-1 |
8080/8443 | ✅ UP | Pas encore connecté aux brokers MQTT ⏳ |
| ThingsBoard | smart-city-thingsboard |
8080 | ❌ CRASH | Manque /config/thingsboard.conf |
Prochaines Étapes
- ✅ Corriger le simulateur pour publier sur les topics IoT Agent (FAIT)
- ⏳ Configurer Stellio pour recevoir les données des IoT Agents
- ⏳ Finaliser QuantumLeap-Stellio (subscriptions)
- ⏳ Connecter OpenRemote aux brokers MQTT (via MQTT Client assets)
- ⏳ Réparer BunkerM (rendre accessible depuis simulateur)
- ⏳ Finaliser Grafana (dashboards avec données CrateDB)
- ❌ Réparer ThingsBoard (créer fichier configuration)
Notes Importantes
- Architecture Validée : Le flux Simulateur → Brokers MQTT → IoT Agents → Orion-LD → QuantumLeap → CrateDB est opérationnel.
- Format des données : IoT Agent utilise
smartcity-api-key/{sid}/attrs(EMQX),smartcity-api-key-mosquitto/{sid}/attrs(Mosquitto),bunkerm-api-key/{sid}/attrs(BunkerM). - Credentials :
- Orion-LD :
http://smart-city-orion-ld:1026 - QuantumLeap :
http://smart-city-quantumleap:8668 - CrateDB : user
crate, pas de mot de passe, port 5432 - Grafana : admin / Digitribe972
- OpenRemote : admin / Digitribe972
- Orion-LD :
- Gitea : https://gitea.digitribe.fr/eric/smart-city-digital-twin-martinique
Dernière mise à jour : 07 Mai 2026, 21h30 - Architecture validée Orion-LD pipeline complet