Controlla un droide BB-8 di Star Wars con gesti delle braccia e Internet degli oggetti Bluemix IBM

Cosa starai creando

Benvenuto! Nel nostro precedente tutorial, Control a Droid With Your Mind e IBM Bluemix Internet of Things, abbiamo coperto l'uso dell'auricolare Emotiv Insight di Joshua Carr per controllare con i suoi pensieri un droide BB-8 di Star Wars. Se non mi credi, dai un'occhiata o guarda il video qui sotto.

È reso possibile con alcuni incredibili hardware di consumo e l'integrazione di Bluemix con Internet of Things.

Nel tutorial di oggi, ti guiderò attraverso la mia intervista con il consulente IT Specialista Rob Peeren. Ha creato il video in primo piano nella parte superiore, mostrando come ha usato i gesti di braccia e braccia per controllare BB-8 con sufficiente precisione per giocare a calcio (o calcio senza traumi come alcuni lo chiamano).

Probabilmente continueremo questa serie su IBM Bluemix e l'Internet of Things (IoT) con tutorial passo-passo specifici su come provare più progetti personali. Facci sapere quali tipi di argomenti IoT ti piacerebbe vedere più scritti in futuro. 

Se desideri una panoramica più ampia di IBM Bluemix, ti invito a guardare l'introduzione di David Barnes di seguito:


Come sempre, condividi le tue idee e feedback nei commenti qui sotto o contattami direttamente su Twitter @reifman. Puoi anche contattare Rob Peeren @robobob o @IBMCloud.

Armband Controller Components

Ecco gli elementi della dimostrazione del bracciale di Peeren:


  • Il bracciale di controllo Myo Gesture
  • Il blu Raspberry Pi che riceve input dalla fascia da braccio e lo invia alla nuvola Bluemix (non nella foto)
  • Il Silver Raspberry Pi che fornisce dati da Bluemix al BB-8 tramite Bluetooth Low Energy
  • Il droide BB-8 Sphero Star Wars
  • Pallina da golf e Darth Vader non mostrati (probabilmente girovagare nel loro trailer principale)

È possibile acquistare la fascia da braccio Myo in bianco o nero per $ 199 USD:

Ecco un paio di video introduttivi di Myo Armband che sono divertenti da guardare, specialmente se non l'hai mai visto prima. 

Ecco l'introduzione generale del prodotto:

E questo è più mirato agli sviluppatori:

Offrono una varietà di soluzioni per l'utilizzo e un eccellente sito per gli sviluppatori.

E, naturalmente, ecco di nuovo BB-8 e come è stato:

Costruire l'applicazione

Ora, immergiti nel modo in cui Peeren ha costruito la dimostrazione utilizzando IBM Bluemix Internet of Things. Nell'episodio di oggi, darò una panoramica generale della mia intervista a Peeren. È possibile che faremo un passo alla volta insieme nel prossimo futuro: facci sapere nei commenti qui sotto se ti interesserebbe questo!

Ecco uno screenshot che mostra come Bluemix funziona con i dispositivi e l'IoT:

Ecco un'immagine architettonica di alto livello di ciò che sta accadendo tra Bluemix e ciascuno dei Raspberry Pis nel video di Peeren (per ulteriori informazioni su MQTT qui):

Impostazione di un'applicazione Bluemix

Dato che non ti guiderò durante l'installazione dell'applicazione, potresti essere interessato a un tour dell'UX dell'applicazione Bluemix fornito da IBM Design Lead, Tarun Gangwani:

Fondamentalmente, puoi creare un'applicazione da uno qualsiasi dei piatti di Bluemix, incluso il Avvio piattaforma Internet of Things.

Ecco l'Internet of Things Dashboard di Peeren, che include il SDK per NodeJS e la Piattaforma Internet of Things che utilizza per ricevere i dati dal bracciale Myo e inviarlo al BB-8:

Calibrare l'Armband per i tuoi movimenti

Peeren consiglia di esercitarsi con il bracciale Myo dopo averlo calibrato. Ecco un video di Creazione di una calibrazione personalizzata di Myo Armband che mostra come funziona (vedi anche Cosa può fare effettivamente il bracciale Myo):

Fondamentalmente, lo si calibra con alcuni semplici gesti e quindi si esercitano i movimenti in modo che possa raccogliere le proprie intenzioni. Peeren ha utilizzato i seguenti gesti per il video:

  • Salutando per girare a sinistra
  • Salutando per girare a destra
  • Pugno per farla smettere
  • Spalmare le dita per farlo andare
  • Alzando il braccio per ruotare di 180 (Tony Hawk sarebbe orgoglioso e poi dire, "Fallo in Droid a mezz'aria!")

