2 points par GN⁺ 2023-11-14 | 1 commentaires | Partager sur WhatsApp

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

 
GN⁺ 2023-11-14
Avis sur Hacker News
    • Partage d'expérience sur la création d'une entreprise
    • En tant que personne ayant créé une entreprise basée sur la technologie des balises BLE (occuspace.io), apporte des réponses aux questions soulevées
    • La précision de la mesure du taux d'occupation via le nombre de balises BLE montre une corrélation très élevée, mais le coefficient de corrélation varie selon le lieu
    • La précision de la mesure du temps de présence via la durée de disponibilité des balises BLE est jugée insuffisante, car selon le fabricant, l'adresse MAC BT change toutes les 8 à 20 minutes
    • Mentionne qu'il s'agit d'une bonne idée pour améliorer la précision de définir une valeur minimale de RSSI afin de ne compter que les appareils réellement proches
    • Retour d'expérience sur les systèmes informatiques universitaires
    • Mentionne qu'autrefois, faire inscrire une adresse MAC sur liste blanche à l'université était un processus fastidieux passant par plusieurs services et formulaires, tout en espérant que la situation se soit améliorée aujourd'hui
    • Partage de résultats de tests matériels
    • Après avoir testé divers matériels (Seeed Studio XIAO ESP32S3/C3, WaveShare ESP32S3 Zero, etc.), seuls les XIAO ESP32C3/S3 ont fonctionné de manière stable pendant plus d'un mois
    • Recommande d'ajouter un condensateur de forte capacité sur le rail d'alimentation des ESP32, ce qui aide à améliorer la stabilité d'un matériel sensible à l'alimentation électrique
    • Importance de conserver sa motivation
    • Commentaire humoristique sur l'importance de ne pas perdre sa motivation dans une situation de type « nerd snipe »
    • Partage d'expérience sur un projet personnel
    • Partage l'expérience de fabrication d'un réveil avec un ESP32, incluant une matrice de LED, un buzzer et un capteur PIR
    • Découverte supplémentaire : le journal RSSI permettait de savoir si la personne était dans son lit et si elle changeait de position pendant la nuit
    • Question sur la « productisation » d'un projet ESP32
    • Question sur la manière de donner à un projet ESP32 l'apparence d'un véritable produit, en mentionnant qu'en tant que développeur logiciel, il y a une préférence pour les objets à la finition complète
    • Points à considérer lors de la réalisation d'un projet à l'université
    • Pour un projet universitaire impliquant le suivi de personnes, cela peut être l'occasion de demander des conseils sur les protocoles de recherche impliquant des sujets humains ; il est recommandé de consulter son professeur
    • Mention des politiques universitaires de protection de la vie privée et de sécurité informatique
    • Proposition de solution pour la gestion mémoire des données
    • Comme solution au problème consistant à conserver les données en mémoire, proposition d'utiliser un algorithme d'estimation de cardinalité permettant d'estimer le nombre d'identifiants de balises uniques tout en utilisant un espace constant
    • Partage d'expérience sur un projet similaire
    • Partage d'une expérience personnelle indiquant avoir mené un projet similaire il y a quelques années
    • Conseils pour rédiger un billet de blog
    • Conseil selon lequel inclure des références dans un billet de blog peut être utile pour aider les lecteurs à mieux comprendre