Jako letitý lektor DDM (Dům Dětí a Mládeže) Praha 9 v počítačových kroužcích zastřešuji ucelený systém počítačové gramotnosti kroužkem s nejvyšším IT odborností. Děti u nás začínají kolem 6-8 roku v kroužkách PC začátečník, pokračují přes PC pokročilý, programátoři až do našeho „výběrového“ kroužku. Tento kroužek má každý rok nějaký projekt/zaměření. Loni to byl autonomní robot řízený kombinací Arduino/RPi (Raspberry Pi). Pro letošní rok jsme zvolili pod tlakem okolí název Internet věcí – Raspberry Pi a Sense Hat.
Začínali jsme základní senzorikou SenseHAT, ale děti (věkově 13-19) si velmi brzo začali celkem oprávněně stěžovat, že to není až tak moc IoT. A my jsme hledali v koncepci, co rozumného kromě čidel na samotném HAT nebo případně externě připojených do celého konceptu „IoT“ zapojit.
První volba padla na velmi levnou elektrickou zásuvku ovladatelnou přes WiFi připojení HS110 od společnosti TP-link. Nápady a náměty co s tím dělat byly četné, ale naráželi na jeden problém a to, že na HS110 o nějakém standardu slyšela leda zástrčka a zásuvka na 230V. Zbytek je proprietární a hlavně nezdokumentované. Ale vzhledem k tomu, že možnost ovládat vařič nebo lampičku se dětem zalíbil, hledal jsem alternativu k HS110.
Po relativně rozsáhlém a zoufalém pátrání a nacházení spousty dalších podobných jednoúčelových zásuvek jsme narazili na zásuvky od českého výrobce NETIO, která nabízela „nejširší podporu M2M protokolů“. Slovo dalo slovo, a s velkými nadějemi jsme si odnášeli vzorek NETIO 4All na náš kroužek. Po prvotních drobných obtížích s upgrade firmware na nejnovější verzi, jsme museli konstatovat, že opravdu spektrum podporovaných protokolů je velmi široké a že produkt je přesně to co jsme pro kroužek hledali. Umožní nám ukázat celé spektrum možností, jak se ovládají různá zařízení, a nejen ovládají, ale čte i jejich stav (z modelu NETIO 4All je navíc možno získávat i data o aktuální spotřebě). Velmi příjemné zjištění byla podpora protokolu MQTT, které jsme v hojné míře používali loňský rok při stavbě robota. Jeho implementace sice není minimalistická (posílá celý JSON), ale jelikož protějškem pro ovládaní je RPi, nepředstavuje to problém z hlediska RAM nebo výkonu CPU.
První zadání realizované s dětmi bylo, aby každé dítě jedním protokolem zvládlo zapnutí a vypnutí zásuvky, přečtení stavu a synchronizaci stavu zásuvky s LED panelem na SenseHAT na RPI. Jak se k tomu někteří účastnici postavili můžete vidět v přiložených zdrojových textech. Nejvíce bych na produkt ocenil, že jeho komunikace s nadřízeným zařízením (v našem případě RPi) je jen po standardizovaných protokolech (zatím jsme využili ovládaní pomoci http GET, XML přes http, JSON přes http, MQTT a SNMP), je plně zdokumentována, a především děti velmi ocenili existující AN, které jsou velmi často přímou odpovědí na řešený problém.
Na rozdíl od levné HS110 jsem vůbec nemuseli řešit, jak celý systém „na háčkovat“ aby vůbec šel nějak ovládat a mohli veškerou energii zaměřit na to, jak dobře a programátorsky čistě zvládnout použití standartních komunikačních protokolů. Dalším přínosem je naučení děti pracovat s dokumentací a AN.
NETIO je podle vyjádření výrobce produkt spíš pro B2B trh, tomu odpovídá i cena. Ale pro naše trénování něčeho reálného různými způsoby je tahle polo-profesionální LAN/Wifi elektrická zásuvka rozumné řešení.
Závěrem bych rád upozornil, že zadání „Kdo první rozsvítí lampičky vyhrál“ bylo vzhledem k povolenému protokolu Modbus/TCP příliš snadné. Výrobce nám k tomu v rámci propagace dal i světélka typu semafor tak to mohu doporučit všem kdo dělají podobné kroužky pro děti a chtěli by se zaměřit na IoT použití této zásuvky jako učení pomůcky.