- 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)
3.8 KiB
3.8 KiB
Session Resume - 2026-05-06 - Smart City Digital Twin Martinique
État de l'infrastructure (21:35)
✅ Réalisé cette session
- BunkerM (mosquitto2.digitribe.fr:1900) : ✅ ACCESSIBLE (confirmé par
nc -zvetmosquitto_pub) - IoT Agent BunkerM : ✅ Reconfiguré pour Stellio (docker-compose.iot-agent.yml mis à jour)
- Stellio Pipeline : ✅ DONNÉES VISIBLES (entities
urn:ngsi-ld:AirQualityObserved:*dans Stellio) - CrateDB : ✅ 6 tables créées (etairqualityobserved, etweatherobserved, ettrafficflowobserved, etparkingspot, etnoiselevelobserved, etwaterqualityobserved)
- Grafana : ✅ Dashboard "Smart City - Air Quality (CrateDB)" créé et opérationnel
- Keycloak OpenRemote : ✅ Audience mapper 'openremote' configuré (claim
aud: ['openremote']present) - Git/Gitea : ✅ Commits poussés (docker-compose.iot-agent.yml)
⏳ En cours / À faire
-
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 :
masterETsmartcity-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
-
Simulateur : ⏳ Configuration 30 capteurs
- Définir
SENSOR_COUNT=30dans l'environnement du simulateur - Les capteurs seront répartis : airquality, traffic, parking, noise, weather, light
- Définir
-
Grafana Dashboards (Tâche C) : 🔄 À compléter
- ✅ AirQuality fait
- ⏳ TrafficFlow, Weather, Parking, Noise, Light à créer
🔴 Problèmes identifiés
-
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
- JWT valide avec
-
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
- Résoudre OpenRemote API 405 (ou créer assets via UI)
- Créer 60 assets OpenRemote (30 capteurs × 2 realms)
- Finaliser dashboards Grafana (Traffic, Weather, etc.)
- Configurer
SENSOR_COUNT=30dans simulateur - 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-martiniquesurgitea.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