Advertisement
  1. Code
  2. Cloud Services

Steuere einen Droiden mit Deinen Gedanken und IBMs Bluemix Internet of Things.

Scroll to top
Read Time: 13 min
Sponsored Content

This sponsored post features a product relevant to our readers while meeting our editorial guidelines for being objective and educational.

() translation by (you can also view the original English article)

What You'll Be Creating

Das Internet der Dinge wird zum Leben erweckt

Wir haben alle bereits davon gehört, wie wir mit dem Internet der Dinge (eng. "Internet of things", Abkürzung IoT) Lichter, Heizungen und Alarmanlage über unsere Smartphones steuern können. Aber gibt es noch mehr Anwendungsmöglichkeiten im IoT? Ich kann alle zuvor erwähnten Dinge heute mit meinem Handy steuern (außer, warum auch immer, mein Heizung. Die kann sich seit kurzem nicht mehr mit dem Internet verbinden), aber noch zu selten stellen wir uns vor, wie das IoT verändern kann, wie wir mit der Welt um uns herum interagieren können.

Es stellt sich heraus, dass Du mit der Hilfe von IBM Bluemix und einiger preiswerter Hardware, einen BB8-Droiden mit Deinen Gedanken steuern kannst. Wirklich!

Ich wusste bis heute nicht, dass das möglich ist, bis Envato Tuts+ mich gebeten hat, zu diesem Thema einen Artikel zu verfassen.

Aber es stimmt, Du kannst einen Droiden mit Deinen Gedanken steuern.

Der Mann mit dem wahrscheinlich besten Job der Welt, Joshua Carr, Technical Liaison IBM Bluemix, demonstriert dies vielleicht perfekt im oben zu sehenden Video.

IBM Bluemix IoT Emotiv BB-8 Demo - Picture of Joshua Carr holding BB8 DroidIBM Bluemix IoT Emotiv BB-8 Demo - Picture of Joshua Carr holding BB8 DroidIBM Bluemix IoT Emotiv BB-8 Demo - Picture of Joshua Carr holding BB8 Droid

Während Roboter schon immer im Reich der Science-Fiction angesiedelt waren, war die Gedankenkontrolle noch weiter weg, ja fast schon im Fantasy-Land anzutreffen. Wie Carr sagte: "Nachdem ich sah, wie Yoda einen X-Wing aus dem Wasser hob, habe ich wahrscheinlich länger als ich zugeben möchte auf Autos gestarrt, um zu sehen, ob ich diese bewegen kann." Das hat nicht funktioniert, als er noch jünger war. Aber heute zeigt er uns, wie man beides schaffen kann. Und ist auch unser heutiges Thema.

Und wie immer – Teilt Eure Ideen, kommentiert und schreibt Feedback in den Diskussionen am Ende dieser Seite, oder schreibt mir direkt auf Twitter über @reifmann. Für das heutige Tutorial, möchte ich Euch zusätzlich dazu einladen, Carr direkt über @josh_schwaa oder @IBMCloud zu kontaktieren.

Bevor wir loslegen, möchte ich noch kurz anmerken, dass das Emotiv Headset das Werk einer bestimmten, genialen Frau namens Tan Le ist. In der Technologiebranche ist man oft von Männern umgeben und weiß nicht immer um die Verdienste von Frauen in der Wissenschaft und Technologie. Ich werde später noch mehr von Les Arbeit heraus stellen. Natürlich erlaubt es Dir IBM Bluemix, viele verschiedene Hardware von verschiedensten Herstellern zu verwenden.

Was ist IBM Bluemix?

Bluemix ist IBMs Cloud-Plattform mit offenen Standards, um Apps und Services zu entwickeln und laufen zu lassen. Sie bietet einen umfangreichen Katalog an Services.

Wenn Du Deine Gedanken verwenden möchtest, um die Welt z.B. dadurch zu verändern, dass Du Droiden mit ihnen steuerst, solltest Du Bluemixs IoT-Services nutzen.Sehen wir uns mal an, wie es Carr gemacht hat.

