Mentions légales du service

Skip to content
Snippets Groups Projects

PER2024-034 - Standardisation IoT pour la Détection en Temps Réel des Virus et de la Pollution

Ce projet de développement a été réalisé du 11/10/2024 au 28/02/2025.

Le projet "Standardisation de l'IoT pour la détection en temps réel des virus et de la pollution", mené dans le cadre du Master IoT/CPS à Polytech Nice Sophia, est une initiative de recherche et de développement réalisée en collaboration avec Inria.

Sous la supervision de Luigi LIQUORI, le projet a permis d'améliorer le site web ACT d'Inria grâce aux contributions suivantes :

  • Ahmed KAMOUN : Déploiement automatisé des modules et mises à jour sur le Cloud d'Inria en utilisant une approche CI/CD sécurisée.
  • Grégory JEANNIN : Analyse des standards MQTT, intégration de oneM2M et ACME.org, et mise en place d’un mécanisme IoT pour transmettre des données en temps réel au portail web ACT.
  • Steven ESSAM : Développement de l’application Android ACT, dédiée à la détection des réseaux Wi-Fi en temps réel et à la surveillance des zones contaminées.

Ce projet a également permis d’atteindre le Top 5 lors de la 4ᵉ édition de l’International oneM2M Hackathon. Lien du Hackathon oneM2M : Hackathon oneM2M

Voici le lien GitLab de tous les repositories de notre projet : GitLab ACT

Contexte

Face aux menaces environnementales croissantes, Le Standard Asynchronous Contact Tracing (ACT, ETSI TS 103 757) standardise les protocoles IoT pour détecter les virus et pollution en temps réel. ACT automatise le déploiement d'un réseau intelligent et interconnecté avec un site web et une application mobile pour la détection des zones de contamination.

Problématique

Comment standardiser et automatiser les protocoles IoT pour détecter virus et pollution en temps réel, diffuser les données efficacement et assurer surveillance, alertes et anonymat conforme au RGPD ?

Utilisateurs

Ce projet s'adresse à l’ensemble de la population en fournissant un outil de surveillance et de détection des zones potentiellement contaminées. Il contribue ainsi à la protection des individus contre d’éventuelles menaces sanitaires en leur permettant d’identifier les environnements à risque et d’adopter des mesures préventives.

Existant / Solution

ACT ACT disposait de différents services.

Library

La bibliothèque définit la structure d’ACT ainsi que le format des messages utilisés pour les communications via MQTT ou HTTP. Elle assure la conformité à la norme oneM2M lors de l’envoi des données vers ACME, garantissant ainsi une interopérabilité efficace avec les systèmes IoT.

National Control Service (NCS)

Le NCS reçoit les messages d’ACME et stocke les données dans une base de données MongoDB. Il permet également la transmission de ces données à d’autres services en cas de besoin, facilitant ainsi la supervision nationale des contaminations.

Local Service

Le service local permet la création de modules de détection capables d’émettre des données et de les envoyer au NCS avec une information de géolocalisation précise. Il joue un rôle clé dans le suivi des contaminations à l’échelle locale.

Site web

Le site web permet aux utilisateurs de sélectionner une zone géographique sur une carte, d’envoyer une requête HTTP au serveur central via ACME et de récupérer la liste des points de détection présents dans cette zone. Ces points sont ensuite affichés avec leur date de création, fournissant ainsi une vue synthétique de la situation sanitaire.

Application mobile

L’application mobile scanne les réseaux Wi-Fi à proximité et filtre les SSID selon des préfixes prédéfinis. Elle permet également aux utilisateurs de tracer des zones sur une carte et déclenche des alertes si des réseaux détectés correspondent aux zones définies, signalant ainsi si une zone est sécurisée ou potentiellement contaminée.

Travail réalisé

Documentation

Nous avons documenter l'ensemble du projet dans le dossier docs/en.

CI/CD

Déploiement des Librairies Python

Les librairies Python sont automatiquement construites et déployées via un pipeline CI/CD sur GitLab. Lors de la première étape, la librairie est construite en générant les packages source et wheel avec python setup.py sdist bdist_wheel. Ensuite, le package est téléchargé sur un dépôt PyPI privé en utilisant Twine. Les informations d'authentification sont sécurisées par des variables d'environnement, garantissant un déploiement sans erreur et sécurisé des nouvelles versions de la librairie.

Déploiement des Images Docker

Les images Docker sont créées et poussées vers un registre privé à l'aide d'un pipeline CI/CD. Après avoir construit l'image via un Dockerfile spécifique, l'image est poussée vers le registre Docker d'Inria en utilisant des variables d'environnement pour gérer les identifiants de connexion. Ce processus permet de maintenir les images Docker à jour, accessibles pour le déploiement, et assure que la dernière version est toujours disponible pour la production.

Site web

Lien du git : ACT Website

Act Site

Le site web act.inria.fr permet de sélectionner une zone sur une carte, de faire une requête HTTP au serveur central via ACME, puis de récupérer la liste des points présents dans cette zone, de les afficher et de donner leurs informations (valeur, date de création). Si le site web détecte qu'il est utilisé dans une application Android, alors il enverra ces points à l'application.

Application mobile

Lien du git : ACT APP

Act APP

L'application mobile ACT est un outil de détection et de surveillance des réseaux Wi-Fi à proximité, conçu pour identifier les zones potentiellement contaminées. Elle utilise des technologies IoT pour analyser les réseaux Wi-Fi, stocker les données pertinentes et comparer les SSID détectés avec des zones définies par l’utilisateur sur une carte. Si une correspondance est trouvée, une alerte est déclenchée pour informer de la sécurité de la zone.

ESP32

Lien du git : ACT ESP32

ESP32 Schema

Nous avons connecté un capteur de gaz MQ-2 à un ESP32. Lorsque l'ESP32 s'allume, il se connecte automatiquement à un réseau wifi. Ensuite, il crée un hotspot wifi avec son nom (cf. ACT-ESP_001). Il va ensuite établir une connexion MQTT via un broker et envoyer les données du capteur via ACME au serveur central. Le serveur central sauvegardera automatiquement les données dans une base de données MongoDB.

Conclusion

Avantages Inconveniants
Compatibilité entre appareils IoT grâce aux protocoles oneM2M Le traitement de grandes quantités de données nécessite une infrastructure robuste.
Alertes en temps réel Le temps de réponse peut être ralenti à grande échelle.

Bibliographie