Jeffrey Cross
Jeffrey Cross

Internet věcí: Otáčení modré (zub) na hranách?

Ať už sledujete svůj domov během dovolené nebo ohříváte svůj víkendový dům před cestou - vaše aplikace Internet of Things používá internetové protokoly ke komunikaci zde a tam. Z tohoto důvodu jsem definoval IoT jako „globální síť počítačů, senzorů a akčních členů připojených prostřednictvím internetových protokolů“ v mé knize Začínáme s internetem věcí před třemi lety.

Jedná se o velmi zjednodušený, idealizovaný obraz vznikající IoT. Je to vize krásně jasné technologie krajiny, kde IP pakety mohou cestovat z teplotního senzoru do cloudového datového centra a zpět na ovládání topení. Bez nepřekonatelného převodu protokolů mezi nimi, bez komplikovaných bran, které je obtížné konfigurovat nebo programovat.

Úplný obraz je dnes zcela opačný: ohromující zoo někdy doplňujících se, často konkurenčních standardů („čím více, tím veselejší“):

Často se divím, jak bude obraz vypadat za další tři roky, nebo za 10 let. Je zábavné přidat do obrazu další technologie. Je méně zábavné sázet na konkrétní technologie tím, že investujete své přátele a život a krev, pot a slzy do nich. Nebo dávat klientům doporučení, která by se mohla ukázat jako hrozně špatná.

Silnice nebo nízká silnice?

Pozoroval jsem hlavně dva způsoby, jakými lidé na tuto nejistotu reagují. Jedním ze způsobů je otřást se a pak vyhrnout rukávy „udělejme vše, co je v našich silách, abychom se přiblížili ideálu; Přineseme všude protokoly IP - koneckonců IP protokoly historicky vyhrály proti všem konkurenčním protokolům. Druhým způsobem je pokrčit rameny „to je cesta světa; konkurence je dobrá věc, a co je vlastně vůbec nejistota ohledně internetových protokolů - existuje mnoho dalších osvědčených technologií v terénu, pojďme si individuálně vybrat ten správný pro tuto práci “.

Řekněme to jedna „vysoká cesta“ versus mnoho perspektiv „nízkých silnic“. Je to fascinující přetahovaná válka s mnoha vyhřívanými spory: „pro senzorovou síť potřebujete optimalizovaný bezdrátový protokol, navržený od samého počátku pro nízkou spotřebu energie, jinak budete mít příliš mnoho energie. „Versus„ můžeme dělat komprimaci záhlaví IP a další triky, takže neztrácíme moc energie na bezdrátový skok ze senzorů do routeru - IP je vstupenka do budoucna “.

Technické spory se obvykle zaměřují na některé architektonické kvality, které jsou obzvláště důležité v poslední míli nebo spíše v posledních několika metrech internetu věcí. To je místo, kde se IoT „stává fyzickým“: minimální spotřeba energie bateriového zařízení ve vaší zahradě, determinismus v reálném čase pro řízení dopravního pásu, snadná správa systému, kde jsou sysadminy technickými nováčky a průměrně osmdesát let ( jeden z našich klientů vyrábí sluchadla…), jednoduchá správa klíčů pro regulátory obráběcích strojů, které jsou nastaveny minimálně vyškolenými terénními techniky atd.

Jsou internetové protokoly „dost dobré“ i pro takové scénáře? Jak dobrý je dobrý? I po přečtení mnoha argumentů a výzkumných článků mám pocit, že obě strany mají dobré argumenty, ale pro mě je to stále temné, kdo bude mít dlouhodobě pravdu. Občas jsem se třásl, jindy jsem pokrčil rameny. Internetové protokoly mají jistě pozoruhodné výsledky v bulldozingu proprietárních protokolů, například IBM Token Ring, a při dobývání i polí, která pro ně nejsou zjevně vhodná: například Ethernet byl úspěšně upraven tak, aby zaručoval chování v reálném čase pro průmyslové aplikace. . (Ačkoli to může být těžké vybrat si v současné době více než 20 (!) Návrhů soupeří o korunu mezi real-time Ethernet rádoby standardy ...)

Je to tedy jen otázka času, dokud internetové protokoly neodloží všechny ostatní „starší“ protokoly, jak se zdá, že jejich historie naznačuje?

Nízká spotřeba energie Bluetooth

Existují alespoň dva proti-příklady. Komunikační technologie, které uspěly paralelně s internetem: USB a Bluetooth. Ukázalo se, že jsou zcela odolné vůči internetovým protokolům, i když je možné je tunelovat protokoly IP. Takže možná jen poslední metry IoT mohou zůstat imunní?

V roce 2005 mi CTO klienta řekl o exotické bezdrátové technologii vyvinuté ve výzkumném centru Nokia, nazvaném Wibree. Vypadalo to velmi slibně pro scénáře s krátkým dosahem, s nízkou spotřebou v domácí automatizaci, pro lékařské aplikace a další případy použití. O několik let později, ve velmi chytrém pohybu, Nokia předala kontrolu nad Wibree na Bluetooth Special Interest Group. Technologie byla následně upravena tak, aby lépe odpovídala stávajícímu standardu Bluetooth a v roce 2010 se stala oficiální součástí Bluetooth 4.0. Jeho aktuální název je Nízká spotřeba energie Bluetooth (BLE), nebo Bluetooth Smart jako marketingový štítek.