Hier siehst Du eine grobe Übersicht über die einzelnen Elemente, die er im Video verwendet:

IBM Bluemix IoT Emotiv BB-8 Demo - Graphic of components of todays tutorialIBM Bluemix IoT Emotiv BB-8 Demo - Graphic of components of todays tutorialIBM Bluemix IoT Emotiv BB-8 Demo - Graphic of components of todays tutorial

In echt sieht das ganze dann so auf (Keine Angst, das Headset gibt es auch in schwarz):

IBM Bluemix IoT Emotiv BB-8 Demo - Photo of Emotiv Headset on table with BB-8IBM Bluemix IoT Emotiv BB-8 Demo - Photo of Emotiv Headset on table with BB-8IBM Bluemix IoT Emotiv BB-8 Demo - Photo of Emotiv Headset on table with BB-8

Ein Blick auf die Hardware-Komponenten

Das ist die Hardware, die Carr für das Video verwendet hat:

Der Sphero Star Wars BB-8 Droid

IBM Bluemix IoT Emotiv BB-8 Demo - Sphero Retail box for Star Wars BB8 DroidIBM Bluemix IoT Emotiv BB-8 Demo - Sphero Retail box for Star Wars BB8 DroidIBM Bluemix IoT Emotiv BB-8 Demo - Sphero Retail box for Star Wars BB8 Droid

Das ist der Star unserer Show (Der kleine Kerl, der Carrs Anweisungen ausführen wird), BB-8, den Ihr alle aus Star Wars The Force Awakens kennt und liebt.

Hier sind ein paar coole Dinge, die der Sphero BB-8 Droid, der ca. 200 Gramm wiegt und um die 149.99 Dollar kostet, mitbringt:

  • Höchstgeschwindigkeit von ca. 7 km/h
  • Interne Steuerung durch ein Gyroskop und einen Beschleunigungsmesser
  • Bluetooth Smart BLE Verbindung (ca. 30 Meter Reichweite)
  • Induktives Aufladen (Hält dann bei voller Ladung ca. eine Stunde)
  • iOS, Android und Windows Phone kompatibel

Und dann das Headset – Das Gerät, das Carrs Gedanken empfängt und dann an Bluemix sendet.

Das Emotive Insight

Das Emotive Insight ist ein schlanker, 5-Kanal drahtloses EEG-Headset, das Deine Gehirnströme aufzeichnet und dann in umsetzbare Daten übersetzt. Seine hohe, räumliche Auflösung erzeugt sehr umfangreiche Daten über Deine Gehirnaktivität. Aber Insight ist darauf optimiert, klare und robuste Signale für die alltägliche Verwendung zu produzieren (hier siehst Du es in schwarz):


IBM Bluemix IoT Emotiv BB-8 Demo - Emotiv Insight Headset Website ImageIBM Bluemix IoT Emotiv BB-8 Demo - Emotiv Insight Headset Website ImageIBM Bluemix IoT Emotiv BB-8 Demo - Emotiv Insight Headset Website Image

Hier siehst Du eine 360 Ansicht des Innenlebens des Emotiv Insight mit seinen flexiblen Schaltkreisen:

Erstaunlicherweise begann die Entwicklung des Emotiv Insight als Kickstarter-Projekt, welches ein "Headset, das es seinen Anwendern erlaubt, ihr eigenes Gehirn zu lesen und zu verstehen, was darin vorgeht" versprach. Es kostet ca. 299 Dollar.

Hier ist die Mitgründerin und Erfinderin Tan Le im original Kickstarter-Video zu sehen:


Hier kannst Du Dir ihren TED Talk "Ein Headset, das Deine Gehirnströme auslesen kann" ansehen.

