Internet of Things (ďalej len IoT) je téma, ktorá zahŕňa automatizácie, či kontrolu (nie)len domácností z inteligentných zariadení. Pod pojmom IoT je možné si predstaviť ako všetko okolo nás, čo dokáže nejakým spôsobom komunikovať a je možné o týchto zariadeniach získavať informácie, spravovať ich a vedieť o ich stave, napríklad či sú vypnuté, alebo zapnuté. Ide o váš televízor, váš počítač, práčku, mp3-ku, spotrebiče, zásuvky, svetlá.
Ich údaje musia byť do siete odosielané hardvérom, ak sami nemajú určitú konektivitu, alebo ak nepodporujú IoT štandard. Ako hardvér môžeme použiť čip, či minipočítač, ktorý túto funkciu plní. Následne je možné tieto zariadenia spravovať vďaka tomuto hardvéru, ktorý dokáže so zariadením komunikovať a následne tieto hodnoty/stavy zariadenia zasielať na bránu IoT siete. V tomto článku si môžete prečítať o najznámejších IoT hardvérových platformách, no väčšinou sa tento hardvér využíva iba na lokálne projekty bez nutnosti pripájať ich do internetu. Majú priamu integráciu na IoT. Poďme si teda prezrieť zoznam najpoužívanejších vývojových hardvérových platforiem, ktoré umožňujú komunikáciu v IoT sieťach. Pozrime sa preto na niekoľko najpoužívanejších, ktorým sa budeme venovať aj v ďalších článkoch:
Arduino
Spoločnosť Arduino vyrába mikrokontroléry rôznych veľkostí s rôznymi funkciami a parametrami, čo umožňuje niektoré z nich využívať na IoT aj vďaka nadstavbám, čo z nich robí modulárne hardvérové komponenty. Arduiná typu Uno a Mega (najpoužívanejšie) disponujú iba "holými" funkciami bez možnosti komunikovať v sieti.
Siete IoT využívajú pripojenie do hviezdy, respektíve stromu. To znamená, že všetky prvky sú pripojené k centrálnemu uzlu, ktorý dokáže údaje ďalej odosielať ostatným účastníkom v sieti, či do internetu. Najčastejšie túto úlohu brány - centrálneho bodu hviezdy plní Raspberry Pi v prípade, že Arduino neposkytuje sieťovú konektivitu (môže aj iný hardvér, ktorý je kompatibilný).
Komunikácia s Raspberry Pi funguje na základe RX/TX pinov, ktorými dané zariadenia komunikujú. Existuje ale aj zapojenie komunikácie cez USB prostredníctvom sériovej linky. Pri tomto zapojení je nutné nastaviť na oboch zariadeniach rovnakú rýchlosť napr: 9600kbps.
Arduino Uno a Mega sú taktované na 16Mhz a programujú sa v jazyku Wiring (zjednodušený C jazyk). Editor na nahrávanie programov sa nazýva Arduino IDE a ponúka všetko od editácie programov cez ich nahrávanie až po ich debuggovanie.
Ak však možnosť pripojenia k bráne RX/TX pinmi nie je možná, je spôsob, ako doceiliť komunikáciu a to prídavným shieldom. Shield je hardvérová nadstavba na Arduiná väčšinou kompatibilná s viacerými modelmi dosky. S prídavnou knižnicou a pripojeným modulom, ktorý sa osadí na piny je možné modul pripojiť do internetu/lokálnej siete, nastaviť mu unikátnu MAC adresu. Shieldy existujú v Ethernet prevedení na klasický RJ45 konektor, alebo na Wifi. Wifi shield dostal viacero podôb s využitým rôznych čipov. Čip ESP8266 osadený na shielde sa stal veľmi obľúbeným vďaka svojej "veľkosti" a začal v tomto priemysle doslova revolúciu.
NodeMCU
ESP8266 sa stal srdcom vývojovej dosky NodeMCU, čím ju môžeme zaradiť do SoC (System on Chip). Espressif Systems vyvíja tieto čipy (dnes už aj dlho očakávaný ESP32). NodeMCU je vývojová doska s týmto čipom, ktorý plní 2 funkcie. Je zároveň procesorom na frekvencii 80/160Mhz a zároveň aj wifi modulom. V skutočnosti 40% jeho výkonu pri takte 80Mhz ide na wifi, čo sa dalo pocítiť pri veľmi náročnom programe na výpočtový výkon. Stávalo sa, že doska "zaspala" lebo wifi nebolo možné ani na ms odpojiť a došlo k preskočeniu kroku, či oneskoreniam v periodickom programe.
Doska sa potešila veľkej obľube vďaka širokej komunite od Arduina. Áno, Arduino... NodeMCU je pôvodne programovateľné iba v jazyku Lua. Vďaka tejto komunite ju je ale možné programovať priamo v Arduino IDE. V prípade, že chcete túto dosku programovať v jazyku Lua je nutné flashnúť firmware zariadenia. Cena tohto zariadenia je približne 3,50€ v nemenovam čínskom obchode, kde ho už určite sami nájdete. Pozor však na verziu! Existuje NodeMCU V1, V2, V3.
Na obrázku: V3 (naľavo LoLin) vs V2.
S verziou V1 som sa nestretol, no obsahovala chyby. Verzia V2 používala prevodník CP2102, ktorý je štvorcový. Doska sa neuchytila u vývojárov pretože nebola kompatbiliná napríklad s Base kitom. Táto verzia dosky je hrubá iba ako palec. Verziu 3 vlastním a nemôžem si vynachváliť. Používa prevodník CH340, ktorý funguje veľmi dobre a spoľahlivo. Priamo z Arduino IDE je možné dosku nahrávať s rýchlosťou 115200kbps. Pre verziu 3 sú vyhotovené aj vývojové Base kity - dosky.
Sú to dosky pre rozšírenie pinových vývodov z NodeMCU, čo vám umožní pohodlnejšie pracovať s týmto zariadením a obsahuje aj diery na osadenie na stenu/stôl.
V prípade, že si zakúpite NodeMCU v2/v1 a base dosku, tak vám do nej vezapasuje, lebo tieto prvotné verzie NodeMCU dosiek sú príliš úzke a na female piny ich nenasuniete. Zariadenia priamo podporujú MQTT protokol pre IoT. Dosky sú napájané cez MicroUSB, rovnakým konektorom ako do smartfónu. POZOR: NodeMCU nemá 5V výstupnú vetvu a má iba jeden analógový pin.
BigClown
BigClown je česká spoločnosť, ktorá vyvinula IoT dosku, ktorá obsahuje 32-bitový ARM procesor STM32L083CZ s taktovacou frekvenciou 32MHz a inštrukčnou sadou RISC. Zariadenie podporuje I2C, MQTT, JSON, ale aj ostatné štandardné protokoly na prenos informácii a ich interpretáciu. Pre modul existuje prídavný breadboard modul, ktorý obsahuje aj prídavné batérie pre vonkajšie využitie.
Vývojová doska má integrovaný teplomer, akcelerometer priamo na plošnom spoji. Ako komunikačný modul funguje čip SPSGRF. Tento modul dokáže taktiež pracovať ako autonómne zariadenia pripojené k bráne, napríklad k Raspberry Pi. S touto vývojovou doskou nemám skúsenosti a preto neviem zhodnotiť jej vhodnosť na automatizáciu.
ESP32
Tento čip je nástupcom ESP8266, vyrobila ho taktiež firma Espressif Systems, je to taktiež vývojová doska. Prvotná verzia sa stretla s radou problémov. Hardvér prekvapivo priniesol 32-bitový dvojjadrový procesor s taktovacou frekvenciou 240 MHz vyrobený 40nm technológiou, potešila aj integrácia 2,4Ghz wifi s Bluetoothom.
Neoficiálne zdroje hovoria o tom, že jedno jadro sa stará výhradne o wifi a druhé o naše výpočtové operácie. Vďaka tomuto sa doska teší stabilite a taktiež sa v čínskych obchodoch už predáva. V súčastnosti ju vlastní málo ľudí a preto je ťažké hovoriť na tento čip nejaký názor. Cena týchto čipov je 7€. Base dosky pre tento modul ešte nie sú.
Raspberry Pi v3
Raspberry Pi je špecifickou platformou, pretože poskytuje dostatok výkonu na automatizáciu, ktorá je vybavená dostatkom pinov a má vyhotovené aj porty pre komunikáciu - RJ45. Ide o univerzálny počítač, ktorý zvláda i streamovanie HD videa.
Programuje v jazyku Python. Vďaka svojmu výkonu a podpore protokolov sa tento minipočítač stal najpoužívanejšou platformou pre IoT. Plní najmä funkciu brány, no údaje dokáže získavať aj priamo pri tejto funkcii, ktoré vie následne odosielať do internetu. Raspberry Pi vo verzii 3 ponúka 1.2Ghz 64-bitový procesor ARM a má integrovanú wifi štandardu 802.11n ale taktiež i Ethernet port, teda môžete si pohodlne oddeliť služby, ktoré budú komunikovať cez wifi a cez Ethernet káblom.
Dúfam, že sa vám článok zapáčil a čoskoro sa môžete tešiť s predstavením jednotlivých softvérových technológií, ktoré sa na IoT využívajú aj s príkladmi z praxe. Existujú spoločnosti, ktoré protokoly pre MQTT využívajú v Česku, (u nás som nenarazil na spoločnosť, ktorá by MQTT využívala) a gigantom v používaní jedného z IoT protokolu je Facebook.
Využívate ho každý deň, hoci o tom neviete, Messenger na pozadí komunikuje cez MQTT a v prípade, že vás zaskočí notifikácia v podobe správy/príspevku, je to práve protokol MQTT, ktorým táto notifikácia prišla až do vášho telefónu. Prostredníctvom IoT je možné ovládať spotrebiče, zásuvky, vydávať povely na zatváranie/otváranie dverí, zapnutie svetiel, alebo na zapínanie jednotlivých spotrebičov.
Ku všetkému iba potrebujete riadiaci modul, ktorý dokáže daný signál vyslať, no najprv nato musí dostať pokyn. IoT je možné spravovať cez web/aplikáciu/konzolu/sériovú linku ale existuje aj rada netradičných spôsobov, napríklad SMS, či jeden ovládač k TV na ovládanie celej domácnosti pokojne aj offline v uzavretej (non)IoT sieti bez prístupu do internetu/z internetu. Verím, že ste sa niečo zaujímavé naučili a čoskoro sa môžete tešiť na nový článok z oblasti softvéru, kde sa dozviete ako sa dané informácie prenášajú do internetu, kde sa ukladajú a akým spôsobom sa interpretujú klientovi. Dočítate sa aj o najpoužívanejších protokoloch pre IoT v ďalšom pripravovanom článku.