Al meer dan een jaar werkte Google met het Project Brillo-besturingssysteem (dat op de lagere niveaus van Android was gebouwd) voor met Internet of Things (IoT) verbonden apparaten, zelfs zover dat het lessen en gesprekken erop volgde tijdens de Ubiquity Dev Top in januari 2016.
In december 2016 heeft Google een bijgewerkte versie van dit besturingssysteem uitgebracht met een ander niveau waarmee ontwikkelaars van Android-apps een uitgeklede versie van Android kunnen gebruiken bij het maken van verbonden apparaten. Hoewel Android Things zich momenteel in een vroege ontwikkelaar preview-status bevindt, ziet het er veelbelovend uit als een IoT-platform om snel prototypes te maken en gebruikers op grote schaal te ondersteunen.
In dit artikel geef ik je een introductie over hoe Android Things werkt en bekijk je enkele voorbeelden van hoe je het zou kunnen gebruiken.
Android Things is een lichtgewichtversie van Android die op verschillende hardwarematige prototypingborden kan worden geflasht om eenvoudig verbonden Internet of Things (IoT) -apparaten te kunnen maken. Dit maakt ingebedde codering toegankelijk voor ontwikkelaars die misschien geen eerdere ervaring hebben. Met Android Things heeft Google ook een bibliotheek geleverd die u kunt gebruiken om apps te bouwen die lezen van en schrijven naar verschillende pinnen op de kaarten, zodat u verschillende sensoren en actuatoren kunt aansluiten om met de wereld te communiceren.
Dus wat maakt Android Things anders dan andere IoT prototyping-oplossingen? Google heeft veel beenwerk gedaan om specifieke hardware prototyping boards te laten werken, en zal doorgaan met het aanbieden van updates voor ondersteuning van ingebouwde Bluetooth, draadloze software-updates en andere functionaliteit.
Dit betekent dat u, als ontwikkelaar en maker, kunt beginnen met het prototypen van uw IoT-apparaat met behulp van een ontwikkelbord zoals Raspberry Pi. Wanneer u klaar bent om uw product op de markt te brengen, kunt u een uitgeklede versie van de hardware ontwerpen om de productiekosten van de hardware te besparen.
Op het moment van dit artikel ondersteunt Android Things drie prototypingborden: de Raspberry Pi 3 Model B, de Intel Edison met Arduino breakout-kaart en de NXP Pico i.MX6UL.
Hoewel dit beperkt lijkt, biedt Google een beperkte ondersteunde hardwarelijst waarmee Google deze algemene prototypingborden volledig kan ondersteunen en biedt ontwikkelaars een stevig platform dat is getest en gecertificeerd.
Naast de eerder genoemde drie kaarten, ondersteunt Android Things binnenkort de Intel Joule 570x en de NXP Argon i.MX6UL, waardoor je meer hardware-opties voor ontwikkeling krijgt.
Als je eenmaal een prototypingboard hebt, wil je weten wat je ermee kunt bouwen.
Terwijl we het proces van het flitsen van een bord en het bouwen van verbonden projecten in latere zelfstudies zullen bespreken, kun je een lijst met voorbeeldprojecten vinden met behulp van stuurprogramma's van Google voor verschillende sensoren en actuatoren op hun Android Things Driver Samples GitHub-pagina.
Enkele voorbeelden van stuurprogramma's zijn servomotoren, PWB-luidsprekers (Pulse Width Modulation), knoppen, GPS-sensoren en op het HT16K33 ondersteunde alfanumerieke segmentdisplay.
Bovendien kunt u de bron voor deze stuurprogramma's op GitHub lezen om uw eigen stuurprogramma's voor digitale sensoren of digitale / PWM-actoren te maken, zoals dit snelle voorbeeld dat ik heb geschreven voor de HC SR501 bewegingsdetectiesensor.
Een ding om te onthouden is dat, op het moment van dit schrijven, Android Things in de eerste iteratie staat van de preview van de ontwikkelaar. Dit betekent dat, omdat het een vroege release is voor testen en feedback, sommige functies momenteel niet beschikbaar zijn of mogelijk fouten bevatten, aangezien het platform is getest en gebouwd.
Op dit moment is Bluetooth-communicatie niet ingeschakeld op de kaarten en ondersteuning voor eenvoudige analoge sensoren is niet opgenomen in de GPIO-klassen (Universal Input / Output) van Android Things, hoewel hier een technische redenering voor is en u kunt nog steeds SPI gebruiken en I2C, zoals vermeld in dit AOSP-probleem.
Omdat dit platform nog steeds nieuw is, zijn er niet veel stuurprogramma's voor sensoren of andere hardware, dus ontwikkelaars die het platform gebruiken, moeten hun eigen stuurprogramma's maken of het doen met wat momenteel beschikbaar is of door andere ontwikkelaars worden geopend in de Android Things-community..
Een van de beste dingen bij het bouwen van Internet of Things-apparaten is dat je niet beperkt bent tot de hardware die wordt geleverd met een telefoon, maar dat je complexe apparaten kunt bouwen die voldoen aan de behoeften van je project.
Hoewel u wellicht de stuurprogramma's voor uw eigen actuators en sensoren moet schrijven, is dit proces nog steeds relatief eenvoudig, aangezien het platform Java en een Android-basis gebruikt, zodat u niet in laagwaardige talen hoeft te graven om uw product te laten werken . Dit betekent dat als u besluit een geanimeerd skelet te maken dat bewegingsdetectie en servomotoren gebruikt om te bewegen, u dit kunt!
Naast de mogelijkheid om nieuwe hardware te ondersteunen, krijg je waardevolle delen van het Android-ecosysteem om mee te werken. Met behulp van reeds ondersteunde functies van Android, zoals de Camera API, Play Services en Firebase, kunt u eenvoudig een apparaat bouwen dat een foto maakt via een apparaat met internetverbinding en dit koppelen aan uw back-endservice, zoals Firebase Storage, of analyseer de afbeelding via de visie-API van Google Play Service.
Gezien de mogelijkheid om uw eigen apparaten te maken en eenvoudig te communiceren met Google Play-services en andere back-endservices (Firebase, machine learning-services, enz.), Belooft Android Things een gebruiksvriendelijk platform te bieden waarmee u snel nieuwe verbonden apparaten kunt maken dat kan op de markt worden gebracht of worden gebruikt voor uw eigen persoonlijke projecten.
Blijf op de hoogte voor een aantal diepgaande zelfstudies over het instellen en bouwen van projecten met Android Things. Bekijk onze andere handleidingen hier op Envato Tuts voor meer informatie over enkele van deze gerelateerde technologieën+!