Kontroller en Droid med ditt sinn og IBM Bluemix Internett av ting

Hva du skal skape

Tingenes Internett kommer til livet

Vi har alle hørt om hvordan ting til Internett (IoT) lar oss kontrollere lyspærer, termostater og sikkerhetsalarmer eksternt fra våre smarttelefoner, men er det en annen side til IoT? Jeg kan gjøre alle de nevnte tingene fra telefonen min i dag (unntatt av en eller annen grunn min termostat har nylig sluttet å koble til Internett), men mindre ofte tenker vi på hvordan IoT kan forandre måten vi samhandler med den fysiske verden på.

Det viser seg, ved hjelp av IBM Bluemix og litt billig forbruksmaskinvare, kan du rette en BB8-droid med dine tanker. Alvor. 

Jeg visste ikke at dette var mulig før Envato Tuts + ba meg skrive brikken.

Virkelig, du kan kontrollere en Droid med tankene dine

Kanskje den fyren med den beste jobben i verden, Joshua Carr, Teknisk Lenke IBM Bluemix, kanskje har den perfekte demonstrasjonen, som du sikkert har sett på videoen over. 


Selv om roboter alltid har vært rike på sci-fi, var tankekontroll enda lenger der ute i fantasibland. Som Carr sa, "Etter å ha sett Yoda løft X-vingen ut av vannet, har jeg brukt sannsynligvis altfor lenge enn jeg vil gjerne innrømme stirre på biler for å se om jeg kunne flytte dem." Det fungerte ikke da han var yngre. Men nå viser han oss hvordan vi kan gjøre begge deler. Og det er det jeg snakker med deg om i dag.

Og, som alltid, del dine ideer, kommentarer og tilbakemelding i kommentarene nedenfor, eller nå meg direkte på Twitter @ reifman. For dagens veiledning, er du også invitert til å nå Carr direkte @ josh_schwaa eller @IBMCloud.

Før vi dykker inn, vil jeg nevne at Emotiv-headsettet Carr bruker i videoen er arbeidet til et bestemt kvinnelig geni, Tan Le. Arbeider i teknologi, vi er ofte omgitt av menn og vet ikke ofte kvinners bidrag i vitenskap og teknologi. Jeg vil fremheve flere av Le's arbeid nedenfor. Selvfølgelig lar IBM Bluemix deg koble til alle typer maskinvare og er produsentens agnostiker.

Hva er IBM Bluemix?

Bluemix er IBMs åpne standard cloud-plattform for å bygge, kjøre og administrere apps og tjenester. Den tilbyr en omfattende katalog over tjenester. 

Hvis du vil bruke tankene dine til å gjøre endringer i den virkelige verden, for eksempel å styre droids, så vil du utnytte Bluemix IoT-tjenester. La oss se på hvordan Carr gjorde det.

Her er de store bildene som han pleide å lage videoen:

I den virkelige verden ser dette diagrammet ut slik (ikke bekymre deg, du kan også få headsettet i svart):

En titt på maskinvarekomponentene

Her er maskinvaren som Carr brukte til videoen:

  • Emotiv Insight-headsettet
  • Sphero Star Wars BB-8 Droid
  • Windows 10-skrivebordet for BTLE SMART-tilkobling til Emotiv-innsikt
  • Raspberry Pi kjører Raspbian Jessie for BTLE-tilkobling til BB-8
  • Pluggbar 4.0 + USB-adapter

Sphero Star Wars BB-8 Droid

Her er stjernen til showet vårt (den lille fyren tar Carrs anvisninger), BB-8, som du alle kjenner og elsker fra Star Wars, The Force Awakens.

Her er noen kule ting som Sphero BB-8 Droid tilbyr for rundt $ 149,99 USD, veier inn på rundt 200 gram:

  • Topphastighet på 4,5 mph (7ft / s)
  • Intern veiledning av gyroskop og akselerometer
  • Bluetooth Smart BLE-tilkobling (100 fots rekkevidde)
  • Induktiv ladning (over 1 times spill på full ladning) 
  • iOS og Android og Windows Phone kompatibel 

