Introduktion till Android saker

I över ett år har Google arbetat med Projekt Brillo operativsystem (som byggdes på lägre nivåer av Android) för anslutna enheter för Internet av saker (IoT), till och med går så långt som att ha lektioner och talar om det under Ubiquity Dev Toppmötet i januari 2016. 

I december 2016 släppte Google en uppdaterad version av det här operativsystemet med en annan nivå som tillåter Android-applikationsutvecklare att använda en avvecklad version av Android när de skapar anslutna enheter. Även om Android Things är för närvarande i en tidig utvecklare förhandsgranskning, ser det ut som en IoT-plattform som lovar att snabbt skapa prototyper och stödja användare i skalan.

I den här artikeln ska jag ge dig en introduktion till hur Android Things fungerar och titta kort på några exempel på hur du kan använda den.

Vad är Android saker?

Android Saker är en lättviktsversion av Android som kan bli flashad på olika hårdvara prototyper brädor, för att enkelt skapa anslutna Internet av saker (IoT) enheter. Detta gör inbyggd kodning tillgänglig för utvecklare som kanske inte har tidigare erfarenhet. Med Android Saker har Google också tillhandahållit ett bibliotek som du kan använda för att bygga appar som läser från och skriva till olika stift på brädorna, så att du kan ansluta olika sensorer och ställdon till att interagera med världen.

Så vad gör Android Saker annorlunda än andra IoT prototyplösningar? Google har gjort mycket av arbetet för att göra specifika hårdvara prototyper styrelser, och kommer fortsätta att tillhandahålla uppdateringar för att stödja inbyggd Bluetooth, trådlös, mjukvaruuppdateringar och annan funktionalitet. 

Det innebär att du som utvecklare och skapare kan börja prototypera din IoT-enhet med hjälp av ett utvecklingsbord som Raspberry Pi. Då, när du är redo att ta din produkt på marknaden, kan du designa en avvecklad version av hårdvaran för att spara produktionskostnader för hårdvara.

Aktuell enhet och funktionstjänst

I den här artikeln stödjer Android Things tre prototyper: Raspberry Pi 3 Model B, Intel Edison med Arduino Breakout Board och NXP Pico i.MX6UL. 

Även om det här kan verka begränsat tillåter en begränsad stödd hårdvarulista att Google fullt ut stöder dessa vanliga prototyper och ger utvecklare en robust plattform som har testats och certifierats. 

Förutom de tidigare nämnda tre brädorna, kommer Android Things snart att stödja Intel Joule 570x och NXP Argon i.MX6UL, vilket ger dig fler hårdvarualternativ för utveckling.

När du har en prototypplatta, vill du veta vad du kan bygga med det. 

Medan vi kommer att gå över processen med att blinka ett styrelse och bygga upp anslutna projekt i senare tutorials, kan du hitta en lista över provprojekt med drivrutiner som tillhandahålls av Google för olika sensorer och manöverdon på deras Android Saker-drivprover GitHub-sida. 

Några drivrutinsexempel inkluderar servomotorer, pulsmodemodulationshögtalare (PWM), knappar, GPS-sensorer och HT16K33-stöds alfanumerisk segmentdisplay.  

Dessutom kan du läsa källan till dessa drivrutiner på GitHub för att skapa egna drivrutiner för digitala sensorer eller digitala / PWM-manöverdon, som det här snabba exemplet som jag har skrivit för sensorn Sensor HC SR501.

En sak att komma ihåg är att, vid tiden för det här skrivandet, är Android Things i den första iterationen av dess utvecklarförhandsgranskning. Detta innebär att vissa funktioner för närvarande inte är tillgängliga eller kan vara buggy eftersom plattformen testas och byggs ut. 

För närvarande är Bluetooth-kommunikation inte aktiverad med styrelserna, och stöd för enkla analoga sensorer ingår inte i klasserna General Input / Output (GPIO) i Android Things-men det finns en teknisk resonemang för detta och du kan fortfarande använda SPI och I2C, som nämns i denna AOSP-fråga. 

Eftersom den här plattformen fortfarande är ny är det inte många drivrutiner för sensorer eller annan hårdvara, så utvecklare som använder plattformen måste antingen skapa egna drivrutiner eller göra det som finns tillgängligt eller öppnas av andra utvecklare i Android Things-gemenskapen. 

Obegränsade möjligheter

En av de bästa sakerna att bygga Internet av Things-enheter är att du inte är begränsad till hårdvaran som skickas med en telefon, men kan bygga ut komplexa enheter som passar dina projekts behov. 

Även om du kanske behöver skriva drivrutinerna för dina egna ställdon och sensorer, är processen fortfarande relativt enkel, eftersom plattformen använder Java och en Android-bas, så du behöver inte gräva dig på lågnivå språk för att göra din produkts arbete . Det betyder att om du bestämmer dig för att skapa ett animerat skelett som använder rörelsedetektering och servomotorer för att flytta, kan du!

 

Förutom att kunna stödja ny maskinvara får du värdefulla delar av Android-ekosystemet att fungera med. Med hjälp av funktioner som redan stöds från Android, som Kameraprogram, Play Services och Firebase, kan du enkelt bygga en enhet som tar en bild via en Internetansluten enhet och bifogar den till din back-end-tjänst, till exempel brandbaslagring, eller analysera bilden via Google Play Service vision API.

Slutsats

Med tanke på möjligheten att skapa egna enheter och enkelt kunna interagera med Google Play Services och andra back-end-tjänster (Firebase, maskininlärningstjänster, etc.) lovar Android Things att tillhandahålla en lättanvänd plattform för att snabbt skapa nya anslutna enheter som kan marknadsföras eller användas för egna personliga projekt.

Håll dig klar för några djupt lärande om att få igång och bygga upp projekt med Android Things. För att lära dig mer om några av dessa relaterade tekniker, kolla in våra andra handledning här på Envato Tuts+!