2.1 Predstavenie mikrokontroléra ESP32 a vývojových dosiek
V predošlej kapitole sme spoznali rôzne „hotové riešenia“ pre účely monitorovania, automatizácie a celkovo v oblasti smart domácnosti. Postupne sme sa dopracovali k tomu, že smart zariadenia si môžeme vyrobiť aj sami cez ESPHome. V tomto smere sa pohneme ešte ďalej a vlastné zariadenia budeme ovládať „úplne vlastným“ programom. Postupne sa však začne vynárať jedna nepríjemná otázka…
A oplatí sa vôbec vyrábať si vlastné zariadenia? 🤔
Výhoda je jasná - vieme si zostaviť akúkoľvek kombináciu mikrokontroléra, senzorov a výstupných prvkov. No úprimne treba priznať, že vlastné riešenia sú spravidla drahšie a dizajn zaostáva za vyšperkovanými komerčnými modelmi, nehovoriac a množstve času, ktorý do vlastného riešenia treba investovať.
Môžeme sú kúpiť hotové jednoduché smart zariadenie za cenu jedného obeda v reštaurácii, ktoré bude veľmi kompaktné, batéria v ňom vydrží aj viac ako rok a bude vyzerať veľmi moderne - alebo si takéto zariadenie môžeme vyrobiť sami, v takom prípade:
Tento zoznam pôsobí veľmi skepticky, ale…
Napriek objektívnej nevýhodnosti sa budeme zaoberať tvorbou vlastných smart zariadení, lebo to prináša zábavu pri tvorbe a experimentoch, radosť z objavovania princípov a uspokojivý pocit stvoriteľa niečoho vlastného! 🙂👍
Na tejto ceste sa stretneme s mikrokontrolérmi (MCU), vývojovými doskami i s kompaktnými komplexnými zariadeniami - možno v trochu inom poradí, ale poďme sa teda s nimi postupne zoznámiť.
Mikrokontrolér ESP32
V roku 2014 prišla na trh vývojová doska ESP-01 od spoločnosti AI Thinker, ktorá obsahovala nový mikrokontrolér ESP8266 od čínskej spoločnosti Espressif. Jedná sa o jednočipový počítač - SoC (System on Chip). Mal slúžiť ako jednoduchý Wi-Fi modul pre vtedy populárnu platformu Arduino. Dokumentáciu k tomuto novému MCU nebola spočiatku takmer žiadna, no ako sa postupom času sprístupňovala, mnohí vývojári pochopili, že ESP8266 nie je len doplnok, ale hravo prekoná možnosti Arduino, hoci stojí len zlomok ceny. A tak sa tento mikrokontrolér postupne stal veľmi populárnym, hoci v dnešnej dobe ho už nemožno odporúčať.



V roku 2016 spoločnosť Espressif predstavila nový, výrazne vylepšený model mikrokontroléra s názvom ESP32. V súčasnosti už existuje veľa rôznych modelov ESP32 a vzhľadom na veľkú obľúbenosť stále pribúdajú nové. „Klasický“ model ESP32 obsahuje na jedinom štvorcovom čipe veľkosti 5 až 7 mm:
Variantov čipu klasického ESP32 je viacero, medzi klasiku patrí ESP32-D0WD, ktorý obsahuje len základnú operačnú pamäť.

Niektoré vývojové dosky a zariadenia používajú priamo samotný čip, no väčšina využíva modul, ktorý pod kovovým krytom veľkosti približne 2×2 cm ukrýva samotný čip, externú flash pamäť (obvykle 4 MiB), prípadne aj externú operačnú pamäť (SPIRAM), kryštálový oscilátor a vyvedený je konektor pre anténu alebo je jednoduchá PCB anténa priamo na doske modulu. Klasickým modulom je ESP32-WROOM, no stretneme sa aj s ďalšími, napríklad:
Novšie modely ESP32
Okrem klasického mikrokontroléra sa môžeme stretnúť aj s novšími modelmi (sériami) SoC - tie majú všetky rozšírenú podporu kryptografie o HMAC a digitálny podpis (DSA) a ďalšie rozdiely:
Zakúpiť je už možné aj najnovšie modely SoC - pre tie však zatiaľ nie je dostupný MicroPython (čo sa časom iste zmení):
Vývojové dosky a komplexné kompaktné zariadenia
Práca s mikrokontrolérom v podobe samotného modulu, či dokonca čipu, by bola zbytočne komplikovaná, preto je praktickejšie využívať vývojové dosky - tie už majú vyvedené porty GPIO (v podobe pinov alebo konektorov) a tiež pomocný USB čip, ktorý umožňuje cez USB pripojenie vytvoriť sériový komunikačný port. Existuje veľa rôznych vývojových dosiek od mnohých výrobcov. Okrem klasických vývojových dosiek existujú aj mnohé špecializované, vybavené rôznymi doplnkami podľa ich určenia - nájsť môžeme vývojové dosky s displejom, dosky s výbavou pre spracovanie a reprodukciu zvuku, dosky so sadou relé a podobne.



obrázok: jedna z prvých vývojových dosiek s ESP32
obrázok: zariadenie M5StickC Plus s ESP32
Vývojové dosky sú výborné pre prototypy, no sú to „len dosky“, nie veľmi vzhľadné - pre praktický projekt je potrebné riešiť peknú krabičku a hlavne spoľahlivé spojenie s externými prvkami (senzory, displej a podobne). Pre prvotné zoznámenie sa s mikrokontrolérom sú výhodné praktické zariadenia v uzavretej krabičke s možnosťami rozšírení. Ťažko nájsť alebo vymyslieť nejaké ustálené pomenovanie, možno niečo ako „komplexné kompaktné zariadenie“ s MCU. 🙂 Týmto smerom sa zamerala napríklad spoločnosť M5Stack - ich produkt M5StickC Plus budeme využívať v tomto kurze, oproti bežným vývojovým doskám obsahuje navyše:
Ďalšie veľmi zaujímavé praktické zariadenia s ESP32 a rôzne príslušenstvo ponúkajú napríklad: