Construire un capteur d’occupation avec un ESP32 à 5 dollars et une base de données serverless
(matthew.science)Développement d’une solution logicielle pour collecter des données de détection de présence sur un campus universitaire
- Expérience, lors de la première année à l’université, avec les capteurs de détection de présence de Bluefox pour améliorer l’exploitation de la cafétéria
- L’université ayant changé d’exploitant de restauration pour Aramark, les données de détection de présence n’étaient plus fournies
Idée de suivi de métriques de présence à l’aide de balises Bluetooth
- Réflexion sur la précision de l’utilisation du nombre de balises BLE comme estimation du nombre de personnes
- Réflexion sur la précision de l’utilisation du temps de disponibilité des balises BLE comme estimation du temps de séjour
- Prise en compte de l’impact de la randomisation des adresses MAC par différents fabricants sur la collecte de données
- Réflexion sur la méthode d’envoi des résultats vers un serveur central ainsi que sur les méthodes de collecte et d’analyse des données
Développement d’un petit appareil pour un déploiement de longue durée
- Premiers essais avec un Raspberry Pi Zero W et problèmes rencontrés
- Complexité de la gestion du Bluetooth sous Linux et problèmes de connexion Wi‑Fi
Une alternative économique et efficace avec l’ESP32
- Choix de l’ESP32 pour son Wi‑Fi et son Bluetooth intégrés, sa faible consommation, son prix bas et sa petite taille
- Réécriture du code de collecte de données en C++ et collecte via des fonctions Cloudflare et la base de données D1
Déploiement des appareils de collecte de données et obstacles surmontés
- Mise en œuvre d’un hash set pour résoudre les problèmes de mémoire et les plantages des appareils ESP32
- Choix des appareils XIAO ESP32C3/S3 pour un fonctionnement stable sur la durée
Collecte finale des données et prévision de séries temporelles
- Une journée de collecte de données a permis d’identifier les tendances de déplacement de population liées aux changements d’horaires de cours
- Utilisation de NeuralProphet pour la prévision de séries temporelles
Considérations supplémentaires et travaux futurs
- Exploration de moyens d’améliorer la précision de l’utilisation du nombre de balises BLE comme indicateur de population
- Réflexion sur une extension future à des cas d’usage pour des comités universitaires ou à la recherche académique
L’avis de GN⁺
L’essentiel de cet article est le partage d’une expérience de développement d’une solution logicielle permettant de collecter et d’analyser des données de détection de présence sur un campus universitaire à l’aide d’appareils ESP32 peu coûteux et d’une base de données serverless. L’article peut intéresser les personnes curieuses de software engineering, et fournit des informations utiles en particulier aux ingénieurs logiciels débutants intéressés par les systèmes embarqués et l’analyse de données.
1 commentaires
Avis sur Hacker News