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.