howto:arduino-esp:esp-now_compteurs

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
Dernière révisionLes deux révisions suivantes
howto:arduino-esp:esp-now_compteurs [2021/10/08 13:48] guillaumehowto:arduino-esp:esp-now_compteurs [2021/10/09 17:30] guillaume
Ligne 1: Ligne 1:
-Compteurs de public synchronisés +====== Compteurs de public synchronisés ====== 
-## Système de comptage distribué, sans fil pour les manifestations à jauge limitée+===== Système de comptage distribué, sans fil pour les manifestations à jauge limitée ===== 
 +[[https://framagit.org/Fablab_des_fabriques_Besancon/compteurspublicsync|Sources Framagit]]  
  
 {{:howto:arduino-esp:img_6639.jpg|}} {{:howto:arduino-esp:img_6639.jpg|}}
  
-### Contexte +==== Contexte ====
-À la demande d'une entreprise de régie événementielle, le fablab a été sollicité pour concevoir un système léger de comptage de public pour le festival Grandes Heures Natures. Le site comportant 3 entrées libres distantes de plusieurs centaines de mètres, la question était de pouvoir connaître en temps réél le nombre de personnes dans l'enceinte (pour répondre aux normes Covid en vigueur). Le système ainsi conçu a été partagé sous licence libre CC-BY-SA 4.0 et est proposé gracieusement en prêt à tout événement ayant lieu dans le Grand Besançon.+
  
-### Principe+À la demande d'une entreprise de régie événementielle, le fablab a été sollicité pour concevoir un système léger de comptage de public pour le festival Grandes Heures Natures. Le site comportant 3 entrées libres distantes de plusieurs centaines de mètres, la question était de pouvoir connaître en temps réel le nombre de personnes dans l'enceinte (pour répondre aux normes Covid en vigueur). Le système ainsi conçu a été partagé sous licence libre CC-BY-SA 4.0 et est proposé gracieusement en prêt à tout événement ayant lieu dans le Grand Besançon. 
 + 
 + 
 +---- 
 +{{glyphicon>gift}} **N'hésitez pas à solliciter le fablab (fablab@grandbesancon.fr) si ces compteurs peuvent vous être utile pour une manifestation publique dans le Grand Besançon: événement culturel, exposition, brocante... Le prêt est gratuit.**  
 +---- 
 + 
 + 
 +{{:howto:arduino-esp:compteurs_principe.png|}} 
 + 
 +==== Principe ====
 À chaque point d'entrée du public sur un site, une personne décompte à l'aide des deux boutons d'un boîtier les personnes entrant et les personnes sortant. Le sous-total (entrant - sortant) est envoyé à un module central. Ce module calcule en permanence le total à partir des informations collectées et envoie en retour la jauge sur site sur chaque boîtier. À chaque point d'entrée du public sur un site, une personne décompte à l'aide des deux boutons d'un boîtier les personnes entrant et les personnes sortant. Le sous-total (entrant - sortant) est envoyé à un module central. Ce module calcule en permanence le total à partir des informations collectées et envoie en retour la jauge sur site sur chaque boîtier.
 Les informations son transmises sans fil sur une distance d'environ 100 mètres en extérieur, il est donc possible d'utiliser le système sur un site de 200m de diamètre, en posant le module central au milieu. Très simple d'utilisation, le système garde en mémoire le total en cas de coupure intempestive ou de redémarrage. Les informations son transmises sans fil sur une distance d'environ 100 mètres en extérieur, il est donc possible d'utiliser le système sur un site de 200m de diamètre, en posant le module central au milieu. Très simple d'utilisation, le système garde en mémoire le total en cas de coupure intempestive ou de redémarrage.
  
-### Caractéristiques+==== Caractéristiques ====
    * Témoin de connexion.       * Témoin de connexion.   
    * En cas de déconnexion, les sous-totaux sont stockés jusqu'à ce qu'ils puissent être envoyés au module central.       * En cas de déconnexion, les sous-totaux sont stockés jusqu'à ce qu'ils puissent être envoyés au module central.   
Ligne 18: Ligne 29:
    * Le module central doit être branché sur secteur, mais une petite batterie permet de parer à une coupure temporaire.    * Le module central doit être branché sur secteur, mais une petite batterie permet de parer à une coupure temporaire.
  
-### Hardware+{{:howto:arduino-esp:img_6633.jpg?400|}}{{:howto:arduino-esp:img_6641.jpg?400|}} 
 + 
 +==== Hardware ====
 Le module central utilise un M5 Stack [1] basé sur le microcontrôleur ESP32: celui-ci offre la possibilité d'exploiter un écran confortable, des boutons intégrés, une petite batterie (même si ce nœud central a vocation à être branché au secteur). La carte SD que l'on peut y adjoindre permettra à terme de logger les informations de fréquentation, voire d'afficher des courbes en temps réel sur l'écran. Le module central utilise un M5 Stack [1] basé sur le microcontrôleur ESP32: celui-ci offre la possibilité d'exploiter un écran confortable, des boutons intégrés, une petite batterie (même si ce nœud central a vocation à être branché au secteur). La carte SD que l'on peut y adjoindre permettra à terme de logger les informations de fréquentation, voire d'afficher des courbes en temps réel sur l'écran.
 Les compteurs proprement dits sont basés sur les cartes TTGO ESP32 T-Display [2]. L'écran OLED couleur intégré et la gestion de la batterie font qu'il n'y a presque rien à ajouter pour finaliser le projet. Les deux boutons présents sur la carte auraient presque pu suffire, mais trop petits, ils ont été remplacés par des boutons du fabriquant Honeyone [3]. Les compteurs proprement dits sont basés sur les cartes TTGO ESP32 T-Display [2]. L'écran OLED couleur intégré et la gestion de la batterie font qu'il n'y a presque rien à ajouter pour finaliser le projet. Les deux boutons présents sur la carte auraient presque pu suffire, mais trop petits, ils ont été remplacés par des boutons du fabriquant Honeyone [3].
Ligne 25: Ligne 38:
    
  
-### Software+==== Software ====
 Nous utilisons le protocole de communication ESP-Now [5] développé par Espressif pour faire communiquer clients et nœud central. Idéal pour ce genre d'application, il permet en sus de s'assurer de la bonne transmission des informations (et à défaut de les garder en mémoire pour une seconde tentative). Seul inconvénient, il nécessite de rentrer en dur les adresses MAC des modules utilisés pour les appairer. Nous utilisons le protocole de communication ESP-Now [5] développé par Espressif pour faire communiquer clients et nœud central. Idéal pour ce genre d'application, il permet en sus de s'assurer de la bonne transmission des informations (et à défaut de les garder en mémoire pour une seconde tentative). Seul inconvénient, il nécessite de rentrer en dur les adresses MAC des modules utilisés pour les appairer.
 La gestion de l'affichage sur le M5 tire parti de la bibliothèque M5Stack disponible sur Github [6]. Sur les modules TTGO, nous utilisons TTGO-T-Display [7]. Pour stocker les informations dans l'EEPROM et les rendre résistantes aux redémarrages, nous utilisons <Preferences.h> [8]. La gestion de l'affichage sur le M5 tire parti de la bibliothèque M5Stack disponible sur Github [6]. Sur les modules TTGO, nous utilisons TTGO-T-Display [7]. Pour stocker les informations dans l'EEPROM et les rendre résistantes aux redémarrages, nous utilisons <Preferences.h> [8].
  
-### Améliorations en cours+[[howto:arduino-esp:esp-now|Le tutoriel ESP-NOW sur le wiki]]. 
 + 
 +==== Améliorations en cours ====
  
    * Affichage du nombre total de visiteurs    * Affichage du nombre total de visiteurs
Ligne 36: Ligne 51:
    * Ajout d'autres master pour augmenter la portée    * Ajout d'autres master pour augmenter la portée
  
-[1] https://m5stack.com/ +[1] https://m5stack.com/ \\  
-[2] http://www.lilygo.cn/prod_view.aspx?TypeId=50044&Id=1126&FId=t3:50044:+[2] http://www.lilygo.cn/prod_view.aspx?TypeId=50044&Id=1126&FId=t3:50044:\\  
-[3] http://www.honyone.com/en/products/list_42_1.html +[3] http://www.honyone.com/en/products/list_42_1.html \\  
-[4] Modèle 09-10201-02 https://www.farnell.com/datasheets/1683364.pdf +[4] Modèle 09-10201-02 https://www.farnell.com/datasheets/1683364.pdf \\  
-[5] https://www.espressif.com/en/products/software/esp-now/overview +[5] https://www.espressif.com/en/products/software/esp-now/overview \\  
-[6] https://github.com/m5stack/M5Stack +[6] https://github.com/m5stack/M5Stack \\  
-[7] https://github.com/Xinyuan-LilyGO/TTGO-T-Display +[7] https://github.com/Xinyuan-LilyGO/TTGO-T-Display \\  
-[8] https://randomnerdtutorials.com/esp32-save-data-permanently-preferences/+[8] https://randomnerdtutorials.com/esp32-save-data-permanently-preferences/ \\ 
  • howto/arduino-esp/esp-now_compteurs.txt
  • Dernière modification : 2021/10/09 17:30
  • de guillaume