Le projet Quakesense est un système de surveillance du tremblement de terre et de l'environnement open source composé d'un réseau IoT à faible puissance et à faible coût en nœuds de capteurs autonomes énergétiques qui sont alimentés par un système de récolte d'énergie et sont connectés à une passerelle dans une topologie d'étoile.
Le projet est basé sur deux technologies IoT émergentes, MQTT et LORA, l'une des technologies de réseaux à faible puissance les plus prometteuses (LPWAN) qui fournit un bon compromis entre la couverture, la consommation actuelle, la longueur de la charge utile, la bande passante et le taux de données.
Les données collectées sont offertes aux utilisateurs grâce à une interface Web dédiée, permettant ainsi la surveillance en temps réel des événements sismiques et des paramètres environnementaux.
Les principaux composants du projet Quakesense sont: un ou plusieurs nœuds de capteur, une passerelle Lora à canal unique et une plate-forme Cloud IoT.
Chaque nœud de capteur se compose des composants suivants:
Par défaut, chaque nœud de capteur s'exécute en mode basse puissance. Dans cette configuration, le MCU STM32 s'exécute en mode d'arrêt (le MCU est arrêté et les horloges sont éteintes, mais le contenu SRAM et les registres sont conservés), le module GPS est en mode toujours opéré (un mode d'économie d'alimentation intelligent qui permet au module GPS d'ajuster l'adaptation et automatiquement dans le mode de la maximum d'énergie pour la maximum.
Lorsqu'un événement sismique se produit, l'accéléromètre génère une interruption associée à l'événement de réveil et le nœud commence en mode d'exécution, ce qui entraîne le réveil du MCU STM32 et du module GPS en mode complet, tandis que le module LORA est placé en mode transmission. L'événement de réveil se produit si au moins l'un des 3 composants d'accélération dépasse le seuil de référence (50 mg pour les composants horizontaux, 1120 mg pour celui vertical).
Une fois en mode d'exécution, le nœud du capteur commence à lire et à enregistrer les données d'accélération pour calculer la durée du crochet, définie comme l'intervalle de temps entre le premier et le dernier dépassement du seuil d'accélération, et les 3 composants de l'accélération maximale du sol (PGA), définie comme l'amplitude maximale d'accélération de la valeur absolue. Les paramètres de mouvement fort calculé sont également géo-référencés grâce au module GPS, de sorte que les paramètres de latitude, de longitude, d'altitude, de date et d'heure sont ajoutés au paquet LORA qui est finalement envoyé à la passerelle.
Le comportement de base du nœud prévoit une surveillance périodique (par défaut, toutes les 15 minutes) des paramètres environnementaux (température, humidité et pression relatives) à travers les capteurs LPS22HB et HTS221 MEMS.
La passerelle Lora à canal unique se compose des composants suivants:
La passerelle est fonctionnellement chargée de recevoir des paquets envoyés par des nœuds de capteur, d'analyser les valeurs encapsulées et de les transmettre à la plate-forme Adafruit IO via le protocole MQTT.
La passerelle traite également de l'intégrité des paquets: chaque fois qu'un nouveau paquet est reçu, la passerelle calcule la somme de contrôle et la compare à celle du message reçu. En cas de décalage, le paquet est supprimé et un message d'erreur est envoyé à la plate-forme Adafruit IO.
La plate-forme Adafruit IO est utilisée pour collecter, traiter et visualiser dans les données environnementales en temps réel et les paramètres de mouvement fort liés aux événements sismiques.
L'interface utilisateur (UI) se compose d'un tableau de bord, qui comprend certains widgets implémentés via des graphiques linéaires, des jauges et d'autres blocs pour montrer la valeur des paramètres environnementaux et la tendance temporelle des trois composants de l'accélération de masse de pointe.
Les bibliothèques et les frameworks de logiciels utilisés pour implémenter le projet Quakesense sont:
Biagio Montaruli - [email protected]
Ce logiciel est sous licence en termes de GNU GPLV3. Voir le fichier licence.md pour plus de détails.
Ce projet a été développé pour ma thèse de premier cycle dans l'Internet des objets de l'Université polytechnique de Bari (Poliba).
Je tiens à dire un merci spécial à mon professeur et superviseur Luigi Alfredo Grieco, ainsi qu'à tous les chercheurs et personnes du laboratoire télématique (@ télématique-DEV) qui m'ont aidé pendant le développement de ce projet.