Contrôlez un droïde BB-8 Star Wars avec gestes des bras et l'internet des objets IBM Bluemix

Ce que vous allez créer

Bienvenue! Dans notre précédent didacticiel, Contrôler un droïde avec votre esprit et l'internet des objets IBM Bluemix, nous avons décrit l'utilisation par Joshua Carr du casque Emotiv Insight pour contrôler un droïde Star Wars BB-8 avec ses pensées. Si vous ne me croyez pas, consultez-le ou regardez la vidéo ci-dessous.

Cela est rendu possible grâce à l'incroyable matériel grand public et à l'intégration d'IBM Bluemix avec l'Internet des objets.

Dans le tutoriel d'aujourd'hui, je vous guiderai tout au long de mon entretien avec Rob Peeren, spécialiste en conseil en informatique. Il a créé la vidéo en haut, montrant comment il utilisait un brassard et des gestes de bras pour contrôler BB-8 avec suffisamment de précision pour jouer au football (ou au football sans commotion cérébrale, comme certains l'appellent)..

Nous allons probablement continuer cette série sur IBM Bluemix et l’Internet des objets (IoT) avec des tutoriels spécifiques étape par étape sur la façon d’essayer plus de vos propres projets. Merci de nous faire savoir quels types de sujets IoT vous souhaiteriez voir plus écrits à l'avenir. 

Si vous souhaitez avoir une vue d'ensemble de IBM Bluemix, je vous encourage à regarder l'introduction de David Barnes ci-dessous:


Comme toujours, partagez vos idées et vos commentaires dans les commentaires ci-dessous ou contactez-moi directement sur Twitter @reifman. Vous pouvez également contacter Rob Peeren @robobob ou via @IBMCloud.

Composants du contrôleur de brassard

Voici les éléments de la démonstration du brassard de Peeren:


  • Le brassard de contrôle des gestes Myo
  • Le Raspberry Pi bleu qui reçoit l’entrée du brassard et l’envoie sur le nuage Bluemix (non illustré)
  • Le Raspberry Pi argentique qui transmet les données de Bluemix au BB-8 via Bluetooth Low Energy
  • Le droïde BB-8 de Sphero Star Wars
  • Balle de golf et Darth Vader non représentés (probablement dans leur caravane vedette)

Vous pouvez acheter le brassard Myo en noir ou blanc au prix de 199 USD:

Voici quelques vidéos d'introduction au brassard Myo, amusantes à regarder, surtout si vous ne les avez pas vues auparavant. 

Voici l'introduction générale du produit:

Et celui-ci cible davantage les développeurs:

Ils offrent une variété de solutions pour l'utilisation, ainsi qu'un excellent site de développement.

Et bien sûr, voici à nouveau BB-8 et comment cela est devenu:

Construire l'application

Passons maintenant à la façon dont Peeren a construit la démonstration à l'aide d'IBM Bluemix Internet of Things. Dans l'épisode d'aujourd'hui, je donnerai un aperçu général de mon entretien avec Peeren. Il est possible que nous fassions ensemble une étape à la fois dans un avenir rapproché. Faites-nous savoir dans les commentaires ci-dessous si cela vous intéresse.!

Voici une capture d'écran montrant comment Bluemix fonctionne avec les appareils et l'IdO:

Voici une image architecturale de haut niveau de ce qui se passe entre Bluemix et chacun des Raspberry Pis dans la vidéo de Peeren (pour en savoir plus sur MQTT, cliquez ici):

Configuration d'une application Bluemix

Puisque je ne vais pas vous guider dans la configuration de l'application, vous pouvez être intéressé par une visite de l'application Bluemix UX donnée par Tarun Gangwani, responsable de la conception chez IBM:

Fondamentalement, vous pouvez créer une application à partir de n’importe lequel des standards, y compris le Plate-forme Internet des objets.

Voici le tableau de bord de l'Internet des objets de Peeren, qui comprend le SDK pour NodeJS et la plate-forme de l'Internet des objets qu'il utilise pour recevoir les données du brassard Myo et les envoyer au BB-8:

Calibrer le brassard à vos mouvements

Peeren vous recommande de vous exercer avec le brassard Myo après l'avoir calibré. Voici une vidéo de Création d’un calibrage personnalisé de votre brassard Myo qui montre comment cela fonctionne (voir aussi Que peut réellement faire le brassard Myo):

En gros, vous le calibrez avec quelques gestes simples, puis vous exercez vos mouvements de manière à ce qu'il puisse comprendre vos intentions. Peeren a utilisé les gestes suivants pour la vidéo:

  • Faire signe de tourner à gauche
  • Agitant pour tourner à droite
  • Poing pour le faire arrêter
  • Écarter les doigts pour le faire aller
  • Lever le bras pour qu’il tourne à 180 ° (Tony Hawk serait fier et dirait ensuite: "Fais-le dans les airs Droid!")

Tout comme il a fallu des heures à Carr pour former Emotiv Insight, Peeren indique qu'il faut de la pratique pour travailler avec le Myo. Les systèmes de contrôle ne sont pas encore complètement automatiques. Vous ne pouvez pas simplement mettre le casque et piloter avec précision l'hélicoptère (désolé de vous brûler les auteurs de films d'action.)

Envoi de la télémétrie du brassard à Bluemix

Comme je l'ai mentionné ci-dessus, le Raspberry Pi bleu reçoit les informations du brassard et l'envoie au nuage Bluemix. Pour cela, il exécute du code Python et MQTT pour communiquer avec Bluemix..

Pour l'essentiel, le brassard Myo envoie la télémétrie via Bluetooth à l'adaptateur Bluetooth du Raspberry Pi. Ensuite, le code Python prend la télémétrie et l’envoie à Bluemix dans le cloud. Toutes les données arrivent sous forme de charge JSON.

Voici une capture d'écran du code Python de Peeren:

Si vous souhaitez approfondir ce domaine, je vous recommande de consulter le portail des développeurs Thalmic Labs et sa page de bibliothèque non officielle. Vous pourriez également regarder cette vidéo liée au brassard Myo dirigeant un robot à roues Raspberry Pi (il a une super bande son):

Traitement des données de brassard dans Bluemix

Dans Bluemix, les données peuvent être transformées à l'aide de l'éditeur visuel Node-RED. Nous devons convertir les gestes Myo entrants en commandes que le BB-8 comprend dans son pilote / langage.

Par exemple, brassard en haut est traduit en BB-8: démarrer et arrêter. Voici une capture d'écran du flux de traduction de Peeren Node-RED:


Envoi de commandes à BB-8

Pour obtenir des commandes de Bluemix au robot, elles sont envoyées de Bluemix via Internet à NodeJS et au SDK Cylon.js de l’argent Raspberry Pi. Le Silver Pi envoie des commandes via Bluetooth au droïde BB-8.

Cylon.js est un framework JavaScript pour la robotique, l'informatique physique et l'Internet des objets. Il est incroyablement facile de commander des robots et des appareils. Il existe également un SDK Cylon.js spécifique pour le BB-8 de Sphero. Voir aussi le pilote Cylon.js sur GitHub.

Voici quelques exemples de code Cylon de Peeren se connectant depuis Bluemix via MQTT à BB8 via cylon-sphéroïde:

Une fois que les commandes sont reçues par le BB-8, ses systèmes internes activent chaque commande, créant ainsi le mouvement et les effets d'éclairage du droïde..

Clés à emporter

J'ai demandé à Peeren ce qui était le plus difficile à propos de cet effort, et il a répondu: «C'était en fait assez simple.» Il a dit qu'il connectait juste un tas d'API.. 

«Je n'ai rien construit ici. Je n'ai écrit aucun pilote de périphérique ou code de niveau inférieur. J'utilise les API et me connecte de manière standard à Bluemix via le protocole MQTT. Je n'avais rien à inventer pour que ça marche. "

Peeren souhaite nous inciter à envisager d’utiliser Bluemix de manière plus globale. Certes, je suis inspiré par tout ce que Bluemix peut faire avec le casque Emotiv Insight, le brassard Myo et le matériel Raspberry Pi. C'est incroyable jusqu'où l'industrie a évolué.

À l'adolescence, j'ai expérimenté la capture de signaux vocaux et rêvé d'une reconnaissance. Au collège, j’ai expérimenté la tablette à stylet et comment la reconnaissance de l’écriture pourrait fonctionner (démontrant cette fin d'un après-midi à Nathan Myhrvold m'a aidé à décrocher mon premier emploi chez Microsoft.) Mais maintenant, l'essentiel est possible avec Bluemix et l'Internet of Things.

Peeren dit: "La plomberie de base est très simple." Et Bluemix offre plus de 120 services prêts à l'emploi; "Il ne s'agit pas que de brassards et de robots." Ou microphones et reconnaissance vocale, c'est beaucoup plus.

Il suggère d’expérimenter le moteur d’analyse Bluemix pour augmenter l’intelligence de l’interprétation des gestes ou ses capacités de reconnaissance visuelle..

Lorsque vous créez votre propre application dans Bluemix, vous avez tout au même endroit. Vous n'avez pas à aller sur différentes plates-formes. Un seul endroit pour les règles commerciales, un moteur de règles de reporting, Hadoop, etc. Les possibilités sont presque illimitées..

Et après?

J'espère que vous avez apprécié nos deux démonstrations et didacticiels vidéo IBM Bluemix sur l'Internet des objets. Peut-être que vous vous sentirez inspiré d'essayer de construire votre propre démonstration.

Peeren m'a dit que la meilleure partie de Bluemix IoT est que rien n'est jamais très compliqué. Il est capable d’atteindre ses objectifs en combinant les éléments de base proposés par Bluemix et des fournisseurs tiers..

IBM propose également une gamme de formations et de certifications pour Bluemix via ses sites developerWorks. Voici quelques ressources connexes:

  • Initiation au cours en ligne IBM Bluemix
  • Démarrage rapide des applications, du code, des tutoriels et des vidéos
  • 200 jours Bluemix
  • Forum Bluemix

Si vous souhaitez en savoir plus sur Bluemix et IoT, merci de nous le faire savoir dans les commentaires ou de nous contacter sur Twitter @reifman ou Rob Peeren @robobob ou via @IBMCloud. Si vous construisez une application IoT cool, faites-le nous savoir et nous écrirons peut-être une fonctionnalité sur la vôtre.!

Vous pouvez rechercher de futurs tutoriels de toutes sortes sur ma page d’instructeur Envato Tuts +. J'espère que vous allez également consulter mes deux séries Comment programmer avec Yii2 et construire votre démarrage avec PHP sur la construction de Meeting Planner.

Si vous souhaitez en savoir plus sur IBM Bluemix et Internet of Things, visitez le site http://ibm.com/bluemix..

Liens connexes

  • IBM Bluemix Internet des objets
  • Le droïde BB-8 de Star Wars de Sphero
  • Page de développement de Myo Armband and Thalmic Labs
  • Node-RED 
  • Cylon.js et pilote BB-8
  • Contrôlez un droïde avec votre esprit et IBM Bluemix (Envato Tuts +)
  • Balle de golf Top Flite
  • Darth Vader Action Figure