Deska ESP-32

Nákup

Desku ESP-32S můžete koupit asi za 130 Kč na ebay.com nebo na aliexpress.com z Číny, anebo zhruba za dvojnásobek v českých online obchodech. Objednávky z Číny mají obvykle dodací lhůtu zhruba měsíc a nedostanete k nim fakturu, ale dokud cena nepřesáhne 150 Euro, není potřeba platit clo a doplácet DPH.

Ve školních podmínkách může být praktičtější nákup přes Ebay například z Německa, protože dodací lhůta je zhruba týden, cena je okolo 150 Kč a clo ani daň nehrozí.

Poslední možnost je nákup z některého online obchodu v Česku. Při troše štěstí může dodání být do druhého dne, ale cena bývá kolem 250 Kč.

Při objednávání desek pro třídu se určitě budou hodit 2 až 4 jako záloha – jde sice o odolnou elektroniku, ale na vynalézavost studentů to nemusí stačit.

Firmware

Desku ESP-32 lze programovat různými způsoby. Pro výuku volíme Javascript, protože je docela jednoduchý a bude nám užitečný v mnoha dalších situacích, například při psaní webových stránek. Prostředí pro Javascript není na desce od výroby – je potřeba stáhnout a nainstalovat firmware Espruino.

Firmware stačí na každou desku nainstalovat jen jednou po nákupu. Jde o technicky náročný postup, který studenti patrně nezvládnou – pokud některý krok návodu selže, je potřeba skutečné porozumění tématu, abychom dovedli chybu opravit. Návod k instalaci je na oddělené stránce.

Připojení k počítači

Na Windows nejdřív musíte nainstalovat ovladač USB UART z webu silabs.com, aby počítač vůbec s deskou dovedl komunikovat.

Pro samotné programování používáme rozšíření prohlížeče Chrome, které jde stáhnout z Chrome Web Store. (Podle jména ho není možné najít, musíte použít tento odkaz.)

Pozor: můžete také najít doporučení k online prostředí. Online prostředí vypadá stejně jako Chrome aplikace, ale nezvládá připojení přes USB a pro desky ESP32 je tedy nepoužitelné.

Prostředí pak otevřeme v prohlížeči z nabídky Apps jako Espruino IDE. Aby se deska připojila, musíme v nastavení (zubaté kolečko vpravo nahoře) v oddělení Communications přepnout Baud Rate na 115200.

První pokusy

Tlačítkem Connect/Disconnect vlevo nahoře navážeme spojení s deskou. Pokud vyskočí červená chybová hláška, spojení neproběhlo v pořádku – zkuste desku odpojit z USB a znovu připojit.

V levém panelu můžeme spouštět příkazy okamžitě, řádek po řádku. Zkusme tam třeba napsat:

digitalWrite(2, true);

Ve chvíli, kdy zmáčkneme Enter, by se na desce měla rozsvítit modrá dioda. Napíšeme znovu totéž s drobnou obměnou, aby dioda zhasla:

digitalWrite(2, false);

Na pravé straně jde psát delší programy. Smažeme kód, který je tam napsaný od výroby, a nakopírujeme místo něj následující dva řádky:

for (var i = 0; i < 10000; i += 1) 
    digitalWrite(2, (i % 1000) < 500);

Aby se program spustil, musíme klepnout na tlačítko "Send to Espruino" uprostřed. Dioda by měla desetkrát bliknout a pak zůstat zhasnutá.

Nahráli jsme první program a můžeme si s ním hrát. Všechna čísla a matematická znaménka můžeme namátkově měnit a sledovat, co program udělá. Možnosti jsou vlastně tři:

Každopádně se nemusíme bát, tímhle způsobem desku zničit nejde. Je možné leda napsat program, na kterém deska zamrzne. Kdyby přestala reagovat, prostě ji odpojte a připojte znovu, aby se program přerušil. Pak můžete pokračovat.

Řešení chyb

Levnější USB kabely slouží jen k nabíjení, nejsou schopné přenášet data. Takový kabel nejde k programování použít. Funkčnost kabelu můžeme ověřit třeba, zda přes něj připojit k počítači telefon a kopírovat soubory.

Pokud nepřepneme v nastavení Baud Rate na 115200, deska se sice nechá připojit, ale okamžitě vypíše červenou chybovou hlášku. Text v konzoli bude připomínat rozsypaný čaj.

Je možné, že po chvíli hraní s námi deska přestane mluvit a nepůjde na ni nahrát žádný program. Nejspíš jsme zadali desce nějaký příkaz, který se zpracovává příliš dlouho, anebo který neskončí vůbec. Mělo by pomoct desku odpojit a při opětovném připojování držet tlačítko BOOT, pokud na desce nějaké takové tlačítko je. Pokud všechny snahy selžou, zkuste znovu nahrát firmware.