Jedním z rysů BLE, díky kterému je připravena na explozivní růst - bez ohledu na nekompatibilitu s IP protokoly - je jeho minimální příplatek ve srovnání s klasickým řešením Bluetooth: náklady na upgrade existujícího produktu s podporou technologie Bluetooth, který podporuje technologii BLE, je velmi málo. Počínaje iPhone 4s, Apple začal podporovat BLE ve všech svých produktech. Nejen tím, že začleníte novější čipy Bluetooth, ale také rozhraní API, které můžete použít pro vývoj aplikací BLE-enabled. Taková aplikace, spolu se zařízením, ke kterému se připojuje, se někdy nazývá „příslušenství“. Například technik v terénu může používat svůj smartphone k nastavení nového čerpadla přes BLE - čerpadlo nepotřebuje vlastní LCD obrazovku pro tento účel není třeba ani konektor USB. Pokud je to nutné, aplikace může dokonce fungovat jako dočasná brána z tiskového stroje na internet, např. tiskový stroj může načíst nový firmware.

Samozřejmě, že příslušenství nemusí být všechno podnikání: jeden z našich prvních vpádů do tohoto nového pole byl elektronický adventní věnec, včas na Vánoce 2012. Bylo to zajímavé cvičení. Apple například očekává, že jim pošlete jedno z vašich zařízení, jinak vaši aplikaci pro úložiště aplikací neschválí. Zeptali jsme se, zda by BMW, v případě, že by někdy postavili podporu BLE do jednoho z luxusních vozů, muselo poslat takové auto společnosti Apple také?

V loňském roce Google na poslední chvíli přidal podporu BLE pro Android API stejně, a tento rok Microsoft by měl následovat oblek s Windows Phone. Díky tomu bude BLE skutečnou multiplatformovou technologií pro příslušenství, od fitness přístrojů, jako jsou senzory bot nebo monitory prezenčního signálu, až po chytré hodinky a vše ve vaší blízkosti, které budete chtít ovládat: dveře, televizory, sprinklery v zahradě atd.

Nové rozhraní API služby Google bylo příležitostí pro aplikaci Android pro adventní věnec i pro Vánoce 2013. Implementace služby Google BLE byla velmi brzy a ještě ne tak zralá jako aplikace společnosti Apple, která má i některé problémy. Ale věci se neustále zlepšují a vývojáři si vyměňují své zkušenosti, např. zde ve skupině Facebook, kterou jsme za tímto účelem zřídili.

Zůstane tady?

BLE je pravděpodobně jedinou novou komunikační technologií, která není ohrožena internetovým juggernautem. Dokonce i v jeho útlém věku je to už jen samotný tyran: Nedávno jsem slyšel o výběrovém řízení na projekt automatizace budov, kde byla podpora BLE pověřena osvětlením - oblastí, kde bych očekával ZigBee. Zdá se, že argument „můžete ho ovládat ze smartphonu nebo tabletu“ překonává téměř jakýkoliv protiargument, který byste mohli najít proti BLE. Někdy je to neskutečné: byli jsme kontaktováni startupem, který vybudoval jejich podnikatelský nápad za předpokladu, že je možné připojit stovky BLE senzorů v celé velké komerční budově přímo k jediné GSM bráně. Bohužel, BLE v této době je opravdu technologie pro posledních pár metrů, nebude spolehlivě pracovat v několika patrech a tuctu zdí…

Servisně orientovaná architektura zařízení

Svoji čepici jako softwarového architekta považuji za jeden z aspektů BLE obzvláště zajímavý a někdy i dráždivý: spojuje velmi nízkoúrovňové optimalizace s velmi vysokými architektonickými koncepty. Je navržen tak, aby byl optimalizován pro nízkou spotřebu energie a snažil se minimalizovat počet bitů a bytů, které je třeba přenášet. Definuje však také tzv obecný profil atributů (GATT), který zahrnuje charakteristik (např. teplota vzduchu v místnosti nebo otevřený / uzavřený stav ventilu), tzv. sady souvisejících charakteristik služeba sady souvisejících služeb profilů. Profil odpovídá případu použití, např. profil měření krevního tlaku je určen pro měření krevního tlaku. Služba je opětovně použitelné rozhraní, např. informace o zařízení, která poskytuje informace, jako je například výrobce zařízení a číslo modelu.

Firmware peklo: DLL peklo na steroidech

