Náplň predmetu
Spoznajte svet inteligentných technológií od základov až po profesionálnu úroveň. V tomto kurze začneme obľúbeným systémom Home Assistant, no rýchlo sa posunieme k vývoju vlastných zariadení s ESP32 v jazyku MicroPython. Naučíme sa budovať robustné IoT servery v prostredí Docker, ovládať komunikáciu cez protokol MQTT, prepájať jednotlivé prvky systému cez Node-RED a vytvárať vizuálne dashboardy v Grafane. Od programovania senzorov cez zabezpečenie serverov až po siete BLE a LoRa -– získate praktické zručnosti potrebné prena tvorbu moderných smart ekosystémov zajtrajška.
V prvej časti tohto kurzu si najprv predstavíme „hotové“ smart technológie, no postupne sa naučíme vytvárať vlastné zariadenia. Prepojíme svet počítačov s elektronikou, sieťami a programovaním. Naším hlavným nástrojom bude šikovné kompaktné zariadenie M5StickC Plus. Jeho srdcom je v súčasnosti už najpopulárnejší mikrokontrolér ESP32 s Wi-Fi, doplnený množstvomo vstavanýchvstavané prvkovprvky -ako tlačidlá, displej, akcelerometer, bzučiak, LED,LED či hodiny reálneho času. Má vlastnú batériu a umožňuje pripojiť aj mnoho externých vstupných i výstupných doplnkov, s ktorými sa v priebehu roka zabavíme. Samozrejme, všetko pripojíme k internetu a získané údaje budeme odosielať na náš server.
Podrobnejšia náplň jednotlivých kapitol 1. časti
1. Smart technológie a Internet vecí -– Ponoríme sa do problematiky z hľadiska bežného používateľa. Na reálnych ukážkach si predstavíme open-source systém domácej automatizácie Home Assistant. Na pripravenom serveri (ktorým môže byť aj malý jednodoskový počítač) si predvedieme komerčné zariadenia využívajúce protokol Zigbee -– senzory teploty, pohybu a prítomnosti človeka, tlačidlá, ale aj ovládateľné zariadenia ako je (smart zásuvka.zásuvku). Následne sa zoznámime so zariadeniami pripojenými cez Bluetooth Low Energy (BLE) -– ači to ajuž zakúpenými, ajalebo vyrobenými -– používajúcimi otvorený formát BTHome. Budeme z nich zbierať údaje a pozorovať grafy -– každý už na svojom vlastnom serveri s Home Assistant. Vyskúšame si aj platformu ESPHome na rýchlu prípravu vlastných zariadení s ESP32 bez zložitého programovania a vyskúšame sitiež automatizáciu -– reakciu na stlačenie tlačidla,tlačidla či zmenu teploty, ovládanie intenzity a farby svetla. vV závere si zhrnieme teoretický prehľad technológií internetu vecí.
2. Programovanie mikrokontroléra s MicroPythonMicroPythonom -– Touto kapitolou sa začína skutočný vývoj vlastného zariadenia. Predstavíme si najpopulárnejší mikrokontrolér ESP32 v rôznych podobách, do ktorého nahráme programovacífirmvér jazykpre MicroPython, aby sme ho mohli pohodlne a rýchlo programovať. Zoznámime sa so šikovným kompaktným zariadením M5StickC Plus a vytvorí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šenieprerušenia a časovač,časovače, vytvárať vlastné triedy a knižnice.
3. Vnútorné vybavenie M5Stick -– Využijeme potenciál nášho šikovného zariadenia naplno. Naučíme sa písať text a kresliť grafiku na displej, pracovať s hodinami reálneho času (RTC) a pripojíme sa na Wi-Fi. PreNa komunikáciu využijeme protokol MQTT, čo je štandard vo svete IoT. Pomocou zabudovaného akcelerometra zariadime nielen automatické otáčanie displeja, ale budeme sa venovať aj väčšiemu projektu -– vytvoríme cyklopočítač. Ten umiestnime na bicykel,koleso bicykla, aby mohol sledovať jeho otáčanie kolesa a údaje posielať na server. V reálnom čase tak budeme môcť sledovať rýchlosť a dodatočne na grafe analyzovať zrýchlenia na každej z 3 osí.
4. VonkajšieExterné senzory M5Stick -– Možnosti nášho zariadenia rozšírime rôznymi externými modulmi. Zoznámime sa so sériovými rozhraniami -– digitálnymi zbernicami, predovšetkým so zbernicou I²C. Pohráme sa so senzorom svetla, laserovým a ultrazvukovým senzorom zmeriame vzdialenosti a budeme sledovať meteorologické údaje o vzduchu (teplotu, vlhkosť, tlak,tlak či znečistenie). Využitím A/D prevodníka vyskúšame aj analógové senzory. Postupne si vyrobíme rôzne merače, ktoré namerané hodnoty zobrazujú na displeji alebo posielajú na server,server. ktorýTen ich zobrazuje aúdaje ukladá do časozbernej databázydatabázy, vytvorenej pre spolužiakov z predmetu Databázové systémy, prena následné vytváranie grafov vo vizualizačnom systéme Grafana.