I over et år har Google jobbet med Project Brillo-operativsystemet (som ble bygget på de lavere nivåene av Android) for tilkoblede enheter for Internett av ting (IoT), selv går så langt som å ha leksjoner og snakker om det under Ubiquity Dev Toppmøte i januar 2016.
I desember 2016 utgav Google en oppdatert versjon av dette operativsystemet med et annet nivå som lar Android-applikasjonsutviklere bruke en fjernet versjon av Android når de oppretter tilkoblede enheter. Selv om Android Things for øyeblikket er i en forhåndsvisningstilstand for utviklere, ser det lovende ut som en IOT-plattform for raskt å lage prototyper og støtter brukere i målestokk.
I denne artikkelen vil jeg gi deg en introduksjon til hvordan Android Things fungerer, og se kort på noen eksempler på hvordan du kan bruke den.
Android Things er en lett versjon av Android som kan bli flashet på forskjellige maskinvare prototyping boards, for å enkelt lage tilkoblede Internett av ting (IoT) enheter. Dette gjør innebygd koding tilgjengelig for utviklere som kanskje ikke har tidligere erfaring. Med Android-ting har Google også gitt et bibliotek som du kan bruke til å bygge programmer som leser fra og skrive til forskjellige pinner på brettene, slik at du kan koble til forskjellige sensorer og aktuatorer for å kommunisere med verden.
Så hva gjør Android ting annerledes enn andre IoT prototypingløsninger? Google har gjort mye av legwork for å lage spesifikke maskinvare prototyping boards, og vil fortsette å gi oppdateringer for å støtte innebygd Bluetooth, trådløs, programvareoppdateringer og annen funksjonalitet.
Dette betyr at du som utvikler og skaperen kan begynne å prototype din IoT-enhet ved hjelp av et utviklingsbrett som Raspberry Pi. Når du er klar til å ta produktet på markedet, kan du designe en avkortet versjon av maskinvaren for å spare maskinvareproduksjonskostnader.
På tidspunktet for denne artikkelen støtter Android Things tre prototyper: Raspberry Pi 3 Model B, Intel Edison med Arduino breakout board og NXP Pico i.MX6UL.
Selv om dette kan virke begrenset, tillater en begrenset støttet maskinvareliste at Google fullt ut støtter disse vanlige prototypingstavlene og gir utviklere en solid plattform som er testet og sertifisert.
I tillegg til de tidligere nevnte tre brettene, vil Android Things snart støtte Intel Joule 570x og NXP Argon i.MX6UL, noe som gir deg flere maskinvarealternativer for utvikling.
Når du har et prototyperbrett, vil du vite hva du kan bygge med det.
Mens vi vil gå over prosessen med å blinke et styre og bygge tilknyttede prosjekter i senere opplæringsprogrammer, kan du finne en liste over utvalgsprosjekter som bruker drivere levert av Google for forskjellige sensorer og aktuatorer på deres Android Things Driver Samples GitHub-side.
Noen drivereksempler inkluderer servomotorer, pulsbreddemodulasjon (PWM) høyttalere, knapper, GPS-sensorer og HT16K33-støttet alfanumerisk segmentdisplay.
I tillegg kan du lese kilden til disse driverne på GitHub for å lage dine egne drivere til digitale sensorer eller digitale / PWM aktuatorer, for eksempel dette korte eksemplet jeg har skrevet for sensoren Sensor HC SR501.
En ting å huske er at, når dette skrives, er Android Things i den første iterasjonen av utviklerens forhåndsvisning. Dette betyr at fordi det er en tidlig utgivelse for testing og tilbakemelding, er noen funksjoner for øyeblikket utilgjengelige eller kan være vognen når plattformen testes og bygges ut.
For øyeblikket er Bluetooth-kommunikasjon ikke aktivert med brettene, og støtte for enkle analoge sensorer er ikke inkludert i klassene GPOS-klasser (General Purpose Input / Output) - selv om det er en teknisk begrunnelse for dette, og du kan fortsatt bruke SPI og I2C, som nevnt i dette AOSP-problemet.
Siden denne plattformen fremdeles er ny, er det ikke mange drivere for sensorer eller annen maskinvare, så utviklere som bruker plattformen, må enten lage egne drivere eller gjøre det som er tilgjengelig for øyeblikket eller åpne av andre utviklere i Android Things-samfunnet.
En av de beste tingene med å bygge ting til Internett av ting er at du ikke er begrenset til maskinvaren som leveres med en telefon, men kan bygge ut komplekse enheter som passer til prosjektets behov.
Selv om det kan hende du må skrive drivere for dine egne aktuatorer og sensorer, er denne prosessen fortsatt forholdsvis enkel fordi plattformen bruker Java og en Android-base, slik at du ikke trenger å grave inn på lavnivå språk for å gjøre produktarbeidet ditt . Dette betyr at hvis du bestemmer deg for å lage et animert skjelett som bruker bevegelsesdeteksjon og servomotorer til å bevege seg, kan du!
I tillegg til å kunne støtte ny maskinvare, får du verdifulle deler av Android-økosystemet til å jobbe med. Hvis du bruker allerede støttede funksjoner fra Android, for eksempel Kamera-API, Play Services og Firebase, kan du enkelt bygge en enhet som tar et bilde gjennom en Internett-tilkoblet enhet, og legg den til din back-end-tjeneste, for eksempel Firebase Storage, eller analyser bildet gjennom Google Play Service visjon API.
Gitt muligheten til å lage dine egne enheter og enkelt samhandle med Google Play Services og andre back-end-tjenester (brannbase, maskinlæringstjenester, etc.) lover Android Things å gi en brukervennlig plattform for raskt å lage nye tilkoblede enheter som kan bringes på markedet eller brukes til dine egne personlige prosjekter.
Hold deg oppdatert for noen dybdeopplæringsprogrammer om å få satt opp og bygge prosjekter med Android Things. For å lære mer om noen av disse relaterte teknologiene, sjekk ut våre andre opplæringsprogrammer her på Envato Tuts+!