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