Hlavní navigace

Senzory Martina Malého: Týden kapitána Zjevného

Martin Malý 31. 8. 2016

Každý má jiné priority a co je důležité pro jednoho, může být podružné pro druhého. Třeba pro mne je MQTT první volbou, pokud stavím něco s internetem věcí.

Tento týden se budu věnovat věcem, které jsou pro některé z vás obnošená vesta a dávno už je znáte, takže se můžete rovnou přesunout do komentářů a napsat něco jako “Malý zase objevil Ameriku”, ale já s docela velkou jistotou vím, že nejsem úplně poslední, kdo je ještě neznal, a že pro některé budou třeba dobrým tipem.

Jeden ze čtenářů se mě ptal, co je tak úžasného a skvělého na MQTT. Princip fungování jsem nastínil na sesterském Rootu, ale je pravda, že otázka “proč MQTT?” mohla zůstat nezodpovězena.

Každý má samozřejmě jiné priority a co je důležité pro jednoho, může být podružné pro druhého, a obráceně. Navíc žádná technologie, i když to někteří evangelizátoři neradi slyší, není zlaté kladivo, které funguje vždy a za všech okolností, ani stříbrná střela, která vyřeší všechny problémy. Každá má svá pro a proti, a to, jestli je pro vás “skvělá a úžasná”, bude nakonec záviset především na vašich potřebách a zvyklostech. Přesto si zkusme vyjmenovat pár důvodů:

MQTT je standardizované řešení, je tedy pravděpodobné, že naleznete software či službu, která bude s touto technologií kompatibilní. Rozhodně pravděpodobnější, než když si uděláte vlastní proprietární protokol.

MQTT je zároveň dostatečně obecné, takže jím přenesete “cokoli” (což berte s rezervou).

MQTT řeší a implementuje některé věci, na které návrháři snadno zapomenou (QoS, testament apod.) a které jsou přitom ve světě IoT docela důležité. Je navržené tak, aby bralo v potaz některé specifické vlastnosti prostředí (třeba úzké přenosové pásmo nebo nestabilní spojení).

Implementuje architekturu Publisher / Subscriber, která je pro heterogenní sítě, složené z jednoduchých senzorů, aktuátorů a řídicích prvků, výhodná – není třeba se neustále ptát “tady žárovka, vypínači, nejsi zmáčknutý?” Místo toho se žárovka ohlásí: “Jsem žárovka 42, řekněte mi, kdy se mám rozsvítit”. Ani vypínač se nestará o to, komu má dát vědět, že je stisknutý. Někde mezi jsou jednoduché softwarové nástroje, které vědí, že zpráva “zapnuto” od vypínače 26 má vyústit do zprávy “rozsviť se!” pro žárovku 42. Celý systém je tak velmi flexibilní.

Zprávy se posílají v takzvaných “topics” – tématech, která mají hierarchickou strukturu, takže je možné odebírat zprávy konkrétní, nebo naopak obecné, přičemž úroveň abstrakce není pevně dána, je na návrháři systému.

MQTT není překomplikované a je velmi snadné jej implementovat. Jediné, co budete potřebovat “navíc”, je nějaký server, kde poběží MQTT broker, tedy ten software, který se stará o příjem a předávání zpráv. De facto standardem je MQTT broker Mosquitto.

Díky výše zmíněným vlastnostem je třeba pro mne MQTT první volbou, pokud stavím něco s internetem věcí. Existují implementace pro obrovské množství platforem, takže si nemusím lámat hlavu s tím, jak budu posílat data a jak zajistím přenos atd. Jediné, co potřebuju, je spustit MQTT broker a rozmyslet se, jak se budou jmenovat jednotlivé “topicy” – témata, podle kterých se zprávy sdružují a posílají.

CIF16

A jako druhý krok, když už tedy mám ten server, kde mi běží MQTT broker, udělám to, že nainstaluju Node-RED. Ano, je to známý software a používá ho spousta lidí, a já jsem ho objevil až teď, přesněji minulou sobotu, hanba mi! Připadá mi naprosto perfektní na rychlé prototypování datových toků: z jedné strany tečou data, třeba z MQTT, ze sériového portu, ale klidně i přes HTTP, Websockets, nebo z Twitteru, vy si v jednoduchém grafickém editoru poskládáte moduly a nastavíte si tok dat, jak potřebujete, a z druhé strany posíláte data tam, kam mají jít – zase přes MQTT, HTTP, Websockets, do logu, do databáze, mailem, na Twitter… S Node-RED nepotřebujete (téměř) ani gram programování na to, abyste nechali proudit data tak, jak potřebujete.

Možná postupem času zjistíte, že potřebujete ještě něco navíc, že máte speciální požadavky, možná i na ten vlastní přenosový protokol dojde, ale vězte, že MQTT je dobrý začátek (a Node-RED užitečný pomocník), který vám umožní rychle se odpíchnout od technikálií k tomu, co chcete opravdu dělat.

Našli jste v článku chybu?
Vitalia.cz: 5 chyb, které děláme při skladování potravin

5 chyb, které děláme při skladování potravin

120na80.cz: Rodiče, pozor: jak dodat vitamín D bez rizika

Rodiče, pozor: jak dodat vitamín D bez rizika

Podnikatel.cz: Vrcholový řídící zaměstnanec za 75 tisíc

Vrcholový řídící zaměstnanec za 75 tisíc

Vitalia.cz: Fyzioterapeutka: Chůze naboso? Rozhodně ano!

Fyzioterapeutka: Chůze naboso? Rozhodně ano!

DigiZone.cz: Nejnovější špičkové TV ve videu

Nejnovější špičkové TV ve videu

DigiZone.cz: LG OLED65E6: první pohled

LG OLED65E6: první pohled

DigiZone.cz: DVB-T2 ověřeno: seznam TV zveřejněn

DVB-T2 ověřeno: seznam TV zveřejněn

Lupa.cz: Poučný příběh jednoho rozšíření pro Chrome

Poučný příběh jednoho rozšíření pro Chrome

Lupa.cz: Adblock Plus začal prodávat reklamy

Adblock Plus začal prodávat reklamy

Vitalia.cz: Muž, který miluje příliš. Ženám neimponuje

Muž, který miluje příliš. Ženám neimponuje

Vitalia.cz: Antibakteriální mýdla nepomáhají, spíš škodí

Antibakteriální mýdla nepomáhají, spíš škodí

Lupa.cz: Patička e-mailu závazná jako vlastnoruční podpis?

Patička e-mailu závazná jako vlastnoruční podpis?

Lupa.cz: Bude Google platit médiím za použití článků?

Bude Google platit médiím za použití článků?

DigiZone.cz: Skylink: Cinemax 2 nejspíše až 2017

Skylink: Cinemax 2 nejspíše až 2017

Vitalia.cz: Voda z Vltavy před a po úpravě na pitnou

Voda z Vltavy před a po úpravě na pitnou

Lupa.cz: Proč jsou firemní počítače pomalé?

Proč jsou firemní počítače pomalé?

Vitalia.cz: Tesco nabízí desítky tun jídla zdarma

Tesco nabízí desítky tun jídla zdarma

120na80.cz: Galerie: Čínští policisté testují českou minerálku

Galerie: Čínští policisté testují českou minerálku

DigiZone.cz: Samsung EVO-S: novinka pro Skylink

Samsung EVO-S: novinka pro Skylink

Podnikatel.cz: Byla finanční manažerka, teď cvičí jógu

Byla finanční manažerka, teď cvičí jógu