Files
smart-city-digital-twin-mar…/session_resume_2026-05-06.md
Eric FELIXINE 41f39a3faa Session resume 2026-05-06 - État infrastructure Smart City
- BunkerM accessible, Stellio pipeline actif
- 6 tables CrateDB créées, Grafana AirQuality OK
- OpenRemote API 405 à résoudre (assets à créer)
- 30 capteurs attendus (10 par broker)
2026-05-06 21:55:41 -04:00

3.8 KiB
Raw Blame History

Session Resume - 2026-05-06 - Smart City Digital Twin Martinique

État de l'infrastructure (21:35)

Réalisé cette session

  1. BunkerM (mosquitto2.digitribe.fr:1900) : ACCESSIBLE (confirmé par nc -zv et mosquitto_pub)
  2. IoT Agent BunkerM : Reconfiguré pour Stellio (docker-compose.iot-agent.yml mis à jour)
  3. Stellio Pipeline : DONNÉES VISIBLES (entities urn:ngsi-ld:AirQualityObserved:* dans Stellio)
  4. CrateDB : 6 tables créées (etairqualityobserved, etweatherobserved, ettrafficflowobserved, etparkingspot, etnoiselevelobserved, etwaterqualityobserved)
  5. Grafana : Dashboard "Smart City - Air Quality (CrateDB)" créé et opérationnel
  6. Keycloak OpenRemote : Audience mapper 'openremote' configuré (claim aud: ['openremote'] present)
  7. Git/Gitea : Commits poussés (docker-compose.iot-agent.yml)

En cours / À faire

  1. OpenRemote Assets (Tâche A) : API retourne 405 Method Not Allowed malgré JWT correct

    • 30 capteurs attendus (10 par broker: EMQX, Mosquitto, BunkerM)
    • À créer dans 2 realms : master ET smartcity-martinique
    • Problème : 405 sur /api/{realm}/asset (GET/POST)
    • Solution proposée : Création via UI Web OpenRemote ou débogage API ultérieur
  2. Simulateur : Configuration 30 capteurs

    • Définir SENSOR_COUNT=30 dans l'environnement du simulateur
    • Les capteurs seront répartis : airquality, traffic, parking, noise, weather, light
  3. Grafana Dashboards (Tâche C) : 🔄 À compléter

    • AirQuality fait
    • TrafficFlow, Weather, Parking, Noise, Light à créer

🔴 Problèmes identifiés

  1. OpenRemote API 405 :

    • JWT valide avec aud: ['openremote', 'smartcity-realm', 'master-realm', 'account']
    • URL testées : /api/master/asset, /api/smartcity-martinique/asset
    • Erreur persistante malgré audience mapper configuré
    • Action : Vérifier logs Keycloak/OpenRemote ou utiliser UI Web
  2. BunkerM inaccessibilité passée : Résolu - port 1900 accessible via Traefik

📊 Architecture validée

Simulateur (30 capteurs, 10 par broker)
    ↓
Brokers MQTT (EMQX ✅, Mosquitto ✅, BunkerM ✅)
    ↓
IoT Agents (EMQX→Orion-LD ✅, Mosquitto→Orion-LD ✅, BunkerM→Stellio ✅)
    ↓
Context Brokers (Orion-LD ✅, Stellio ✅)
    ↓
QuantumLeap → CrateDB (tables: 6 créées ✅)
    ↓
Grafana (Dashboard AirQuality ✅, autres à faire 🔄)

🎯 Actions prioritaires prochaine session

  1. Résoudre OpenRemote API 405 (ou créer assets via UI)
  2. Créer 60 assets OpenRemote (30 capteurs × 2 realms)
  3. Finaliser dashboards Grafana (Traffic, Weather, etc.)
  4. Configurer SENSOR_COUNT=30 dans simulateur
  5. Mettre à jour documentation architecture (après vérification Stellio complète)

🔐 Commandes utiles

# Vérifier Stellio
docker exec smart-city-cratedb curl -s "http://stellio-api-gateway:8080/ngsi-ld/v1/entities?type=AirQualityObserved" -H "Accept: application/ld+json"

# Vérifier CrateDB
docker exec smart-city-cratedb bash -c 'crash -c "SELECT * FROM quantumleap.etairqualityobserved LIMIT 5;"'

# Test OpenRemote API (échoue encore avec 405)
curl -s "https://openremote.digitribe.fr/api/master/asset" -H "Authorization: Bearer <TOKEN>"

# Démarer simulateur avec 30 capteurs
cd ~/smart-city-digital-twin-martinique
SENSOR_COUNT=30 docker compose -f docker-compose.yml up -d simulator

📦 Git Status

  • Repo: smart-city-digital-twin-martinique sur gitea.digitribe.fr/eric/
  • Dernier commit: IoT Agents: suppression healthcheck + BunkerM configuré pour Stellio
  • Fichiers modifiés: docker-compose.iot-agent.yml
  • Status: Poussé sur origin/master

Session mise à jour: 2026-05-06 21:35 - Eric FELIXINE