Deretter er det hodesettet - enheten som mottar Carrs tanker og sender dem til Bluemix.

Emotiv Insight

Emotiv Insight er et slank, 5-kanals, trådløst EEG-headsett som registrerer dine hjernebølger og oversetter dem til mer meningsfylte data. Denne høye romlige oppløsningen gir grundig informasjon om hjernens aktivitet, men Insight er optimalisert for å produsere rene, robuste signaler til daglig bruk. (se, her er det svart):


Her er en visuell gjennomsiktig 360-graders spinn av Emotiv Insights fleksible trykte kretsbaserte elektronikk:

Utroligt begynte Emotiv Insight som et Kickstarter-prosjekt, og lovet et "hodesett som gjør at forbrukerne i hovedsak kan lese sin egen hjerne og forstå hva som skjer i hodet ditt." Det koster rundt $ 299 USD.

Her er medgrunnlegger og oppfinner Tan Le i den opprinnelige Kickstarter-videoen:


Du kan også se på TED-snakk: Et hodesett som leser hjernebølgene dine.

Her er noen av headsettets funksjoner:

  • Gir høy romlig oppløsning, som sikrer "hel hjerne" måling.
  • Gir tilgang til rå EEG-data med programvareabonnement.
  • Nineakse bevegelsessensorer for presisjonsmåling av hodeposisjon og bevegelse.
  • Identifiserer ytelsesstatistikk, mentale kommandoer og ansiktsuttrykk.
  • Bygget med hydrofil polymer sensor teknologi som krever ingen forberedelse eller klebrig geler å bruke (nyttig når du bare kommer ut av dusjen og trenger å sende BB-8 av for å distrahere stormtroopers).
  • Minst fire timers batteridriftstid.
  • Trådløs tilkobling til telefon, nettbrett og PC.
  • Windows, OSX, Linux, Android og IOS kompatibel.

Stort bilde av programvaren 

Og her er programvaren du trenger:

  • IBM Bluemix
  • Emotiv Full SDK (kun nedlastbar ved kjøp av Emotiv Insight)
  • Python BB-8 driver (GitHub)
  • IBMs Java IoT-bibliotek og Python IoT-bibliotek for respektive maskinvare

Her er et visuelt sammendrag av datastrømmen fra hodetelefonen til drømmen din:

Bruke IBM Bluemix til å sette alt sammen

Carr beskriver hvordan han legger sammen komponentene i videoen i 1. trinn for å bruke 'The Force'. Hvis du ønsker å gjenskape sin videodemonstrasjon, oppfordrer jeg deg til å lese opplæringen sin. Jeg har lånt fra hans beskrivelser for å gi en oversikt nedenfor.

Implementeringsdetaljer

Bluemix Internet of Things Kjeleplater

Carr brukte Bluemix til å lage en Internett av Ting-app fra sine kjeleplater:

Dette skaper en forekomst av Node-RED som du kan få tilgang til fra nettleseren din, og gir deg mulighet til å koble hodesettet og droid sammen.

Trener Emotiv Insight

"Hodesettet selv bruker kjent teknologi for å lete etter bestemte markører, ting som spenning og interesse," sier Carr. "Det vi kan gjøre er å trene hodesettet vårt for å gjenkjenne visse kjente kommandoer som vi tror, ​​og enheten lærer i hovedsak at dette betyr handling A. Da kan vi sende denne informasjonen via Bluetooth til Internett."

Han fortsetter: "Men når det er der, hva gjør vi med dataene ... det er der IBM-teknologien kommer inn, vi behandler dataene, vi flyter den gjennom og vi gjør meningsfulle samhandlinger med små mengder kode."

"Når du har din innsikt, og er kjent med hvordan du bruker den for å få sterk tilkobling (se Emotiv Headset kontrollpanel for detaljer), vil neste steg være å bruke følelsene som er gjenkjent rett ut av boksen (spenning, fokus, et al.) eller å trene hodetelefonen din. "

Det tok Carr flere timer å trene hodetelefonen til et tilfredsstillende nivå. Emotiv anbefaler at du får en kommando som arbeider før du prøver å legge til en annen, og han er enig. 

