Toto je starší verze dokumentu!
Akční člen (aktuator) / 433 MHz gateway
ATTINY + prijimac 433 MHz + alkalicka baterka (burty) + ESP-01. Program v ATTINY obsahuje lokalni ridici logiku, ktera reaguje na prichozi komunikaci po 433 MHz nebo ESP-01. Pokud neni aktivni hra, prijimac je odpojen a ESP-01 spi a probouzi se v pravidelnych intervalech (cca jednou za 10 minut), aby zjistil, jestli v okoli neni definovana WIFI sit (specifickeho jmena) nebo neni aktivni centrala. V prubehu hry je ATTINY stale na prijmu na 433 MHz a ESP-01 vetsinou spi. Pokud prijme zpravu na 433 MHz, ktera je od jednoho z cidel, probudi si ESP-01 (pokud zprava neni kriticka, muze vyckat par sekund, jestli zprav neprijde vice) a po ESPNow tuto zpravu preposle ridici jednotce, pripadne synchronizuje stav, je-li to potreba a ESP-01 se zase uspi.
Prepinani mezi debug / release rezimem
ESP-01 muze byt v rezimu debug, kdy je aktivni WIFI a ESP se neuspava anebo v rezimu produkce, kdy se po kazde komunikaci s centralou ESP uspi.
ESP se uspava aktivne sama (ESP.deepsleep), kdyz dostane od centraly nebo pres RF 433 zadost o uspani - prikaz 11 (viz nize). Stejne tak centrala nebo AVR muze pozadat ESP o zapnuti debug rezimu (prikaz 10).
Bezna komunikace v produkci tedy probiha takto:
- AVR posle do ESP informaci pro centralu
- ESP zpravu obdrzi po 1-wire a odesle ji pres ESPNow do centraly
- ESP si pocka na odpoved od centraly, ktera muze obsahovat prikaz (viz nize) v mem[9] v produkci dostane zadost o uspani 11
- ESP se uspi a ceka na dalsi probuzeni od AVR
Pokud je na centrale aktivni MQTT, lze snadno prepinat mezi rezimem debug / release zaslanim MQTT zpravy do centraly, ktera po dalsi komunikaci vyhlasi stav debug nebo release.
Pozor: pri nutnosti preprogramovani ESP-01 je potreba nejprve do AVR bud nahrat v debug rezimu prazdny program nebo prepnout debug rezim i u AVR (lze jen pokud ma RF 433 MHz prijimac), aby nedoslo v prubehu nahravani k jeho preruseni z duvodu zadosti o komunikaci s centralou - ESP v dobe nahravani nekomunikuje, coz AVR vyhodnoti jako deepsleep a provede Reset ESP-01. Pri caste komunikaci se nemusi stihnout program v ESP-01 prehrat.
Komunikacni protokol - prikazy aktorum po RF 433 MHz
mem[9] - typ zpravy:
- 1 - resetuje ESP-01, pokud uz nebezi
- 2 - resetuje ESP-01 vzdy
- 3 - zapni WIFI na pripojene ESP-01
- 4 - vypni WIFI, ale nech aktivni ESPNow
- 5 - ESP-01 aktivuj deep sleep
- 6 - odesli aktualni stav pameti mem do centraly
- 10 - prepni rezim na debug
- 11 - prepni rezim na release a uspi ESP
mem[11] - mem[18] - preposlani zpravy, ktera prisla po 433 MHz do centraly spolu s prikazem mem[9]=6 nebo 7
