< Zpět na články

Android Things aneb Chytrá domácnost od Googlu

Internet of Things (IoT) není novinkou a na trhu se vyskytuje již několik let. Jedná se o propojení vestavěných systémů a jejich ovládání pomocí internetu. Nejčastěji se jedná o různé "smart" zařízení jako například pračky, lednice či chytré žárovky.

Problém při vývoji těchto zařízení a jejich vzájemné komunikaci je ten, že neexistuje jednotné rozhraní či protokol, který by všichni dodržovali. Když si tedy pořídíte dvě chytré věci od různých výrobců, je velmi obtížné a někdy nemožné je donutit spolu komunikovat. Toto se snaží vyřešit Google s jejich novou platformou Android Things.

Android Things je operačním systémem pro IoT zařízení, který umožňuje využití standardních nástrojů pro vývoj Android aplikací – Android Studio, Android SDK, Google Play Services, Firebase a např. i Google Cloud Platform. Vývojáři tedy mohou využívat to, s čím jsou zvyklí běžně pracovat při vývoji aplikací. Je třeba brát v potaz, že ne všechny součásti Android SDK a Google Services jsou dostupné. Seznam chybějících funkcionalit je možno nalézt zde. Jedná se například o modul pro obsluhu telefonování, notifikační management, runtime permissions a různé součásti Google Play Services jako mapy či AdMob. Pro vývoj IoT specifických komponent se využívá tzv. Things Support Library, která umožňuje integraci hardwaru, který se běžně nevyskytuje v mobilních zařízeních.

Zajímavou novinkou (obzvlášť pro Android vývojáře) jsou takzvané User drivers. Ti umožňují aplikacím injectnout vestavěné hardwarové události do frameworku a všechny ostatní aplikace mohou tyto eventy přijímat bez jakýchkoliv změn v kódu. Příkladem je vlastní GPS hardware, který je na desku přidělán. Vývojář komunikuje s tímto GPS modulem a napíše si User driver, který do systému reportuje GPS lokaci. Všechny aplikace, které poslouchají na GPS změny poloh poté dostávají události z tohoto driveru. Kategorie těchto driverů jsou 3 – GPS, senzory (akcelerometr, gyroskop, …) a uživatelský vstup (monitory, klávesnice, ...).

V současné době je k dispozici pouze Developer Preview, ve kterém není zaručena stabilita všech komponent, ale umožňuje vývojářům seznámit se s platformou a hlásit tvůrcům do Google postřehy a chyby. V některé z následujících verzí bude přidána podpora pro Google Weave - komunikační protokol, který umožňuje zařízením komunikovat s Google Cloud službami ale i mezi samotnými zařízeními. V současné době jsou podporovaná Weave zařízení  žárovky, termostaty a chytré zásuvky.

Google se spojil s mnoha výrobci hardwaru a zaručil se tím o chod Android Things na deskách Intel Edison, NXP Pico a Raspberry Pi 3, na kterých vývojáři mohou testovat své produkty.

Na oficiálním Github účtu pro Android Things lze nalézt několik příkladů od jednodušších – jednoduchá práce s tlačítkem či displejem, po komplexnější – chytrý domovní zvonek, který vyfotí uživatele, detekuje jeho obličej a nahraje ho na Firebase.

Komunita je z Android Things nadšená a vznikají i vlastní projekty – Awesome Android Things, které slouží jako rozcestník všech důležitých článků, dokumentací a odkazů a pak plno "Getting started" článků jako například tento.

David Bilík
David Bilík
Android Team LeadBilda rozebírá Android už přes osm let. Ve volném čase rád vaří, peče, smaží nebo jakkoliv jinak připravuje jídlo. V poslední době je jeho velkou vášní fermentace a jeho kombuchová houba se v Ackee šíří čím dál víc.

Máte zájem o spolupráci? Pojďme to probrat osobně!

Napište nám >