Mise en communication d'un nombre indéfini d'ESP32 avec ESPnow

Bonjour je reviens vers vous ! (ce sujet fait suite à mon sujet que j'ai mis en parenthèse ici : Créer un testeur de continuité particulier - #38 by jef59)

Pour résumer : on m'a conseiller ESP32 et ESP-now pour un projet et je veut faire quelques test pour me familiariser avec la carte et le protocole avant de revenir à mon projet en étant plus éclairé ^^)

j'ai pu me procurer du matériel pour mes test !
j'ai à ma disposition 17 ESP32 WROOM CH340 et pour chacune un DEVKIT V1
J'ai aussi 14 capteurs BME280/BMP280
et 17 écrans Oled 128*64px I2C
(de l'empreint mdr j'ai pas tout acheté, sinon ça fait cher le test)

j'essaye de faire des mini test de projets avec ESP32 pour me familiariser avec ESP32 et ESPnow. J'ai cru comprendre que avec ESPnow, on pouvais connecter uniquement 10 machine en Many to One ou en One to Many.

Je voulais savoir si un tel schéma est possible :

je fais juste le test où j'ai 1 capteur de température, pression et humidité sur mes différentes cartes A.1, A.2, A.3..., B.7
Chaque cartes A.X communiquent avec leurs maitre (many to one) pareil pour les B
et A et B communiquent (many to one) avec leur carte cheffe. celle ci gère en wifi un serveur où on peut visualiser les différentes valeurs.

j'ai regardé ces différent tutos :
ESP-NOW Two-Way Communication Between ESP32 Boards | Random Nerd Tutorials
ESP-NOW: Receive Data from Multiple ESP32 Boards (many-to-one) | Random Nerd Tutorials
ESP-NOW with ESP32: Send Data to Multiple Boards (one-to-many) | Random Nerd Tutorials
ESP32: ESP-NOW and Wi-Fi Web Server Dashboard (Arduino) | Random Nerd Tutorials
ESP-NOW [Yakafab]
(je me suis aidé de ceci)

Je voulais juste rechercher la faisabilité de la chose, cela rendrais intéressant ESPnow pour faire communiquer un nombre "infini" de cartes entre elles.

Un fois bien familiariser avec ESPnow je reviendrais sur mon idée de projet de testeur bizarre ^^

Merci d'avance
bonne journée et A+

Bonjour louisjaffeux

Sujet for intéressant :wink:

ESP-Now a l'air pas mal pour ça, j'ai fait des essais concluants, mais en communication peer to peer.
Je vais faire des essais en One to Many en m'inspirant de ChatGPT.

A+
cordialement
jpbbricole

Merci ^^

sur ce lien : ESP-NOW [Yakafab]
il y est dit :

Il est possible de chiffrer les communications, et de mélanger des communications chiffrées ou non dans un même réseau. Le nombre de modules doit rester en dessous de 10 lorsque l'on utilise le chiffrement et 20 lorsque l'on échange en clair.

hors avec cette méthode si on rajoute un N+1 on peut faire des puissance de neuf, ici avec ce système on pourrait avoir :
18 cartes avec A et B, si on à : [A; B; C; D; E; F; G; H; I] 9 cartes pour garder avec le grand chef on peut avoir 81 cartes, si on rajoute une branche 729 cartes, si on en rajoute encore une, 6521...etc, c'est infini en théorie ? (hors mémoire max du grand chef)

je parle de chef car j'imagine ceci comme un diagramme d'entreprise, ici un chef qui pilote 2 sous chef qui eux travaillent avec max 9 agents (pour pas dépasser 10)

je sais pas si j'arrive à bien expliquer...

j'ai trouvé ceci aussi :

ça s'en rapproche aussi

Bonjour louisjaffeux

Oui.
Je suis entrain de tester un réseau ESP-NOW, j'ai des questions quant à tes besoins.
Est ce que le master doit envoyer un ordre au slave et attendre son retour ou, depuis le master on scanne automatiquement tout les ports des slaves?

A+
Bonne journée
jpbbricole

Je n'ai pas de prérequis ou quoi que ce soit comme besoin.
C'est de la masturbation intellectuel en m'amusant avec ESP-now, ainsi je peux comprendre chaque détail de ESP-now et l'appliquer ensuite à mon autre projet, on va dire que mes simples besoin ici c'est :

j'ai plusieurs cartes avec un capteur de température.
formation de réseaux et sous réseaux
et voir le tout via une interface téléphone par exemple ou via port série

Je vois bien la chose avec :
j'écris une commande type all/ et j'ai ensuite toutes les infos des cartes qui me reviennent.
si j'écris A.1/ ou B.4 j'ai la carte demandé qui me renvoie l'info de on capteur

Bonjour louisjaffeux

C'est une excellente raison :wink:

Pour ma part, j'ai découvert ESP-NOW que récemment et je trouve ça très, très intéressant.
Je vais essayer de faite un réseau One to Many.
Je te tiens au courant.

Bonne journée
jpbbricole

je fais encore quelques test aussi de mon côté de one-to-many et en many-to-one
j'essaye de comprendre chaque ligne que j'écris et j'adapte avec ce que j'ai.
puis je ferais quelques test de réseaux aussi ^^

Bonjour louisjaffeux

Je me suis « amusé à l’exercice », avec 4 ESP32-Wroom.

Communications oneToMany manyToOne.
Un ESP est le principal (MAIN)
Les autres ESP sont les PEERs (PE1, PE2 et PE3)
Le main se compose d’un affichage OLED 128x64.
Un PEER se compose d’un affichage OLED 128x64, d’un potentiomètre qui simule le capteur, d’un commutateur binaire 4 bits et d’une LED (WS2812) pour de la signalisation.


L’affichage du MAIN :

Indique de quel PEER sont affichées les données, la valeur binaire et la valeur analogique. Il est aisé d'ajouter d'autres valeurs à lire sur un PEER ou des commandes à y envoyer depuis MAIN.

Indique que le PEER PE1 est offline.

Les PEERs sont interrogés périodiquement.

Depuis le MAIN il peut être envoyé des commandes à un PEER, comme allumer la LED du PE1 en vert :
PE1>LED2
ou l'éteindre:
PE1>LED0
Pour sélectionner quel PEER affiche ses données sur l’affichage du MAIN, PE2 par exemple :
SELPE2
Ces commandes s’introduisent depuis la ligne de commandes du moniteur à 115200 :

J’ai fait tour ceci, dans la même optique que toi :wink:

Mais, si le code t’intéresse…

Prochaine étape intégrer ceci:

A+

Bonne après-midi
jpbbricole