"I min demo fikk jeg trykk og trekk, men du kan alltid legge til flere kommandoer. Tilsynelatende, opptil 12!"

Motta data fra Emotiv Insight

Carr brukte den Java-baserte SDK fra Emotiv og Java IoT-biblioteket for å koble headsettet til Bluemix. Disse gjorde det mulig for ham å motta data fra headsettet for å kjøre kode der.

IBMs Foundation for Internet of Things hjelper deg å sette opp legitimasjon for å sende og motta data i skyen. Hver applikasjon har en organisasjons-ID og en API-nøkkel for å registrere enheten din.

Som han beskriver, er det nødvendig med mye konfigurasjon, men IoTF-dokumentene vil lede deg. Vi ønsker ikke at skyen vil sende våre tanker tilfeldig til noen andres droider.

Som hendelser identifiseres av headsettet, blir de publisert i Bluemix-forekomsten din. Du kan lære det grunnleggende ved Node-RED ved å lese sin offisielle dokumentasjon. Når data er sendt, vil du se det vises i Node-RED-forekomsten din:

Sende data fra Bluemix til BB-8

Avhengig av hvordan du strukturerer dataene du publiserer fra din IoT Foundation-klient, må du kanskje bruke Node-RED for å lage instruksjoner som vil bli mottatt av Pi som er koblet til BB-8. 

Den Node-RED visuelle redaktøren er et ledningsverktøy for Internett av ting som lar deg enkelt og effektivt ta data og kjøre funksjoner mot det, noen ganger med kode og noen ganger uten at du eksplisitt må skrive kode selv.

Her er et skjermbilde av Node-RED i en annen IBM BB-8 Droid demonstrasjon:

Carr begrenset sitt kommandosett til trykkdra, og nøytral for videoen. 

Raspberry Pi vil trenge koden som vil koble til BB-8. Du må i hovedsak gjenta hva du gjorde med koden din for hodesettet, men i stedet for publisering data, vil du være påmelding til de dataene. Med andre ord tar Pi inn hendelser som overføres til skyen fra headsettet og gir dem til droid.

For å koble Pi til BB-8 brukte Carr BlueZ til å utføre en Low Energy Bluetooth-skanning. Dette hjelper Pi å finne MAC-adressen til lokale BTLE-enheter som BB-8.

Han la også til IoT Foundation Python-biblioteket på Pi. Dette tillot ham å opprette en ny klient i Python som kobler seg til IoT Foundation og importerer BB-8 Driver.

Han brukte deretter enkle betingede utsagn mot mottatte data for å finne ut hvilken kommando som skulle utstedes, for eksempel rull() beordre å flytte BB-8.

Nedenfor instruerer han til BB-8 å returnere til ham:

Igjen anbefaler jeg at du besøker opplæringen for mer detaljer: Ta første skritt for å bruke 'The Force'.

Hva blir det neste?

"Hvis jeg kunne lage noen teknologi fra Star Wars-ekte, ville det ikke være lightsabers," forklarer Carr. "Kan du forestille deg å gi en lys sabel til noen det første de ville gjøre, er å kutte armen av." Han foreslår at vi tar barnetrinn. "Først raskere enn lette romskip, og så lysbåter."

Vel, Envato Tuts + har bedt meg om å skrive en oppfølgingsoppgave om å kontrollere BB-8 med armbevegelser. Her er en innledende video av Rob Peeren som vi vil dekke neste uke:


Peeren sa til meg at den beste delen om Bluemix IoT er at ingenting er noen gang svært komplisert. Han kan nå sine mål ved å kombinere byggeblokkene som Bluemix og tredjepartsleverandører tilbyr. Carr echoed dette: "Det var et så lett skritt for meg å se hvordan kan jeg bruke hjernen min til å kontrollere roboter rundt meg."

Vi trenger ikke å være Jedi for å gjøre dette.

Så sier jeg, ta med romskip og lysbjelker. Selvkjørende biler virker så passé (beklager Elon).

Når det gjelder Carr, undersøker han å bruke IBM Cloud og forskjellige APIer for å gå dypere ved hjelp av Watsons tale-til-tekst for å lette BB-8 i forskjellige farger, eller å ha BB-8 gjenspeile sin nåværende stemning ved å ha IBMs Analytics-tjeneste, Watson, analyser hans Twitter-aktivitet.