Das sind einige Features des Headsets:

  • Es hat eine große, räumliche Auflösung, um sicher zu gehen, die Ströme des gesamten Gehirns zu messen.
  • Es bietet Zugriff auf die EEG-Rohdaten.
  • Es hat Bewegungssensoren mit neun Achsen, um die Kopfposition und Kopfbewegung präzise messen zu können.
  • Es erfasst Performance-Metriken, mentale Befehle und Gesichtsausdrücke.
  • Es basiert auf hydrophiler Polymer-Sensor-Technologie, welche keinerlei Vorbereitung oder klebrige Gele voraussetzt. (Sehr hilfreich, wenn Du gerade aus der Dusche kommst und den BB-8 schnell losschicken musst, um Stormtrooper abzulenken).
  • Es besitzt eine Akku-Laufzeit von mindestens vier Stunden.
  • Es kann kabellos mit Deinem Handy, Tablet oder PC verbunden werden.
  • Es ist kompatibel mit Windows, Linus, Android und iOS.

Übersicht über die verwendete Software

Das ist die Software, die Du benötigst:

Hier siehst Du einen Überblick über den Datenfluss vom Headset zu Deinem Droiden:

IBM Bluemix IoT Emotiv BB-8 Demo - Data Flow Graphic for Data from Headset to RobotIBM Bluemix IoT Emotiv BB-8 Demo - Data Flow Graphic for Data from Headset to RobotIBM Bluemix IoT Emotiv BB-8 Demo - Data Flow Graphic for Data from Headset to Robot

IBM Bluemix verwenden, um alles zusammen zu fügen

Carr beschreibt in Taking your 1st steps to using ‘The Force’, wie er die Komponenten aus dem Video zusammengestellt hat. Wenn Du den Aufbau aus dem Video selbst nachmachen möchtest, lege ich Dir nahe, sein Tutorial zu lesen. Ich habe mir ein paar Passagen daraus "ausgeborgt", um Dir eine Übersicht über das Thema geben zu können.

IBM Bluemix IoT Emotiv BB-8 Demo - Bluemix How it All Fits Together from WebsiteIBM Bluemix IoT Emotiv BB-8 Demo - Bluemix How it All Fits Together from WebsiteIBM Bluemix IoT Emotiv BB-8 Demo - Bluemix How it All Fits Together from Website

Details der Implementierung

Bluemix Internet of Things Boilerplates

Carr nutzt die Bluemix Boilerplates, um eine Internet of Things App zu entwickeln:

IBM Bluemix IoT Emotiv BB-8 Demo - Bluemix Boilerplates MenuIBM Bluemix IoT Emotiv BB-8 Demo - Bluemix Boilerplates MenuIBM Bluemix IoT Emotiv BB-8 Demo - Bluemix Boilerplates Menu

Dieser Code erstelle eine Instanz von Node-RED, die Du über Deinen Browser erreichen kannst und welche es dann ermöglicht, das Headset und den Droiden miteinander zu verbinden.

Das Emotiv Insight trainieren

"Das Headset selbst verwendet eine Technologie, die nach speziellen Markern, wie z.B. Interesse oder Begeisterung sucht", sagt Carr. "Was wir machen, ist dem Headset beizubringen, bestimmte und bereits bekannte Gedanken zu erkennen. Die Geräte lernen dann, vereinfacht gesagt, dass dies z.B. Aktion "A" bedeutet. Danach können wir diese Informationen dann über Bluetooth in's Internet senden."

Weiter sagt er, "Aber wenn die Daten erst einmal dort angekommen sind – Was machen wir dann mit ihnen? Das ist der Punkt, an dem die IBM Technologie in's Spiel kommt. Wir verarbeiten die Daten und erstellen daraus, unter der Verwendung einiger Zeilen Code, sinnvolle Interaktionen."

"Sobald Du Dich mit Deinem Insight Headset vertraut gemacht und eine starke Verbindung mit ihm aufgebaut hast (für Details sieh Dir das Emotiv Headset control panel an), ist der nächste Schritt, Dich zu entscheiden, ob Du die mitgelieferte Standard-Emotionserkennung (Begeisterung, Fokus usw.) nutzen, oder das Headset selbst trainieren möchtest."