Proprio come Carr ha impiegato ore per allenare l'Emotiv Insight, Peeren dice che ci vuole pratica per lavorare con il Myo. I sistemi di controllo non sono ancora completamente automatici: non puoi semplicemente indossare il casco e pilotare con precisione l'elicottero (mi spiace di abbatterti scrittori di film d'azione.)

Invio di Telemetria dell'Armando a Bluemix

Come accennato in precedenza, il blu Raspberry Pi riceve input dalla fascia da braccio e lo invia alla nuvola Bluemix. Lo fa eseguendo codice Python e MQTT per comunicare con Bluemix.

In sostanza, Myo Armband invia la telemetria tramite Bluetooth all'adattatore Bluetooth sul Raspberry Pi. Quindi, il codice Python acquisisce la telemetria e lo invia a Bluemix nel cloud. Tutti i dati arrivano come un carico utile JSON.

Ecco uno screenshot del codice Python di Peeren:

Se vuoi approfondire quest'area, ti consiglio di consultare il portale per sviluppatori di Thalmic Labs e la sua pagina di biblioteca non ufficiale. Potresti anche controllare questo video correlato di un bracciale Myo che dirige un robot con ruote Raspberry Pi (ha una colonna sonora fantastica):

Elaborazione dei dati dell'Armband all'interno di Bluemix

All'interno di Bluemix, i dati sono trasformabili utilizzando l'editor visuale Node-RED. Abbiamo bisogno di convertire i gesti Myo in entrata in comandi che il BB-8 comprende nel suo driver / lingua.

Ad esempio, l'armband up è tradotto in BB-8: start e stop. Ecco uno screenshot del flusso di traduzione Node-RED di Peeren:


Consegna di comandi a BB-8

Per ottenere comandi da Bluemix al robot, vengono inviati da Bluemix via Internet a NodeJS e l'SDK Cylon.js sull'argento Raspberry Pi. L'argento Pi invia i comandi via Bluetooth al droide BB-8.

Cylon.js è un framework JavaScript per robotica, informatica fisica e Internet delle cose. Rende incredibilmente facile il comando di robot e dispositivi. C'è anche uno specifico SDK Cylon.js per BB-8 di Sphero. Vedi anche il driver Cylon.js su GitHub.

Ecco alcuni dei codici Cinger di Peeren che collegano Bluemix via MQTT a BB8 via Cylon-sphero-bile:

Una volta ricevuti i comandi da BB-8, i suoi sistemi interni attivano ciascun comando creando gli effetti di movimento e di illuminazione del droide.

Takeaways chiave

Ho chiesto a Peeren quale fosse la cosa più difficile in questo sforzo, e lui ha risposto, "In realtà è stato abbastanza semplice." Ha detto che sta solo collegando un sacco di API. 

"Non ho costruito nulla qui. Non ho scritto alcun driver di periferica o codice di livello inferiore. Sto usando le API e mi collego in modo standard a Bluemix tramite il protocollo MQTT. Non ho dovuto inventare nulla per farlo funzionare. "

Peeren vuole ispirarci a pensare di usare Bluemix in modi più ampi. Certamente, sono ispirato da tutto ciò che Bluemix può fare con le cuffie Emotiv Insight, l'hardware Myo Armband e Raspberry Pi. È incredibile quanto lontano sia arrivato il settore.

Da adolescente, ho sperimentato l'acquisizione del segnale vocale e ho sognato il riconoscimento. All'università, ho sperimentato con pen tablet e il modo in cui il riconoscimento della calligrafia poteva funzionare (dimostrando questo tardo pomeriggio a Nathan Myhrvold mi ha aiutato ad atterrare il mio primo lavoro in Microsoft.) Ma ora la maggior parte di questo è possibile con Bluemix e Internet of Things.

Peeren dice: "L'impianto idraulico di base è molto semplice." E Bluemix offre oltre 120 servizi enterprise-ready; "Non si tratta solo di bracciali e robot". O microfoni e riconoscimento vocale: è molto di più.

Suggerisce di sperimentare con il motore di analisi Bluemix per aumentare l'intelligenza dell'interpretazione dei gesti o delle sue capacità di riconoscimento visivo.

Quando crei la tua applicazione in Bluemix, hai tutto in un unico posto. Non devi andare su piattaforme diverse. Un posto per le regole aziendali, un motore per le regole di reporting, Hadoop, ecc. Le possibilità sono quasi infinite.

Qual'è il prossimo?

Spero che abbiate apprezzato le nostre dimostrazioni ed esercitazioni sul video IBM Bluemix su Internet of Things. Forse ti sentirai ispirato a provare a costruire la tua dimostrazione.

Peeren mi ha detto che la parte migliore di Bluemix IoT è che nulla è mai molto complicato. È in grado di raggiungere i suoi obiettivi combinando gli elementi costitutivi offerti da Bluemix e dai fornitori di terze parti.

IBM offre anche una gamma di formazione e certificazione per Bluemix attraverso i suoi siti developerWorks. Ecco alcune risorse correlate:

  • Guida introduttiva al corso online IBM Bluemix
  • Avvio rapido di app, codice, tutorial e video
  • 200 Bluemix Days
  • Forum Bluemix

Se vuoi vedere di più su Bluemix e IoT, ti preghiamo di farci sapere-post nei commenti o di contattarci su Twitter @reifman o Rob Peeren @robobob o tramite @IBMCloud. Se crei una fantastica applicazione per dispositivi IoT, faccelo sapere e forse scriveremo una funzione sul tuo!

Puoi cercare tutorial futuri di ogni genere da me sulla mia pagina Envato Tuts + istruttore. Spero che verificherete anche le mie due serie Come programmare con Yii2 e creare la vostra startup con PHP sulla costruzione di Meeting Planner.

Se desideri saperne di più su IBM Bluemix e Internet of Things, visita http://ibm.com/bluemix.

Link correlati

  • IBM Bluemix Internet of Things
  • Droide BB-8 di Star Wars di Sphero
  • Pagina degli sviluppatori Myo Armband e Thalmic Labs
  • Node-RED 
  • Cylon.js e BB-8 Driver
  • Controlla un Droid With Your Mind e IBM Bluemix (Envato Tuts +)
  • Top Flite Golf Ball
  • Darth Vader Action Figure