Pendant plus d'un an, Google a travaillé avec le système d'exploitation Project Brillo (qui reposait sur les niveaux inférieurs d'Android) pour les appareils connectés à l'Internet des objets (IoT), allant même jusqu'à avoir des leçons et des discussions à ce sujet lors du développement d'Ubiquity. Sommet de janvier 2016.
En décembre 2016, Google a publié une version mise à jour de ce système d'exploitation avec un autre niveau qui permet aux développeurs d'applications Android d'utiliser une version simplifiée d'Android lors de la création de périphériques connectés. Bien qu'Android Things soit actuellement dans un état de prévisualisation pour les développeurs, il semble prometteur en tant que plate-forme IoT pour la création rapide de prototypes et l'assistance aux utilisateurs à grande échelle..
Dans cet article, je vais vous présenter le fonctionnement d’Android Things et quelques exemples de son utilisation..
Android Things est une version allégée d'Android qui peut être flashée sur différentes cartes de prototypage matériel, afin de créer facilement des périphériques Internet des objets (IoT) connectés. Cela rend le codage intégré accessible aux développeurs qui n'ont peut-être aucune expérience préalable. Avec Android Things, Google fournit également une bibliothèque que vous pouvez utiliser pour créer des applications qui lisent et écrivent sur différentes broches des cartes, vous permettant de connecter différents capteurs et actionneurs pour interagir avec le monde..
Qu'est-ce qui différencie donc Android Things des autres solutions de prototypage IoT? Google a déployé beaucoup d'efforts pour faire fonctionner des cartes de prototypage matérielles spécifiques et continuera à fournir des mises à jour pour prendre en charge la technologie Bluetooth, sans fil, les mises à jour logicielles et autres fonctions intégrées..
Cela signifie que vous, en tant que développeur et créateur, pouvez commencer par prototyper votre appareil IoT à l'aide d'une carte de développement telle que Raspberry Pi. Ensuite, lorsque vous êtes prêt à commercialiser votre produit, vous pouvez concevoir une version simplifiée du matériel afin de réduire les coûts de production..
Au moment de cet article, Android Things prend en charge trois cartes de prototypage: la carte Raspberry Pi 3 Model B, la carte Intel Edison avec Arduino et le NXP Pico i.MX6UL..
Bien que cela puisse sembler limité, une liste de matériel pris en charge restreint permet à Google de prendre totalement en charge ces cartes de prototypage courantes et offre aux développeurs une plate-forme robuste qui a été testée et certifiée..
Outre les trois cartes mentionnées précédemment, Android Things prendra bientôt en charge les processeurs Intel Joule 570x et NXP Argon i.MX6UL, ce qui vous offre davantage d'options matérielles pour le développement..
Une fois que vous avez un tableau de prototypage, vous voudrez savoir ce que vous pouvez en construire..
Bien que nous expliquions le processus de flashage d'un tableau et de construction de projets connectés dans des didacticiels ultérieurs, vous trouverez une liste d'exemples de projets utilisant des pilotes fournis par Google pour divers capteurs et actionneurs sur leur page Android Things Driver Samples GitHub..
Certains exemples de pilotes incluent les servomoteurs, les haut-parleurs à modulation de largeur d'impulsion (PWM), les boutons, les capteurs GPS et l'affichage de segments alphanumériques pris en charge par HT16K33..
De plus, vous pouvez lire la source de ces pilotes sur GitHub pour créer vos propres pilotes de capteurs numériques ou d'actionneurs numériques / PWM, comme cet exemple rapide que j'ai écrit pour le capteur de détecteur de mouvement HC SR501..
Une chose à garder à l'esprit est qu'au moment d'écrire ces lignes, Android Things en était à la première itération de l'aperçu de son développeur. Cela signifie que, comme il s'agit d'une version préliminaire pour les tests et les commentaires, certaines fonctionnalités sont actuellement indisponibles ou risquent de poser des problèmes car la plate-forme est testée et développée..
Actuellement, la communication Bluetooth n’est pas activée avec les cartes et la prise en charge des capteurs analogiques simples n’est pas incluse dans les classes d’entrée / sortie polyvalentes (GPIO) d’Android Things, bien qu’il existe un raisonnement technique pour cela, et que vous puissiez toujours utiliser SPI et Windows. I2C, comme mentionné dans ce numéro d'AOSP.
Comme cette plate-forme est encore nouvelle, il y a peu de pilotes pour les capteurs ou autres matériels. Les développeurs utilisant cette plate-forme devront donc créer leurs propres pilotes ou se débrouiller avec ce qui est actuellement disponible ou en open source auprès d'autres développeurs de la communauté Android Things..
L'une des meilleures choses à propos de la création de périphériques Internet des objets réside dans le fait que vous n'êtes pas limité au matériel fourni avec un téléphone, mais que vous êtes capable de créer des périphériques complexes qui répondent aux besoins de votre projet..
Bien que vous ayez peut-être besoin d'écrire les pilotes pour vos propres actionneurs et capteurs, ce processus est relativement simple, car la plate-forme utilise Java et une base Android. Vous n'avez donc pas besoin de fouiller dans les langages de bas niveau pour faire fonctionner votre produit. . Cela signifie que si vous décidez de créer un squelette animé utilisant la détection de mouvement et les servomoteurs pour vous déplacer, vous pouvez:!
En plus de pouvoir prendre en charge le nouveau matériel, vous bénéficiez de précieuses parties de l'écosystème Android. À l’aide de fonctionnalités déjà prises en charge depuis Android, telles que l’API de la caméra, Play Services et Firebase, vous pouvez facilement créer un périphérique prenant une photo via un périphérique connecté à Internet et le relier à votre service principal, tel que Firebase Storage, ou analyser l'image via l'API de vision du service Google Play.
Étant donné qu'il est possible de créer ses propres appareils et d'interagir facilement avec les services Google Play et d'autres services d'arrière-plan (Firebase, services d'apprentissage automatique, etc.), Android Things promet de fournir une plate-forme conviviale pour la création rapide de nouveaux appareils connectés. qui peut être mis sur le marché ou utilisé pour vos propres projets personnels.
Restez à l'affût de didacticiels détaillés sur la configuration et la construction de projets avec Android Things. Pour en savoir plus sur certaines de ces technologies, consultez nos autres tutoriels ici sur Envato Tuts.+!