Bis Carr mit dem Ergebnis zufrieden war, dauerte es einige Stunden. Emotiv schlägt vor, dass Du erst ein Kommando komplett fertig trainierst, bevor Du zum nächsten übergehst. Carr sagt, dass dies der richtige Weg ist.

"In meiner Demonstration habe ich nur die Kommandos schieben und ziehen trainiert, aber Du kannst noch einige mehr hinzufügen. Nämlich bis zu 12 Kommandos!"

Daten von Emotiv Insight empfangen

Carr verwendete das Java basierte SDK von Emotiv und die Java IoT Bibliothek, um das Headset mit Bluemix zu verbinden. Dies machte es ihm möglich, Daten vom Headset zu empfangen und darauf basierenden Code auszuführen.

IBMs Internet of Things Foundation hilft Dir auch dabei, Zugangsdaten für das Senden und Empfangen von Daten über die Cloud aufzusetzen. Jede Anwendung hat dafür eine Organisations-ID und einen API Schlüssel, um Dein Gerät zu registrieren.

Wie er beschreibt, ist eine ganze Menge an Konfiguration nötig. Aber die IoTF Dokumentation wird Dir dabei helfen. Es wäre ja schlecht, wenn die Cloud Deine Gedanken an Droiden von anderen Benutzern sendet.

Wenn das Headset bestimmte Events identifiziert, werden diese an die Bluemix Instanz weiter gegeben. Du kannst die Basics von Node-RED über die offizielle Dokumentation lernen. Sobald die Daten versendet wurden, wirst Du diese in der Node-RED Instanz sehen:

Daten von Bluemix zum BB-8 senden

Abhängig davon, wie Du die Daten, die von Deinem IoT Foundation Client gesendet werden, strukturierst, kann es nötig sein, dass du Node-RED verwenden musst, um zu Definitionen zu erstellen, die der Pi empfängt, der mit dem BB-8 verbunden ist.

Der visuelle Editor des Node-RED bietet ein Verbindungs-Tool für das IoT, das es Dir erlaubt, Daten einfach und effizient durch Funktionen zu leiten. Manchmal musst Du dafür eigenen Code schreiben, aber manchmal wird dieser Code schon automatisch mitgeliefert.

Hier siehst Du einen Screenshot eines Node-RED aus einem anderen IBM BB-8 Droid Beispiel:

IBM Bluemix IoT Emotiv BB-8 Demo - Nodered Snapshot from Bluemix IoTIBM Bluemix IoT Emotiv BB-8 Demo - Nodered Snapshot from Bluemix IoTIBM Bluemix IoT Emotiv BB-8 Demo - Nodered Snapshot from Bluemix IoT

Carr hat in diesem Video nur die Befehle push, pull und neutral verwendet.

Der Raspberry Pi, der mit dem BB-8 verbunden wird, benötigt diesen Code. Du musst, vereinfacht gesagt, wiederholen, was Du mit dem Headset bereits gemacht hast. Aber statt Daten zu senden, wirst Du nun Daten empfangen. In anderen Worten: Der Pi empfängt die Daten Deines Headsets aus der Cloud und gibt sie an den Droiden weiter.

Um den Pi mit dem BB-8 zu verbinden, nutzt Carr BlueZ, um einen "Low Energy Bluetooth Scan" durchzuführen. Das hilft dem Pi dabei, die MAC Adresse von lokalen BTLE Devices, wie es der BB-8 ist, zu ermitteln.

Außerdem hat er auf dem Pi noch die IoT Foundation Python Bibliothek installiert. Dies erlaubte es ihm, einen neuen Client in Python aufzusetzen, der sich mit IoT Foundation verbindet und den BB-8 Treiber importiert.

Dann nutzte er einfache Abfragen, um über die empfangen Daten zu entscheiden, welches Kommando ausgeführt werden soll. Ein Beispiel wäre z.B. die roll() Funktion, um den BB-8 zu bewegen.

Hier gibt er dem BB-8 die Anweisung, zu ihm zurück zu kommen:

IBM Bluemix IoT Emotiv BB-8 Demo - Still from video of Carr Controlling BB-8IBM Bluemix IoT Emotiv BB-8 Demo - Still from video of Carr Controlling BB-8IBM Bluemix IoT Emotiv BB-8 Demo - Still from video of Carr Controlling BB-8

Auch hier möchte ich Dir noch einmal sein Tutorial 'Taking your 1st steps to using ‘The Force’ nahe legen, in dem er noch mehr in's Details geht.

Was kommt als nächstes?

IBM Bluemix IoT Emotiv BB-8 Demo - Jedi or not quote any developer can build thisIBM Bluemix IoT Emotiv BB-8 Demo - Jedi or not quote any developer can build thisIBM Bluemix IoT Emotiv BB-8 Demo - Jedi or not quote any developer can build this

"Wenn ich irgendeine Technologie aus Star Wars wahr werden lassen könnte, wären das nicht die Lichtschwerter", erklärt Carr. "Kannst Du Dir vorstellen was passieren würde, wenn Du jemandem, der noch nie ein Lichtschwert in seinen Händen gehalten hat, ein Lichtschwert gibst? Er würde sich damit seinen Arm abhacken". Er schlägt vor, lieber erst einmal kleine Schritte zu machen. "Zuerst schneller werden als leichte Raumschiffe, und danach erst die Lichtschwerter".

Envato Tuts+ hat mich gefragt, ob ich eine Fortsetzung zu diesem Tutorial schreiben könnte, in dem ich einen BB-8 über Arm-Gesten steuere. Das hier ist ein Vorschau-Video von Rob Peeren, in dem zu sehen ist, was wir nächste Woche umsetzen werden:

Peeren sagte mir, dass das Beste am Bluemix IoT ist, dass es nicht allzu komplex ist. Er kann seine Ziele ganz einfach erreichen, indem er die einzelnen Teile, die Bluemix und einige Drittanbieter zur Verfügung stellen. Auch Carr bestätigt das: "Es war wirklich einfach heraus zu finden, wie ich mein Gehirn nutzen kann, um Roboter damit zu steuern".

Wir müssen keine Jedi sein, um das zu können.

Also sage ich: Auf zu den Raumschiffen und Lichtschwertern! Selbstfahrende Autos sind doch schon wieder out (sorry Elon).

Wie Carr forscht er unter Zuhilfenahme der IBM Cloud und verschiedener APIs, um noch tiefer zu gehen – Watsons Sprache-Zu-Text um den BB-8 in verschiedenen Farben leuchten zu lassen, oder die momentane Stimmung des BB-8 anzeigen zu lassen indem er IBMs Analytics Service Watson seine Twitter Aktivität überprüfen lässt.

Er möchte vielleicht auch gerne Deine Gedanken, Fragen und Vorschläge zum Thema Bluemix und BB-8 lesen. Schreibe ihm dazu über @josh_schwaa oder @IBMCloud.

Carr sagt: "Wir werden einen riesigen Sprung machen, indem wir uns wirklich mit anderen Menschen verbunden fühlen". Und ich stimme dem zu. Ich freue mich zu sehen, wie diese Technologie wächst und wie sie sich entwickeln wird.

Wenn Du Kinder hast, vor allem Töchter, erzähle Ihnen von diesem Thema. Zeige ihnen das Video. Junge, Mädchen, Selbstbestimmte Gender-Nomenklatur – erzähle ihnen, wie eine Frau die Entwicklung des Headsets geführt hat – und lasse sie wissen, dass es in Ordnung ist, große Träume für die Zukunft zu haben.

Du kannst das Armband Tutorial nicht erwarten?

Ich weiß, dass das alles ziemlich interessant ist. Ich musste das Video selbst auch noch einmal ansehen, um sicher zu gehen, dass das Emotiv Insight wirklich Gehirnströme und nicht nur Gesichtsausdrücke analysiert. Es ist wirklich so.

Wenn Du das Armband Tutorial, das über Peerens Erfolge berichtet, nicht erwarten kannst – hier sind ein paar zusätzliche Ressourcen zum Bluemix IoT:

