Pojem IoT ani Arduino nejsou nové a internet se doslova hemží různými seriály a návody, jak si vyrobit vlastní meteostanici či jen rozsvítit lampičku přes internet. Na druhou stranu, řada zdrojů je v angličtině a je určena spíše zkušenějším. Cílem nové minisérie není být komplexním a přísně systematickým zdrojem znalostí v oblasti IT či elektroniky, ale naopak se stát nenáročnou a zábavnou náplní volného času.
Ilustrační obrázek – Arduino a LCD displej
Články o „Arduinu“ a internetu věcí by měly rozšířit obzory nadšencům, kteří se zatím s danými pojmy setkali jen náhodou a jejich význam jen matně tuší. Pakliže jste zvídaví a správně nadchnuti pro techniku, tak věřím, že seriál umožní nejen lépe pochopit dnešní elektronikou prošpikovaný svět, ale třeba se stane i zdrojem inspirace pro nový koníček.
Na počátku bylo …
Rozhodně ne Arduino a zcela určitě ne internet věcí. Elektrické či elektronické stavebnice jsou běžným inventářem škol už velmi dlouho, ale většina z nich, popravdě řečeno, nemá se slovem zábava nic moc společného. Velký zlom v elektronice nastal, když na trh vstoupil mikroprocesor (1971) a mikrokontrolér. Zatímco o dnešní podobu CPU se zasadil Intel se svým průkopníkem Intel 4004, mikrokontrolér (MCU) má na svědomí spíše firma Texas Instruments a pánové Gary Boone a Michael Cochran o pouhé tři roky později.
Ilustrační obrázek – 70. léta v USA
CPU i MCU mají pochopitelně stejné stavební kameny, ale jde o jiný koncept. Mikroprocesor nemůžete provozovat samostatně – potřebuje externí operační paměť atd. Naproti tomu MCU si téměř sám vystačí a jedná se vlastně o celý počítač v jednom pouzdře. Jakmile vyřešíte napájení a obvykle ještě připojíte externí krystal (určuje frekvenci procesoru), máte vystaráno.
Mikropočítač ATmega328P od firmy Atmel – srdce Arduina
Když chcete jen rozblikat LED, můžete to zařídit „složitě“ s pomocí řady jednoduchých součástek (nejspíš znáte z hodin elektrotechniky), anebo „jednoduše“ s pomocí i jednoho integrovaného obvodu. MCU nabízí ještě jeden velký bonus – je programovatelný a po nahrání firmwaru poslouží stejně dobře v automatické pračce jako třeba v automobilu. MCU tedy měl na vývoj techniky minimálně stejný dopad jako mikroprocesor pro stolní počítače, i když je mezi laiky mnohem méně znám.
Kompletní Arduino Uno
Mikrokontrolér se nepřipojuje k velkému monitoru. Zato má spoustu pinů (kontaktů – vstupů/výstupů), které mají zajímavé účely. Můžete k nim např. jen připojit tlačítko (v nejnudnějším případě) a mikrokontrolér naprogramovat, že po jeho trojitém stisknutí se má pustit proud do jiného pinu. To už samo o sobě zařídí např. rozsvícení LED nebo sepne relé, které odpálí jadernou střelu na… (kam už si zvolíte). Mikrokontrolér však slouží i k ovládání menších displejů v běžných přístrojích. Nuže, právě jste poznali, jaké „kouzlo“ řídí vlastně většinu dnešních spotřebičů, nejen kalkulačku!
Italští studenti a Arduino
Arduino se zrodilo v roce 2005 z hlav Massima Banziho a Davida Cuartiellese, a to údajně ve městě Ivrea na severu Itálie. Jméno má po králi Arduinovi Ivrejském (955 – 1015). Zmíněné pány napadlo vytvořit jednoduchou prototypovací a výukovou platformu, avšak projekt měl tak obrovský úspěch, že vznikla firma a postupně i další a další varianty základního modelu.
Zakládající tým projektu Arduino
Vše bylo popravdě vystavěno na starším projektu, na němž se pánové také podíleli, avšak rozhodli se pro vlastní fork. První Arduino bylo velmi podobné desce z projektu Wiring a programovací jazyk i vývojové prostředí Arduino IDE jsou téměř věrnou kopií Wiringu. Arduinu se však podařilo něco důležitějšího – vybudovat obrovskou komunitu a skvělou značku. Díky tomu vzniklo a vzniká mnoho open source knihoven a příslušenství, které spolu s četnými návody teprve tvoří platformu Arduino jako takovou.
Massimo Banzi
Jen díky množství kompatibilních součástek, tutorialů a knihoven pro programovací jazyk Wiring (ano, ten zůstal) je Arduino natolik oblíbené a mohlo se rozšířit i mezi neelektrotechnicky vzdělanou populaci. S velmi malým množstvím znalostí totiž můžete vytvořit velmi rychle velmi zajímavé projekty – Arduino si tedy našlo cestu nejen do škol, ale např. i mezi umělce.
Opravdu jen Arduino?
O několik řádek výše jsme zmínili něco velmi důležitého – „Arduino“ dnes už zdaleka není konkrétní výrobek, ale spíše open source platforma. Abyste rozuměli, jeho autoři vzali mikrokontrolér ATmega328P od firmy Atmel v ceně několika dolarů, který se jinak běžně používá v elektronice, navrhli desku (plošný spoj) s USB řadičem (kvůli jednoduchému připojení k PC), napájením, vývody pinů MCU a přehlednými popisky.
Ukázka možného příslušenství Arduina
K tomu přiložili USB kabel, vše zabalili do hezké krabičky a vytvořili hezké webové stránky s přehlednou dokumentací, výukovými tutorialy a programem Arduino IDE, díky kterému je možné do MCU ATmega328P (resp. Arduina) nahrávat vlastní firmware. Všem zájemcům tak cestu k programovatelné elektronice neskonale ulehčili, a protože se projekt rozhodli uvolnit jako open source, začalo vznikat mnoho komatibilního příslušenství a samozřejmě i nesčetné kopie desky Arduino za zlomkovou cenu. Zatímco české e-shopy jsou schopny i dnes prodávat originální desku za cca 700 Kč (samotný čip ATmega328P stojí asi 50 Kč), např. na eBay.com prodávají Číňané více či méně spolehlivé kopie i pod 100 Kč vč. poštovného.
Čínská kopie – legální, pakliže by nepoužila značku
Je tak jen na vás, kde „arduino kompatibilní“ elektroniku nakoupíte. Dle našich zkušeností funguje většina (ano, také jsme se spálili) čínské produkce relativně spolehlivě, i když originální italský výrobek má určitě lepší dílenské zpracování. Na druhou stranu, možná nepotřebujete 99% spolehlivost a navíc je i šance, že desku po druhém zapnutí zničíte vlastním přičiněním nebo ji po týdnu experimentování jednoduše zavřete do šuplíku.
Hack displeje ze staré dobré Nikie 3310
Existuje však ještě jedna oblast, jak Arduino využít zcela prakticky a dokonce něco ušetřit! Pakliže nabydete dost znalostí a budete skutečně nadaní, shánění součástek se stane minulostí. Vše již máte doma – v nefunkčním digitálním budíku, starém videu, telefonu… Prostřednictvím Arduina dáte nepoškozeným komponentám nové využití a možná se stanete mistry reverzního inženýrství.
A co ten internet věcí
Pod zkratku IoT se dá popravdě schovat mnoho! V obecném významu jde o síť malých nepříliš výkonných počítačů (nejčastěji právě MCU), tedy mnohem méně výkonných než smartphone. Pakliže vtěsnáte počítač a síťové připojení do zámku u dveří, stane se i on součástí IoT. Pojem hodně rezonuje např. ve spojení s tzv. chytrou domácností, kdy bude možné přes internet ovládat prakticky kterýkoli spotřebič i dům samotný.
Ilustrační obrázek
Další oblastí jsou nejrůznější čidla, kterých může být s pokračující miniaturizací a lepší dostupností internetu vyrobeno skutečně nevídané množství a posléze poskytnou i dosud nevídané množství dat o světě. Tato big data mohou posléze pomoci meteorologii, urbanistickému plánování, logistice a kdo ví, kde ještě.
Též čínský výrobek, avšak s 32bitovým Wi-Fi modulem ESP8266
Vraťme se však na zem. Zvládnete-li přes Arduino či podobnou desku připojit k internetu vaši pokojovou lampu (či topení) a přes webovou stránku či mobilní aplikaci později zjišťovat, zda svítí či nesvítí a případně ji z dovolené i ovládat, pak i ona vstoupí do světa IoT. I když asi Nobelovu cenu nezískáte, sami se můžete posunout o malý kousek dál – zvláště, když vše přežijete bez újmy na zdraví a majetku.
Skromněji pojatá verze Wi-Fi modulu ESP8266–01
Pro kutily ještě jedna dobrá zpráva – open source komunity vznikají i u jiných čipů, které jsou oproti původnímu Arduinu v lecčems jiné a lepší. Tak např. deska Arduino Uno (nejlevnější model) neobsahuje žádné bezdrátové připojení (Wi-Fi ani Bluetooth) a použitý čip od Atmelu má skutečně skromné výpočetní možnosti. Před pár lety zaznamenal úspěch extra levný čip ESP8266, který je skutečně miniaturní, obsahuje Wi-Fi (b/g/n) a navíc poskytuje slušný výkon 32-bitového procesoru na 80 MHz. Díky komunitě se z prostého Wi-Fi modulku stal programovatelný mikropočítač, kam dnes nahrajete firmware dokonce i z Arduino IDE.
V příštím díle …
… se bez dlouhého otálení vrhneme na praxi :)! Řekneme (ukážeme) si, co je tzv. nepájivé kontaktní pole neboli breadboard, připojíme k Arduinu první LEDku a budeme ji ovládat přes počítač. Také se možná trochu podíváme na „vnitřnosti“ naší „stonožky“ (mikrokontroléru), vývojové prostředí Arduino IDE a možná zvládneme i něco navíc…
Co budeme potřebovat:
- Arduino Uno kompatibilní desku,
- breadboard,
- propojovací drátky (pokud nejsou u breadboardu; zakončení samec-samec),
- nějaké ty součástky (LED, tlačítka, rezistory apod.),
- svůj vlastní počítač s internetem a tvůrčího ducha.
Jako bonus:
- Nějaký Bluetooth modul k MCU,
- digitální teploměr,
- vlastní smartphone.
To samé a mnohem více můžete získat pohodlněji v rámci tzv. Arduino Starter Kitu (máte-li nazbyt i 3 000 Kč pro české e-shopy) nebo méně pohodlně, ale za řádově menší peníz např. na zmíněném eBay. Je přiměřeně velká šance, že součástky budou funkční, nicméně na doručení si v druhém případě počkáte klidně i měsíc.