Files
smart-city-digital-twin-mar…/ARCHITECTURE.md
Eric FELIXINE dfaa240d5a fix: Stabilisation complète Smart City Digital Twin Martinique
- Correction simulateur: nettoyage code FIWARE (erreurs syntaxe)
- Grafana: dashboard complet 10 panneaux sur grafana.digitribe.fr
- InfluxDB: datasource corrigée (bucket smartcity, org digitribe)
- Nettoyage: suppression services FIWARE (Orion-LD, Stellio, QuantumLeap)
- Pipeline validé: Simulator → 3 MQTT brokers → Telegraf → InfluxDB → Grafana
- Dashboard URL: https://grafana.digitribe.fr/d/smartcity-martinique-complete/

Architecture simplifiée:
- 3 MQTT brokers (EMQX, Mosquitto, BunkerM)
- Telegraf pour agrégation
- InfluxDB pour stockage time-series
- Grafana pour visualisation (Traefik: grafana.digitribe.fr)
2026-05-08 01:10:30 -04:00

4.1 KiB

Smart City Digital Twin - Martinique

Nouvelle Architecture (Mise à jour 08/05/2026)

Stack Simplifiée

Simulateur Python (60 capteurs)
    ↓
┌───────────────────────────────────────────────┐
│        3 Brokers MQTT                    │
│  ┌────────────┐  ┌────────────┐  ┌────────────┐ │
│  │   EMQX      │  │  Mosquitto │  │  BunkerM   │ │
│  │(emqx_emqx_1)│  │(smart-city- │  │(bunkerm_   │ │
│  │            │  │  mosquitto) │  │  bunkerm_1)│ │
│  └─────┬──────┘  └─────┬──────┘  └─────┬──────┘ │
└────────┼──────────────┼──────────────┼──────────────┘
         │              │              │
         └──────────────┴──────────────┘
                        ↓
              Telegraf (3 inputs MQTT)
                        ↓
                  InfluxDB v2
                  (bucket: smartcity)
                        ↓
                    Grafana
              (Dashboard: smartcity-martinique-2026)

Détails des Composants

1. Simulateur (smart-city-simulator)

  • Fonction : Génère des données IoT simulées (60 capteurs)
  • Types : AirQuality, Traffic, Parking, Noise, Weather, Light
  • Brokers MQTT : Publie sur les 3 brokers simultanément
    • EMQX: emqx_emqx_1:1883 (MQTT v3.1.1)
    • Mosquitto: smart-city-mosquitto:1883 (MQTT v3.1.1)
    • BunkerM: bunkerm_bunkerm_1:1900 (MQTT v3.1.1, auth: bunker/bunker)
  • InfluxDB : Écriture asynchrone (ASYNCHRONOUS) vers smartcity bucket

2. Telegraf (smart-city-telegraf)

  • Fonction : Collecte les données MQTT et les écrit dans InfluxDB
  • Configuration : 3 inputs MQTT (un par broker)
  • Topics : airquality/#, traffic/#, parking/#, noise/#, weather/#, light/#
  • Format : JSON → InfluxDB line protocol

3. InfluxDB (smart-city-influxdb)

  • Version : v2.7.12
  • Organization : digitribe
  • Bucket : smartcity (infinite retention)
  • Token : my-super-token

4. Grafana (smart-city-grafana)

  • URL : http://localhost:3001
  • Credentials : admin / Digitribe972
  • Dashboard : Smart City Digital Twin - Martinique
    • UID: smartcity-martinique-2026
    • 6 panneaux (AirQuality, Traffic, Parking, Noise, Weather, Light)
    • Source: InfluxDB (smartcity bucket)

Flux de Données

  1. Simulateur publie sur 3 brokers MQTT (EMQX, Mosquitto, BunkerM)
  2. Telegraf subscribe aux topics MQTT → convertit en format InfluxDB
  3. InfluxDB stock les séries temporelles
  4. Grafana visualise les données via Flux queries

Avantages de cette Architecture

  • Simplicité : Pas de FIWARE (Orion-LD, Stellio, QuantumLeap)
  • Performance : InfluxDB optimisé pour les séries temporelles
  • Redondance : 3 brokers MQTT (si un tombe, les autres assurent)
  • Maintnant : Stack standard (Telegraf/InfluxDB/Grafana)

Commandes Utiles

# Vérifier les données InfluxDB
docker exec smart-city-influxdb influx query 'from(bucket:"smartcity") |> range(start:-1h) |> group(columns: ["_measurement"]) |> count()'

# Voir les logs du simulateur
docker logs smart-city-simulator --tail 50

# Redémarrer Telegraf
docker restart smart-city-telegraf

# Accéder à Grafana
open http://localhost:3001

Fichiers de Configuration

  • Simulateur : /home/eric/smart-city-digital-twin-martinique/simulator.py
  • Telegraf : /home/eric/smart-city-digital-twin-martinique/telegraf.conf
  • Docker Compose : /home/eric/smart-city-digital-twin-martinique/docker-compose.yml
  • Dashboard Grafana : /home/eric/smart-city-digital-twin-martinique/grafana-dashboard-smartcity.json

Dernière mise à jour : 08/05/2026 - Suppression de FIWARE, passage à Telegraf/InfluxDB