SilverHook Powerboats verwendet IBM Bluemix

Ich schlage vor, das Video, das zeigt, wie SilverHook Powerboat IoT verwendet, um die Motoren-Performance während eines Rennens aufzuzeichnen und zu optimieren, anzusehen:

Deine eigene Bluemix App für Deine Smartphone Sensoren aufsetzen

Schau Dir Scaling from 1 to 100K+ connected devices with IoT on Bluemix an, welches zeigt, wie Du Dein Smartphone an Bluemix anschliesst, welches eine Web-Applikation namens IoT Phone laufen lässt. Die App greift auf die Smartphone Sensoren für Beschleunigung, Orientierung und Gebiets-Ortung zu. Stell Dir das wie einen tragbaren Bewegungstracker vor. Das Ganze ist heute sehr leicht umzusetzen.

IBM Bluemix IoT Emotiv BB-8 Demo - Bluemix IoT HTML5 Phone appIBM Bluemix IoT Emotiv BB-8 Demo - Bluemix IoT HTML5 Phone appIBM Bluemix IoT Emotiv BB-8 Demo - Bluemix IoT HTML5 Phone app

Kaufe Dir Texas Instruments Sensoren, um diese mit Bluemix Apps zu verwenden

Bluemix kannst Du auch mit diesen 49 Dollar IoT-Sensoren von Texas Instruments verwenden; siehe dazu auch IBM IoT über Deine Smartphone Sensoren:

Probiere eine andere Sphero BB-8 App für Bluemix aus

Lies dazu: IBM Developer Works RecipeControlling your Sphero-BB8 using IBM Watson and Node-RED:

IBM Bluemix IoT Emotiv BB-8 Demo - Architectural Map of Data Flow Between BB8 - Watson IoT and MQTTIBM Bluemix IoT Emotiv BB-8 Demo - Architectural Map of Data Flow Between BB8 - Watson IoT and MQTTIBM Bluemix IoT Emotiv BB-8 Demo - Architectural Map of Data Flow Between BB8 - Watson IoT and MQTT

Und hier gibt es noch weiteren Beispiel-Code um einen BB-8 Droid von überall auf der Welt aus zu steuern (GitHub).

Mache noch mal einen Schritt zurück und schaue eine Übersicht über das Entwickeln mit Bluemix an.

Zum Schluß noch mal ein allgemeinerer Überblick über IBM Bluemix und dessen Möglichkeiten. Sieh Dir dazu David Barnes Create, Deploy and Manage Your Applications in the Cloud an:

Zusammenfassend

Das nächste Tutorial, in dem wir einen Droiden über ein Armband steuern, kommt bald. Schau mal wieder vorbei! In der Zwischenzeit erzähle uns, welche IBM Bluemix Themen Dich interessieren und über welche Du in Zukunft gerne mehr erfahren möchtest.

Du kannst Deine Wünsche in den Kommentaren weiter unten posten oder mit direkt an @reifman schreiben. Ich würde mich freuen, wenn Du Dir auch meine anderen Envato Tuts+ Tutorials, wie z.B. How to Program With Yii2 und Building Your Startup With PHP ansehen würdest.

Ich hoffe Du hattest an diesem Tutorial genau so viel Spaß wie ich. Du Zukunft wird groß sein!

IBM Bluemix IoT Emotiv BB-8 Demo - IBM Bluemix Logo and LinkIBM Bluemix IoT Emotiv BB-8 Demo - IBM Bluemix Logo and LinkIBM Bluemix IoT Emotiv BB-8 Demo - IBM Bluemix Logo and Link

Wenn Du mehr über IBM Bluemix und das Internet der Dinge erfahren möchtest, besuche http://ibm.com/bluemix.

Links zum Thema

Advertisement
Did you find this post useful?
Want a weekly email summary?
Subscribe below and we’ll send you a weekly email summary of all new Code tutorials. Never miss out on learning about the next big thing.
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.