Uživatelské nástroje

Nástroje pro tento web


centrala

Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

Obě strany předchozí revizePředchozí verze
Následující verze
Předchozí verze
centrala [2021/09/21 09:11] – [Centrální řídící jednotka stanoviště] martincentrala [2021/10/07 18:08] (aktuální) – [Centrála s řízením v NodeRed] martin
Řádek 13: Řádek 13:
 Hardware pro řídící jednotku stanoviště je také otevřeně k dispozici. Je postaven na čipu ESP32 s připojenou větší baterii a solárním panelem, protože tento čip na rozdíl od čidel a reakčních prvků musí pracovat po celou dobu hry (přesněji po většinu doby hry, jak bude popsáno dále prediktivní modely strojového učení umožní z historie průběhů hry automaticky určovat očekávanou dobu příští komunikace pro aktuální stav hry a tedy i tento čip bude možné uspávat a šetřit tak energii i v průbehu hry). Hardware pro řídící jednotku stanoviště je také otevřeně k dispozici. Je postaven na čipu ESP32 s připojenou větší baterii a solárním panelem, protože tento čip na rozdíl od čidel a reakčních prvků musí pracovat po celou dobu hry (přesněji po většinu doby hry, jak bude popsáno dále prediktivní modely strojového učení umožní z historie průběhů hry automaticky určovat očekávanou dobu příští komunikace pro aktuální stav hry a tedy i tento čip bude možné uspávat a šetřit tak energii i v průbehu hry).
  
 +Možné implementace centrály:
 +
 +   * "Odlehčená" centrála implementovaná na AVR. K aktuátoru se přidá vysíláč na RF 433 MHz a řídící logika se může naimplementovat přímo v AVR. Nevýhoda je absence logování a složitá komunikace s mobilem hráče (přes ESP01)
 +   * Centrála s řídící logikou v Pythonu na ESP32. Lze využít i v kurzech programování např. k výuce OOP na školách
 +   * Řídící logika stanoviště řízená vzdáleně přes MQTT server, např. s implementací v NodeRed
 ===== Centrala s micropythonem ===== ===== Centrala s micropythonem =====
  
Řádek 23: Řádek 28:
 ESP-IDF je postavene nad Pythonem a v adresari stazeneho gitu staci spustit virtualni prostredi skriptem ''. ./export.sh''. ESP-IDF je postavene nad Pythonem a v adresari stazeneho gitu staci spustit virtualni prostredi skriptem ''. ./export.sh''.
  
