
IoT prakticky: Python na ESP32 VI – webový server
V šiestom pokračovaní seriálu budeme WiFi mikrokontrolér ESP 32 využívať ako webový server, ku ktorému sa dá pripojiť cez prehliadač webového obsahu. Mikrokontrolér bude môcť generovať webové stránky s požadovanými údajmi, napríklad s výsledkami merania, prípadne môže cez webové rozhrania prijímať vstupy od používateľov. Napríklad keby mikrokontrolér ovládal inteligentnú domácnosť, mohli by ste cez webové rozhranie zistiť aktuálne parametre, napríklad teplotu, ktoré systémy sú zapnuté, protokol o prípadných poruchách a podobne. Prípadne by ste mohli takto na diaľku nejaký systém zapnúť, nastaviť teplotu, či rozsvietiť svetlo.
Príklady sú vo videu
V predchádzajúcej časti sme avizovali, že tento diel bude o ovládaní farebných LED diód, či už RGB, alebo diód typu NeoPixel, ktoré majú integrovaný čip a dajú sa zreťaziť. Dostali sme niekoľko mailov od začiatočníkov, aby sme fungovanie základných hardvérových komponentov ako sú tlačidlá, LED diódy, displeje popisovali podrobnejšie a ukázali ich ovládanie pomocou najrozšírenejších mikrokontrolérových dosiek. Preto, aby sme dokončili základný prehľad možností programovania ESP 32 v jazyku Micropython, zaraďujeme najskôr kapitolu o jeho fungovaní ako webového servera.
Využijeme knižnicu Octopus od českej firmy Octopuslab.cz. Inicializácia tejto knižnice je popísaná v štvrtej časti https://www.pcrevue.sk/a/IoT-prakticky--Python-na-ESP32-IV--kniznica-octopus-na-obsluhu-hardveru-a-komunikacie Knižnica obsahuje triedy funkcií na ovládanie rôzneho hardvéru a komunikačných rozhraní
Najskôr je potrebné inicializovať knižnicu Octopus
Následne je treba do pamäti zaviesť triedy knižnice Octopus potrebné na fungovanie wifi a webového servera
Inicializujeme pripojenie k WiFi a následne webový server
Vypíše sa priebeh inicializácie a IP adresa
Po zadaní IP adresy do webového prehliadača sa zobrazí hlavná stránka, ktorú vygeneroval webový server. V tomto prípade je na nej ponuka odkazov na ďalšie stránky. Ak nie je webový server pripojený do domény tak počítač, tablet, či smartfón, z ktorého sa k webovému serveru pripájate musí byť pripojený v tej istej sieti ako mikrokontrolér ESP 32
Zaujímavá je stránka je „Simple testing and control“ pomocou ktorej môžete ovládať pripojený hardvér, napríklad LED diódu priamo na doske
Vytvorenie webových stránok napríklad na ovládanie inteligentnej domácnosti a ich prepojenie na kód ovládajúci hardvér nie je úloha pre začiatočníka. Ale aj začiatočníci ocenia interaktívny editor s farebným rozlíšením syntaxe, pomocou ktorého môžete písať programový kód komfortnejšie ako cez konzolovú aplikáciu typu PuTTY.
V príklade je jednoduchý kód na načítanie údajov z hallovej sondy merajúcei intenzitu magnetického poľa, ktorá je integrovaná priamo na čipe ESP 32.
Pokiaľ by vás zaujímal zdrojový kód HTML stránok, nájdete ho na Githube na stránke https://github.com/octopusengine/octopuslab/tree/master/esp32-micropython/www
Na ilustráciu HTML kód domovskej stránky je

Ukážeme ešte fragment kódu zo zdrojového kódu knižnice Octopus na ovládanie LED diódy a farebnej diódy Neopixel
Celý zdrojový kód súboru je na https://github.com/octopusengine/octopuslab/blob/master/esp32-micropython/util/octopus.py?
Rekapitulácia seriálu
V prvej časti seriálu https://www.pcrevue.sk/a/IoT-prakticky--Python-na-ESP32--vyvojove-dosky--instalacia-Micropythonu sme predstavili vývojové dosky s ESP32 a ukázali postup, ako do vývojovej dosky nahrať interpreter programovacieho jazyka Python, konkrétne implementáciu Micropython od octopusLab.cz.
V druhej časti https://www.pcrevue.sk/a/IoT-prakticky--Python-na-ESP32--popis-portov-a-rozhrani sme predstavili piny rozhrania.
V tretej časti https://www.pcrevue.sk/a/IoT-prakticky--Python-na-ESP32-III--prve-pokusy-s-hardverom sme ukázali obsluhu vstupných a výstupných portov
V štvrtej časti https://www.pcrevue.sk/a/IoT-prakticky--Python-na-ESP32-IV--kniznica-octopus-na-obsluhu-hardveru-a-komunikacie je postup inštalácie a konfigurácie knižnice Octopus od českej firmy octopuslab.cz, ktorá obsahuje veľa funkcií na obsluhu hardvéru a komunikačných rozhraní.
V piatej časti https://www.pcrevue.sk/a/IoT-prakticky--Python-na-ESP32-V--E2-80-93-ovladanie-displejov-LED--LCD-a-OLED sme ukázali možnosti ovládania LED, LCD a OLED displejov.
Zobrazit Galériu