Služby jsou klíčovým konceptem BLE. Služba definuje neměnnou sadu charakteristik. Proč neměnný? A jakým způsobem by to mohlo být pro vás relevantní? Důvodem je, že většina levných zařízení není navržena tak, aby umožňovala aktualizace firmwaru snadno nebo vůbec. Jakmile tedy takové zařízení začnete prodávat, máte problém, pokud chcete změnit službu, např. aby se mu přidala užitečná charakteristika. Váš nový firmware nedosáhne všech zařízení, která jsou venku ve volné přírodě. Problém je v tom, že když se aktualizovaná aplikace pro chytrý telefon pokusí získat přístup k této nové vlastnosti na starém zařízení, nic dobrého se nestane. Takový nesoulad verzí mezi komponentami je ve světě softwaru označován jako „peklo DLL“. Nesoulad může být alespoň odstraněn přeinstalací kompatibilní sady souborů. Máte-li sadu nekompatibilních zařízení, bez možnosti aktualizovat firmware, jste v ještě horším „firmware hell“.

Cílem je tedy zachovat definici služby ServiceA po dodání zařízení s touto službou *. Když budete později potřebovat změnit službu, přidáte novou definici služby ServiceA1, což je nadmnožina ServiceA má například další charakteristiku. Nová zařízení implementují obě služby (levné, pokud jsou obě identické kromě přídavné charakteristiky). Existují čtyři konstelace, ve kterých se poskytovatel služby („periferní“) může setkat s uživatelem této služby („centrální“). Předpokládejme, že centrální je váš smartphone:

  1. Váš smartphone s aplikací pro originál služba splňuje originál zařízení: hledá ServiceA na přístroji, najde to a všechno je v pořádku.
  2. Váš smartphone s aplikací pro originál služba splňuje prodloužena zařízení: hledá ServiceA na přístroji, najde to a všechno je v pořádku. Vzhledem k tomu, že aplikace neví o další charakteristice podporované rozšířeným zařízením, nemůže ji použít, ale je to v pořádku. To může ještě poskytnout původní funkce.
  3. Váš smartphone s aplikací pro prodloužena služba splňuje prodloužena zařízení: hledá ServiceA1 na přístroji, najde to a všechno je v pořádku. Aplikace ví o, a může využít, další vlastnosti.
  4. Váš smartphone s aplikací pro prodloužena služba splňuje originál zařízení: hledá ServiceA1 na zařízení, ale přístroj odpoví „huh? o tom nikdy neslyšel ServiceA1! “. Takže aplikace se snaží hledat starší ServiceA, a voilà, to může ladně se vrátit k této starší službě. Ne tak cool jako u nového zařízení, ale funguje to.

Zde jsou tyto čtyři souhry jako diagram:

Pokud víte, že starší zařízení již nejsou používána, nebo je již nechcete podporovat, je třeba, aby další verze aplikace reagovala jinak: pokud zařízení nepodporuje ServiceA1, aplikace vzdá a řekne uživateli, že toto zařízení je nekompatibilní. Takže nemusíte nést staré zavazadlo navždy, tak dlouho, jak to vaši uživatelé stále požadují.

Tento mechanismus je zásadní pro budoucnost, kdy se všechny druhy zařízení a aplikací navzájem spojují a tyto komponenty se mohou vyskytovat v jakékoli kombinaci nových, ne tak nových nebo starověkých verzí.

Internetové protokoly u jádra, další technologie na okrajích

Vypadá to, že bludiště nízkých silnic bude s námi na dlouhou dobu přijít, s různými příjezdové cesty a východy z vysoké silnice. Zejména na „okrajích“ sítě zůstanou na chvíli nějaké další technologie. Mezi nimi BLE, i když nepodporuje internetové protokoly, ani pokročilejší funkce, jako je směrování sítě. Doufám, že velký zájem o BLE se nestane jeho největším problémem: existuje celá řada skupin, které pracují na návrzích na rozšíření BLE tak či onak; Rozbočovače BLE jsou součástí nové specifikace Bluetooth 4.1; a již se pokoušíte spustit protokol IPv6 přes BLE…

Ale jak je to s dalšími „IoT hranovými technologiemi“, které mohou být také užitečné, ale nejsou bezproblémově integrovány do světa IP protokolů? Kdy jejich přínosy (např. Jsou snadno dostupné, dokonale vhodné pro danou práci atd.) Převažují nad jejich nevýhodami (např. Musí se naučit nové technologie, méně „síťových efektů“ atd.)? Podobná otázka vyvstává o úroveň výše, pro protokoly aplikační vrstvy: kdy bychom se měli zaměřit na HTTP jako na jediný sjednocující protokol pro „Web věcí“ a kdy bychom měli přejít na MQTT, XMPP, AMQP, ZeroMQ a jako?

Jaký je váš názor na tyto otázky? Rád bych od vás slyšel!

* Pokud znáte Microsoft Component Object Model (COM), tento nápad poznáte. Podobně jako služba BLE, rozhraní COM je neměnná kolekce metod. Pro mě je to jedna z nejinovativnějších a nejrelevantnějších myšlenek, které kdy vyšla z Microsoftu, jen aby se ztratila na těch, kteří později vyvinuli .NET, a nedávno znovu objevená těmi, kteří vyvinuli nový Runtime Windows.

Podíl

Zanechat Komentář