Google arbeitete über ein Jahr lang mit dem Betriebssystem Project Brillo (das auf den unteren Android-Ebenen aufgebaut war) für mit Internet of Things (IoT) verbundene Geräte zusammen und ging sogar so weit, dass es während des Ubiquity Dev Unterricht und Gespräche darüber gab Gipfel im Januar 2016.
Im Dezember 2016 veröffentlichte Google eine aktualisierte Version dieses Betriebssystems mit einer anderen Schicht, in der Entwickler von Android-Anwendungen beim Erstellen verbundener Geräte eine abgespeckte Version von Android verwenden können. Obwohl sich Android Things derzeit in einer frühen Entwicklungsvoraussage befindet, sieht es als IoT-Plattform für die schnelle Erstellung von Prototypen und die Unterstützung von Benutzern im großen Maßstab vielversprechend aus.
In diesem Artikel werde ich Ihnen eine Einführung in die Funktionsweise von Android Things geben und einige Beispiele zur Verwendung von Android anschauen.
Android Things ist eine leichtgewichtige Version von Android, die auf verschiedene Hardware-Prototyping-Boards übertragen werden kann, um auf einfache Weise verbundene Internetgeräte (IoT-Geräte) zu erstellen. Dadurch wird Embedded-Codierung für Entwickler verfügbar, die möglicherweise keine Vorkenntnisse haben. Mit Android Things hat Google auch eine Bibliothek bereitgestellt, mit der Sie Apps erstellen können, die von verschiedenen Pins auf den Boards lesen und darauf schreiben, sodass Sie verschiedene Sensoren und Aktoren anschließen können, um mit der Welt zu interagieren.
Was unterscheidet Android Things von anderen IoT-Prototyping-Lösungen? Google hat viel Arbeit geleistet, um bestimmte Hardware-Prototyping-Boards zum Laufen zu bringen, und wird auch weiterhin Updates bereitstellen, um integrierte Bluetooth-, Wireless-, Software-Updates und andere Funktionen zu unterstützen.
Dies bedeutet, dass Sie als Entwickler und Entwickler mit dem Prototyping Ihres IoT-Geräts mit einem Entwicklungsboard wie Raspberry Pi beginnen können. Wenn Sie dann bereit sind, Ihr Produkt auf den Markt zu bringen, können Sie eine abgespeckte Version der Hardware entwerfen, um Hardwareproduktionskosten zu sparen.
Zum Zeitpunkt dieses Artikels unterstützt Android Things drei Prototyping-Boards: das Raspberry Pi 3 Model B, das Intel Edison mit Arduino Breakout-Board und das NXP Pico i.MX6UL.
Obwohl dies möglicherweise begrenzt erscheint, kann Google mit einer eingeschränkten Liste unterstützter Hardware diese gängigen Prototyping-Boards vollständig unterstützen und bietet Entwicklern eine robuste Plattform, die getestet und zertifiziert wurde.
Neben den bereits erwähnten drei Boards wird Android Things in Kürze auch die Intel Joule 570x und den NXP Argon i.MX6UL unterstützen, sodass Sie weitere Hardwareoptionen für die Entwicklung erhalten.
Sobald Sie ein Prototyping-Board haben, möchten Sie wissen, was Sie damit bauen können.
Während wir in späteren Lernprogrammen den Vorgang des Flash-Flashens und das Erstellen verbundener Projekte durchgehen, finden Sie eine Liste mit Beispielprojekten, die Treiber verwenden, die von Google für verschiedene Sensoren und Aktoren auf der GitHub-Seite Android Things Driver Samples bereitgestellt werden.
Einige Treiberbeispiele umfassen Servomotoren, PWM-Lautsprecher (Pulse Width Modulation), Tasten, GPS-Sensoren und die von HT16K33 unterstützte alphanumerische Segmentanzeige.
Außerdem können Sie die Quelle für diese Treiber auf GitHub lesen, um eigene Treiber für digitale Sensoren oder Digital- / PWM-Aktoren zu erstellen, wie dieses kurze Beispiel, das ich für den Bewegungsdetektor-Sensor HC SR501 geschrieben habe.
Zu beachten ist, dass sich Android Things zum Zeitpunkt der Erstellung dieses Dokuments zum ersten Mal in seiner Entwicklervorschau befindet. Dies bedeutet, dass einige Features derzeit nicht verfügbar sind oder aufgrund des Testens und der Erweiterung der Plattform fehlerhaft sind, da es sich um eine frühe Version für Tests und Feedback handelt.
Derzeit ist die Bluetooth-Kommunikation für die Karten nicht aktiviert, und die Unterstützung für einfache analoge Sensoren ist nicht in den Android Things-GPIO-Klassen (Allzweck-Eingabe / Ausgabe) enthalten. Allerdings gibt es technische Gründe dafür, und Sie können weiterhin SPI und verwenden I2C, wie in dieser AOSP-Ausgabe erwähnt.
Da diese Plattform immer noch neu ist, gibt es nicht viele Treiber für Sensoren oder andere Hardware. Daher müssen Entwickler, die diese Plattform verwenden, entweder eigene Treiber erstellen oder sich mit dem, was derzeit verfügbar ist, oder mit anderen Entwicklern anderer Android-Communitys auseinandersetzen.
Eine der besten Sachen beim Bau von Internet of Things-Geräten ist, dass Sie nicht auf die mit einem Telefon gelieferte Hardware beschränkt sind, sondern komplexe Geräte entwickeln können, die den Anforderungen Ihres Projekts entsprechen.
Obwohl Sie möglicherweise die Treiber für Ihre eigenen Aktuatoren und Sensoren schreiben müssen, ist dieser Prozess immer noch relativ unkompliziert, da die Plattform Java und eine Android-Basis verwendet. Sie müssen also nicht in einfachen Sprachen suchen, damit Ihr Produkt funktioniert . Dies bedeutet, wenn Sie sich für ein animiertes Skelett entscheiden, das Bewegungserkennung und Servomotoren verwendet, um sich zu bewegen!
Neben der Unterstützung neuer Hardware erhalten Sie wertvolle Teile des Android-Ökosystems, mit denen Sie arbeiten können. Mit den bereits unterstützten Funktionen von Android, z. B. Camera API, Play Services und Firebase, können Sie ganz einfach ein Gerät erstellen, das ein Bild über ein mit dem Internet verbundenes Gerät aufnimmt und an Ihren Back-End-Service, wie Firebase Storage oder Analysieren Sie das Bild mithilfe der Vision-API von Google Play Service.
Mit der Möglichkeit, eigene Geräte zu erstellen und problemlos mit Google Play Services und anderen Backend-Services (Firebase, Machine Learning Services usw.) zu interagieren, verspricht Android Things eine benutzerfreundliche Plattform für die schnelle Erstellung verbundener Geräte das kann auf den Markt gebracht oder für Ihre eigenen persönlichen Projekte verwendet werden.
Bleiben Sie dran für einige ausführliche Tutorials zum Einrichten und Erstellen von Projekten mit Android Things. Weitere Informationen zu einigen dieser verwandten Technologien finden Sie in unseren anderen Tutorials zu Envato Tuts+!