Náplň predmetu
Tento predmet sa zaoberá oblasťou, ktorá v aktuálnych rokoch zažíva ohromný rozmach. Aj bežné domáce spotrebiče sa stávajú inteligentnými a prostredníctvom počítačovej siete sú navzájom prepájané, ovládateľné a v spojení s mnohorakými senzormi môže byť ich činnosť automatizovaná.
V prvej časti tohto kurzu, po úvodnom predstavení si „hotových“ smart technológií, sa postupne naučíme vytvárať si jednoduché smart zariadenia aj sami. Prepojíme svet počítačov s elektronikou, počítačovými sieťami a s programovaním. Využijeme k tomu šikovné kompaktné zariadenie M5StickC Plus, ktorého srdcom je v súčasnosti už najpopulárnejší mikrokontrolér ESP32 s Wi-Fi, doplnený o rôzne zabudované vstupné a výstupné prvky - tlačidlá, akcelerometer, LED, displej, bzučiak, či hodiny reálneho času. Je vybavený malou batériou a umožňuje pripojiť aj mnoho ďalších externých vstupných, či výstupných doplnkov, s ktorými sa tiež zabavíme. Pripojíme sa, samozrejme, aj k internetu a získané údaje odošleme na náš server.
Podrobnejšia náplň jednotlivých kapitol 1. časti
1. Smart technológie a Internet vecí - Ponoríme do problematiky z hľadiska bežného domáceho používateľa a na reálnych ukážkach si predstavíme open-source projekt automatizácie inteligentnej domácnosti - Home Assistant. Na už nachystanom serveri (ktorým môže byť aj malý jednodoskový počítač) si predvedieme zariadenia pripojené cez Zigbee, ktoré je bežne možné zakúpiť. Jedná sa o rôzne senzory (teploty, pohybu a prítomnosti človeka, stlačenia tlačidla), ale aj ovládateľné zariadenia (elektrická zásuvka). Následne sa zoznámime so zariadeniami pripojenými cez Bluetooth Low Energy - a to aj zakúpenými, aj vyrobenými - špeciálne v otvorenom formáte BTHome. Budeme z nich zbierať údaje a pozorovať grafy - každý už na svojom vlastnom serveri s Home Assistant. Oboznámime sa s možnosťou jednoduchej prípravy vlastných zariadení s ESP32 cez ESPHome a vyskúšame si aj automatizáciu - reakciu na stlačenie tlačidla, či zmenu teploty, ovládanie intenzity a farby svetla. Po všetkých skúsenostiach sa v závere oboznámime s prehľadom technológií internetu vecí po teoretickej stránke.
2. Programovanie mikrokontroléra s MicroPython - Táto kapitola sa už zaoberá prípravou vlastného zariadenia. Predstavíme si najpopulárnejší mikrokontrolér ESP32 v rôznych podobách, dostaneme doň programovaní jazyk MicroPython, aby sme ho mohli pohodlne a rýchlo programovať. Zoznámime sa so šikovným kompaktným zariadením M5StickC Plus a spravíme programy reagujúce na vstupy (tlačidlá, senzor PIR) a ovládajúce výstupy (LED, bzučiak). Naučíme sa využívať prerušenia a časovač, vytvárať vlastné triedy a knižnice.
3. Vnútorné vybavenie M5Stick - Využijeme, čo nám naše šikovné zariadenie ponúka - naučíme sa pracovať s displejom (zobrazovať obrázky, kresliť útvary a písať texty), bežiacimi hodinami RTC, cez Wi-Fi sa pripojíme k sieti a budeme komunikovať cez MQTT. Pomocou zabudovaného akcelerometra zariadime nielen to, že sa bude zobrazenie na displeji automaticky otáčať, ale vyrobíme aj senzor otáčania kolesa, ktorý posiela údaje na server, umiestnime ho na bicykel a v reálnom čase budeme môcť sledovať rýchlosť a dodatočne na grafe analyzovať zrýchlenia na každej z 3 osí.
4. Vonkajšie senzory M5Stick - Možnosti nášho zariadenia rozšírime rôznymi externými modulmi. Pohráme sa so senzorom svetla, laserovým a ultrazvukovým senzorom zmeriame vzdialenosti, budeme sledovať meteorologické údaje vzduchu (teplotu, vlhkosť, tlak, či znečistenie) a využitím A/D prevodníka aj analógové senzory. Postupne si vyrobíme rôzne merače, ktoré namerané hodnoty zobrazujú na displeji alebo posielajú na server, ktorý ich zobrazuje a ukladá do časozbernej databázy spolužiakov z predmetu Databázové systémy pre vytváranie grafov v Grafana.