ESP32 a ESP-NOW

Pavel Kutina hw na prelude.cz
Pondělí Únor 22 16:17:44 CET 2021


Zdravím,

nezkoušel si někdo hrát s ESP-NOW? Potřeboval bych rozchodit komunikace 
master-slave, i když nevím, jak se tomu říká akutálně správně - CEO a 
zaměstnanci? :)

Podle příkladů, co jsem kde našel, mi to jede - jeden nadřízený vydá povel, 
zaměstnanec rosvítí LEDku. vydá další povel, LEDka zhasne. Potud OK. Je 
fajn, že komunikace je plně duplexní s potvrzením stavu, takže CEO vidí, že 
to zaměstnanec přijal a něco dělá, stejně tak vidí že se zaměstnanec zrovna 
flákal na obědě a ještě si zprávu nepřečetl. Potud OK.

Já mám ale problém se spárováním - všechny příklady, co jsem našel, řeší 
párování při zahájení komunikace a to mi trvá kapku dlouho, kolem deseti 
vteřin. Potřebuju na masteru stiknout tlačítko a na slave sepnout relé, 
ideálně s latencí v řádu dejme tomu desítek milisekund. To jde, ale jen 
pokud proběhlo párování a předchozí otevření komunikačního kanálu, ale zase 
to na straně mastera žere zbytečně baterky (v klidu mám celý WiFi modul 
vypnutý a snženou frekvenci hodin), docela rád bych to startoval opravdu jen 
kolem toho sepnutí, resp. odeslání povelu. Slave bude napájený ze sítě, tam 
je mi to celkem jedno.

No a další drobnost, která souvisí - jestli to správně chápu, tak můžu pro 
odesílání použít broadcast na mac adresu 0xFF..., ale ať delám, co chci, 
strana slave to tiše ignoruje, reaguje jen na výzvu na své adrese. Posílám 
tutéž správu, mám dvě registrovaná spojení, jedna na 0xFF, druhá na reálnou 
mac a ta broadcastová se s ničím nespojí. Něco jsem blbě pochopil?

Moje původní vize byla, že si spustím mastera, tomu se na výzvu přes 
broadcast ozvou dva až tři slave, někam si uložíj jejich mac adresy. Až budu 
potřebovat, otevřu kanál pro kokrétního závisláka, tomu odešlu příkaz, zavřu 
kanál a vypnu celý WiFi modul. Nějak se mi nedaří vymyslet, jak by to mohlo 
jít.

Díky za každý kus inspirace...

Pavel Kutina 



Další informace o konferenci Hw-list