IoT Monitor

Une solution de surveillance IoT légère et haute performance pour environnements connectés
IoT Monitor représente une approche simple dans le domaine de la surveillance et de la fiabilité des architectures IoT basées sur le protocole MQTT. Cette solution se laisse oublier par plusieurs aspects :
- légèreté : l’executable peut être utilisé et compilé sur un grand nombre d’architectures
- sécurise l’execution de processus mqtt ne répondant plus. (redémarrage, ou information de la non intgrité sur mqtt)
- historisation des évènements à deux horizons (la journée, et les autres jours). Les historisations sont ensuite directement questionnables par http (endpoint /sql, ou en copiant les fichier parquets génér&s)
Développé sous la forme d’un démon à double implémentation (Rust et Zig), ce système répond avec précision aux contraintes de ressources et aux besoins analytiques des infrastructures de production modernes.
Points forts de la solution
Approche d’implémentation double (Rust & Zig) : IoT Monitor s’adapte à toutes les topologies matérielles. La version Zig offre une empreinte mémoire ultra-légère idéale pour l’embarqué contraint, tandis que la version Rust déploie toute la puissance analytique pour les serveurs et passerelles Edge computing.
Fusion de données et requêtes SQL : Grâce à l’intégration d’Apache Arrow et de DataFusion, l’implémentation Rust permet d’exécuter des requêtes SQL dynamiques complexes directement en mémoire ou sur l’historique de données, transformant un simple outil de monitoring en une véritable plateforme d’analyse Edge.
Stockage analytique optimisé : Le système intègre un mécanisme de rotation automatique de fichiers au format Parquet. Ce stockage orienté colonnes garantit une compression maximale et des temps de récupération records pour les séries temporelles issues de vos capteurs IoT.
Flexibilité d’architecture : l’optimisation selon votre cible matérielle
L’originalité d’IoT Monitor réside dans sa dualité technologique, pensée pour couvrir l’intégralité de la chaîne IoT de manière optimisée :
L’implémentation Zig (iotmonitor) est taillée pour l’efficacité brute. Idéale pour les plateformes contraintes comme les microcontrôleurs ESP32 ou les Raspberry Pi légers, elle offre un démarrage instantané, un accès direct au matériel et une utilisation mémoire microscopique.
L’implémentation Rust (rsiotmonitor) apporte les fonctionnalités avancées sur des environnements de type Linux ou Windows. Elle tire parti des garanties de sécurité du langage et de sa gestion de la concurrence pour gérer de gros volumes de données, l’intégration à l’écosystème cloud, et le traitement de flux haute performance.
Robustesse : sécurité, persistance et monitoring en temps réel
La fiabilité du système est au cœur d’IoT Monitor, garantissant la continuité opérationnelle de vos parcs d’objets connectés :
Surveillance en temps réel : Le démon supervise en permanence la santé du système, collecte les métriques des capteurs, assure le suivi du statut des dispositifs et gère l’état de vos processus métiers de manière transparente.
Intégration MQTT avancée : Supportant nativement le protocole MQTT, IoT Monitor gère dynamiquement l’abonnement aux sujets, la configuration des niveaux de QoS et le traitement personnalisé des messages entrants.
Gestion de l’état et résilience : L’implémentation Rust intègre des fonctionnalités de gestion et de restauration d’état. En cas de redémarrage imprévu du système ou de coupure de courant, IoT Monitor est capable de reconstituer son état initial automatique, éliminant les pertes de contexte opérationnel.
Haute performance sous charge : Avec un débit élevé et une latence minimale, le cœur d’IoT Monitor est dimensionné pour traiter des flux d’événements industriels continus sans jamais saturer les ressources de l’hôte.
Polyvalence métier : de nombreux cas d’usage industriels et domestiques
Grâce à sa modularité technique et sa pile technologique moderne (Docker, Apache Arrow Flight, Cargo), IoT Monitor s’adapte à de multiples secteurs :
IoT Industriel & Usines : Surveillance en temps réel des processus de fabrication, détection de présence ou de défaillance des machines, et suivi de la santé des passerelles réseau.
Gestion Environnementale & Agricole : Déploiement idéal pour la surveillance de serres connectées ou la collecte de données climatiques et métrologiques distribuées.
Smart Home & Bâtiment : Gestion centralisée des dispositifs intelligents et automatisation résidentielle basée sur les messages MQTT.
Analyse de données Edge : Grâce au requêtage SQL temps réel combiné à la compression Parquet, la solution permet l’analyse de tendances historiques directement à la périphérie du réseau (Edge analytics) pour créer des rapports pertinents sans surcharger la bande passante vers le Cloud.
Évolution et feuille de route
Activement maintenu, le projet IoT Monitor continue de s’enrichir. Alors que les fondations de surveillance, d’intégration MQTT, de stockage Parquet et de requêtage DataFusion sont pleinement validées et complétées, l’implémentation Rust évolue vers la construction d’un véritable écosystème de plateforme.
Les développements en cours ciblent l’intégration d’une API Web pour la visualisation simplifiée des informations, ainsi que la mise en place de définitions de règles d’agent légères pour automatiser les alertes.
Pour plus d’informations techniques et accéder au code source, visitez le répertoire GitHub rsiotmonitor ou la page officielle frett27.net.