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.
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.
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.
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.
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.