Han vil også gjerne høre dine tanker, spørsmål eller forslag om å sette Bluemix og BB-8 til større arbeid @ josh_schwaa eller @IBMCloud. 

Carr sier, "Vi skal ta et stort sprang i å føle seg virkelig knyttet til andre mennesker," og jeg er enig. Jeg gleder meg til å se denne teknologien utvikle seg og vokse.

Hvis du har barn, spesielt døtre, fortell dem om dette. Vis dem videoen. Gutt, jente, selvvalgt kjønnsnomenklatur, fortell dem at en kvinne førte til oppfinnelsen av headsettet - og la dem få vite at det er greit å drømme stort om deres fremtid.

Kan ikke vente på armbåndsveiledningen?

Jeg vet at dette er ganske fantastiske ting. Jeg måtte gå tilbake og se på videoen for å sjekke at Emotiv Insight analyserer hjernebølger og ikke bare ansiktsbevegelser. Det er. 

Hvis du ikke kan vente på armbåndsopplæringen som følger med Peers innsats, er det noen ekstra Bluemix IoT-ressurser for å fortsette å fortsette med:

SilverHook Powerboats Bruker IBM Bluemix 

Jeg foreslår at du ser videoen som beskriver hvordan SilverHook Powerboats bruker IoT for å overvåke og optimalisere motorens ytelse under løp:

Sett opp din egen Bluemix-app for smarttelefonens sensorer

Sjekk ut skalering fra 1 til 100 k + tilkoblede enheter med IoT på Bluemix, som beskriver hvordan du kobler smarttelefonen til Bluemix, og kjører et webprogram med navnet IoT Phone. Appen får tilgang til smarttelefonakselerasjon, orientering og plassering; tenk på det som en bærbar bevegelse og bevegelsessporing. Det er ganske enkelt å sette opp dette i dag.

Kjøp Texas Instrumentsensorer til bruk med Bluemix Apps

Du kan også bruke Bluemix med disse $ 49 IoT-sensorene fra Texas Instruments; se IBM IoT med Smartphone sensorer:

Prøv en annen Sphero BB-8 App for Bluemix

Her er en annen IBM Developer Works-oppskrift, som styrer Sphero-BB8 ved hjelp av IBM Watson og Node-RED:


Og det er flere eksemplarer for å kontrollere en BB-8 Droid fra hvor som helst i verden (GitHub).

Gå tilbake og se en oversikt over bruk av Bluemix 

Til slutt, for en mer generell oversikt over IBM Bluemix og dens bredere evner, se David Barnes 'Opprett, distribuer og administrer programmer i Cloud:

I Avslutning

Hold deg oppdatert på den kommende armbanddroidkontroll episoden. I mellomtiden, vennligst gi oss beskjed om hvilke IBM Bluemix-emner du vil se mer skrevet om i fremtiden. 

Du kan legge inn dem i kommentarene nedenfor eller nå meg direkte på Twitter @ reifman. Jeg håper du også sjekker ut min andre Envato Tuts + -serie Slik programmerer du med Yii2 og bygger oppstart med PHP.

Jeg håper du hadde så mye moro å lese dette som jeg skrev det. Fremtiden vil bli stor!


Hvis du ønsker å lære mer om IBM Bluemix og Internett av ting, kan du besøke http://ibm.com/bluemix.

Relaterte linker

  • IBM Bluemix Internett av ting
  • Bruk The Force - Flytt en BB-8 Droid med ditt sinn (IBM Bluemix Dev)
  • Sphero er Star Wars BB-8 Droid
  • Emotiv Insight and Developers Page
  • Node-RED 
  • Cylon.js og BB-8 Driver
  • Hvordan Sphero BB-8 Toy Works (YouTube)
  • Hvordan Neal Scanlan og Star Wars: Force Awakens Team brakte BB-8 til livet (Star Wars)
  • Kunne dette $ 300-headsettet forandre livene til 'låst inn' pasienter? (Guardian)