-S takto nastavenym shellem uz je mozne snadno prelozit port MicroPythonu podle README a vygenerovany firmware nahrat pres seriovy port do ESP32.+https://github.com/micropython/micropython 
 + 
 +Postup instalace: 
 + 
 +<code> 
 +# Stahneme vyvojove prostredi pro ESP32 
 +git clone -b v4.2 --recursive https://github.com/espressif/esp-idf.git 
 + 
 +# spustime instalacni skript, ktery stahne nastroje na kompilaci do ~/.esspresif 
 +# Pozor: pred instalaci muze byt potreba, aby "python" "pip" spousteli aktualni python3 
 +cd esp-idf 
 +./install.sh 
 + 
 +# Stahneme Micropython s rozsirenim espnow, ktere zatim neni soucasti master vetve 
 +git clone https://github.com/glenn20/micropython.git 
 + 
 +# Checkout do vetve s cerstvym kodem espnow 
 +git checkout espnow-g20 
 + 
 +# Provedeme rebase na aktualni master puvodniho projektu https://github.com/micropython/micropython 
 +git remote add origo https://github.com/micropython/micropython 
 +git fetch origo 
 +BASEHASH=`git merge-base espnow-g20 origo/master` 
 +git rebase -i ${BASEHASH} 
 + 
 +# Pripravime si kontext pro preklad 
 +cd esp-idf 
 +. ./export.sh 
 + 
 +cd micropython 
 +# Prelozime lokalni kompilator mpy souboru 
 +cd mpy-cross 
 +make 
 + 
 +# Do adresare ports/esp32/modules pridame modul mqtt.py 
 + 
 +# a nakonec prelozime port esp32 
 +cd ../ports/esp32 
 +make submodules 
 +make 
 + 
 +# Flashneme vygenerovany firmware 
 +make erase 
 +make deploy 
 + 
 +# Uploadneme boot.py 
 +esp32python/upload-ampy.sh 
 + 
 +# Spustit fw server 
 +esp32python/fw_server.sh 
 + 
 +# instalace knihoven 
 +picocom -b 115200 /dev/ttyUSB0 
 +import upip 
 +upip.install("shutil"
 +upip.install("urequests"
 +import machine 
 +machine.reset() 
 + 
 +</code>
  
 Nasledne nastrojem ''ampy'' staci poprve nahrat soubory boot.py a dalsi, ktere se automaticky spousti po restartu. Nasledne uz je jsou tyto python soubory aktualizovany automaticky pri kazdem restartu z definovaneho serveru. Nasledne nastrojem ''ampy'' staci poprve nahrat soubory boot.py a dalsi, ktere se automaticky spousti po restartu. Nasledne uz je jsou tyto python soubory aktualizovany automaticky pri kazdem restartu z definovaneho serveru.
Řádek 97: Řádek 161:
 V ESPNow komunikaci bude vyplnena adresa senzoru i aktoru, ktery zpravu preposila. V ESPNow komunikaci bude vyplnena adresa senzoru i aktoru, ktery zpravu preposila.
  
-===== Powerbanka =====+===== Centrála s řízením v NodeRed ===== 
 + 
 +V případě, že je během hry dostupný přístup k Internetu, např. přes mobilní připojení hráče, je možné hru ovládat i vzdáleně pres NodeRed někde na serveru. Události z centrály jsou zasílány via MQTT do NodeRed a NodeRed přes MQTT posílá přes centrálu příkazy aktuátorům na stanovišti. 
 + 
 +Pripojeni k Internetu lze pridat k ESP32 napr. i pomoci [[https://www.aliexpress.com/item/4001340742257.html?aem_p4p_detail=202110021556561724529338637300020932292&aff_fcid=e2ac983b5c4b4d0382973162d810a87b-1633215432220-05902-_ePNSNV&aff_fsk=_ePNSNV&algo_exp_id=e032d462-275b-4581-a354-3742c6b4bc67-1&algo_pvid=e032d462-275b-4581-a354-3742c6b4bc67&pdp_ext_f=%7B%22sku_id%22%3A%2210000015738305563%22%7D&spm=a2g0o.productlist.0.0.4f792f45kQ3aaU&af=1011933&afref=&cv=47843&dp=2ba0393ad27f6a957abecd7ffe5c795f&mall_affr=pr3&utm_campaign=1011933&utm_content=47843&utm_medium=cpa&utm_source=admitad&aff_fcid=9b8f44a44f4947eaac2c7069d3c7ff24-1633253535983-02284-_ePNSNV&aff_fsk=_ePNSNV&aff_platform=portals-tool&sk=_ePNSNV&aff_trace_key=9b8f44a44f4947eaac2c7069d3c7ff24-1633253535983-02284-_ePNSNV&terminal_id=63b0291d05e04be2984f86c29c246da2|SIM800L]] 
 + 
 +Ukazka rizeni v NodeRed: 
 + 
 +{{ :nodered-centrala-ukazka.png?600 |}} 
 + 
 +Vyhodou je take moznost vzdalene ovlivnit prubeh hry operatorem / tvurcem hry. 
 +===== Řešení napájení ===== 
 + 
 +==== Akumulátor 6V ==== 
 + 
 +Nejjednoduší je napájení centrály olověným akumulátorem, např. [[https://www.emos.cz/bezudrzbovy-oloveny-akumulator-6-v-7-ah-faston-4-7-mm|Bezúdržbový olověný akumulátor 6 V/7 Ah Emos]] s přidaným lineárním regulátorem na 3.3 V, např. HT7333. 
 + 
 + 
 +==== Powerbanka ====
  
 Kdyz pracuje ESP32 "na plny vykon" vcetne WIFI a prijimace RF 433, tak udrzi powerbanku pustenou - je to dostatecny odber. Jakmile se ale vypne radio, dlouho neprobiha prijem zprav na RF 433 MHz nebo se dokonce aktivuje deepsleep, tak po 20s vypne. Kdyz pracuje ESP32 "na plny vykon" vcetne WIFI a prijimace RF 433, tak udrzi powerbanku pustenou - je to dostatecny odber. Jakmile se ale vypne radio, dlouho neprobiha prijem zprav na RF 433 MHz nebo se dokonce aktivuje deepsleep, tak po 20s vypne.
centrala.1632208306.txt.gz · Poslední úprava: autor: martin

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki