Steuern Sie einen Droid mit Ihrem Verstand und IBM Bluemix Internet of Things

Was Sie erstellen werden

Das Internet der Dinge erwacht zum Leben

Wir alle haben gehört, dass das Internet der Dinge (IoT) die Fernsteuerung von Glühlampen, Thermostaten und Sicherheitsalarmen von unseren Smartphones aus ermöglicht, aber gibt es eine andere Seite des IoT? Ich kann heute alle oben genannten Dinge von meinem Telefon aus erledigen (außer aus irgendeinem Grund hat mein Thermostat kürzlich keine Verbindung mehr mit dem Internet hergestellt), aber weniger häufig stellen wir uns vor, wie das IoT die Art und Weise verändern kann, wie wir mit der physischen Welt interagieren.

Es stellt sich heraus, dass Sie mit Hilfe von IBM Bluemix und einiger kostengünstiger Consumer-Hardware einen BB8-Droid mit Ihren Gedanken steuern können. Ernst. 

Ich wusste wirklich nicht, dass dies möglich war, bis Envato Tuts + mich bat, das Stück zu schreiben.

Wirklich, du kannst einen Droid mit deinen Gedanken kontrollieren

Vielleicht hat der Mann mit dem besten Job der Welt, Joshua Carr, Technical Liaison IBM Bluemix, vielleicht die perfekte Demonstration, die Sie wahrscheinlich gerade in dem obigen Video gesehen haben. 


Während Roboter schon immer das Reich der Science-Fiction waren, war die Gedankenkontrolle im Fantasy-Land noch weiter draußen. Carr sagte: "Nachdem ich gesehen hatte, wie Yoda den X-Wing aus dem Wasser gehoben hatte, habe ich wahrscheinlich viel zu lange damit verbracht, als ich zugeben möchte, dass ich auf Autos starrte, um zu sehen, ob ich sie bewegen könnte." Das hat nicht funktioniert, als er jünger war. Aber jetzt zeigt er uns, wie wir beides erreichen können. Und darüber werde ich heute mit Ihnen sprechen.

Teilen Sie Ihre Ideen, Kommentare und Rückmeldungen wie immer in den folgenden Kommentaren mit oder erreichen Sie mich direkt bei Twitter @reifman. Für das heutige Tutorial können Sie Carr auch direkt unter @josh_schwaa oder @IBMCloud erreichen.

Bevor wir eintauchen, möchte ich erwähnen, dass das Emotiv-Headset, das Carr im Video verwendet, das Werk eines bestimmten Frauengenies ist, Tan Le. Bei der Arbeit mit Technologie sind wir oft von Männern umgeben und wissen es oft nicht die Beiträge von Frauen in Wissenschaft und Technik. Ich werde im Folgenden mehr über Le's Arbeit hervorheben. Natürlich können Sie mit IBM Bluemix alle Arten von Hardware anschließen und sind herstellerunabhängig.

Was ist IBM Bluemix??

Bluemix ist eine Open-Standards-Cloud-Plattform von IBM zum Erstellen, Ausführen und Verwalten von Apps und Services. Es bietet einen umfangreichen Katalog an Dienstleistungen. 

Wenn Sie Ihren Verstand nutzen möchten, um Änderungen in der realen Welt vorzunehmen, beispielsweise die Regie von Droiden, dann sollten Sie die IoT-Dienste von Bluemix nutzen. Schauen wir uns an, wie Carr es getan hat.

Hier sind die großen Bildelemente, mit denen er das Video erstellt hat:

In der realen Welt sieht dieses Diagramm so aus (Keine Sorge, Sie können das Headset auch in Schwarz erhalten.):

Ein Blick auf die Hardwarekomponenten

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

  • Das Emotiv Insight-Headset
  • Der Sphero Star Wars BB-8 Droid
  • Windows 10-Desktop für die BTLE SMART-Verbindung zu Emotiv Insight
  • Himbeer-Pi mit Raspbian Jessie für BTLE-Verbindung zu BB-8
  • Steckbarer USB 4.0-Adapter

Der Sphero Star Wars BB-8 Droid

Hier ist der Star unserer Show (der kleine Kerl, der Carrs Anweisungen nimmt), 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 für etwa 149,99 USD bietet und etwa 200 Gramm wiegt:

  • Höchstgeschwindigkeit von 4,5 mph (7 ft / s)
  • Interne Führung durch Gyroskop und Beschleunigungssensor
  • Bluetooth Smart BLE-Verbindung (100 Fuß Reichweite)
  • Induktives Laden (mehr als 1 Stunde Spielzeit bei voller Ladung) 
  • Kompatibel mit iOS und Android & Windows Phone 

Dann gibt es noch das Headset - das Gerät, das Carrs Gedanken empfängt und an Bluemix sendet.

Die emotionale Einsicht

Das Emotiv Insight ist ein schlankes, drahtloses 5-Kanal-EEG-Headset, das Ihre Gehirnströme aufzeichnet und in aussagekräftigere Daten umwandelt. Diese hohe räumliche Auflösung liefert detaillierte Informationen über Ihre Gehirnaktivität, aber Insight ist optimiert, um saubere, robuste Signale für den täglichen Gebrauch zu erzeugen (siehe hier ist es in schwarz):


Hier sehen Sie eine visuelle, transparente 360-Grad-Drehung der flexiblen Elektronik für gedruckte Schaltungen von Emotiv Insight:

Erstaunlicherweise begann der Emotiv Insight als Kickstarter-Projekt und versprach ein "Headset, mit dem Verbraucher im Wesentlichen ihr eigenes Gehirn lesen und verstehen können, was in Ihrem Kopf vorgeht." Es kostet ungefähr 299 USD.

Hier ist der Mitbegründer und Erfinder Tan Le im Original-Kickstarter-Video:


Sie können auch ihr TED-Gespräch beobachten: Ein Headset, das Ihre Gehirnströme liest.

Hier einige Funktionen des Headsets:

  • Bietet eine hohe räumliche Auflösung und gewährleistet so die Messung des gesamten Gehirns.
  • Bietet Zugriff auf EEG-Rohdaten mit Software-Abonnement.
  • Neunachsige Bewegungssensoren zur präzisen Messung der Kopfposition und -bewegung.
  • Identifiziert Leistungskennzahlen, mentale Befehle und Gesichtsausdrücke.
  • Gebaut mit hydrophiler Polymersensortechnologie, für die keine Vorbereitung oder klebrige Gele erforderlich sind (hilfreich, wenn Sie gerade erst aus der Dusche steigen und BB-8 abschicken müssen, um Sturmtruppen abzulenken)..
  • Mindestens vier Stunden Akkulaufzeit.
  • Drahtlose Verbindung zu Telefon, Tablet und PC.
  • Kompatibel mit Windows, OSX, Linux, Android und iOS.

Großes Bild der Software 

Und hier ist die Software, die Sie benötigen:

  • IBM Bluemix
  • Emotiv Full SDK (nur beim Kauf von Emotiv Insight verfügbar)
  • Python BB-8-Treiber (GitHub)
  • IBMs Java-IoT-Bibliothek und Python-IoT-Bibliothek für die entsprechende Hardware

Hier ist eine visuelle Zusammenfassung des Datenflusses vom Headset zum Droid:

IBM Bluemix verwenden, um alles zusammenzubringen

Carr beschreibt, wie er die Komponenten im Video in Erste Schritte zur Verwendung von 'The Force' zusammenstellt. Wenn Sie seine Videodemonstration wiederholen möchten, sollten Sie sein Tutorial lesen. Ich habe aus seinen Beschreibungen geborgt, um unten einen Überblick zu geben.

Implementierungsdetails

Bluemix-Internet der Dinge

Carr hat Bluemix verwendet, um eine Internet of Things-App aus seinen Boilerplates zu erstellen:

Dadurch wird eine Instanz von Node-RED erstellt, auf die Sie über Ihren Browser zugreifen können. Außerdem können Sie das Headset und den Droid miteinander verbinden.

Die emotionale Einsicht trainieren

"Das Headset selbst verwendet bekannte Technologien, um nach bestimmten Markern zu suchen, beispielsweise nach Aufregung und Interesse", sagt Carr. "Wir können unser Headset trainieren, um bestimmte bekannte Befehle zu erkennen, von denen wir denken, dass das Gerät im Wesentlichen lernt, dass dies Aktion A bedeutet. Dann können wir diese Informationen per Bluetooth an das Internet senden."

Er fährt fort: "Aber wenn wir erst einmal da sind, was machen wir mit den Daten? Hier kommt die IBM-Technologie ins Spiel, wir verarbeiten diese Daten, wir geben sie durch und führen sinnvolle Interaktionen mit kleinen Mengen an Code."

"Sobald Sie Ihre Einsicht haben und mit deren Verwendung vertraut sind, um eine starke Verbindung zu erhalten (siehe Steuerelement des Emotiv-Headsets für Details), besteht der nächste Schritt darin, entweder die Emotionen zu verwenden, die sofort erkannt werden (Aufregung, Fokus, et al.) oder um Ihr Headset zu trainieren. "

Carr brauchte mehrere Stunden, um sein Headset auf ein zufriedenstellendes Niveau zu bringen. Emotiv empfiehlt, dass Sie einen Befehl erhalten, bevor Sie versuchen, einen anderen hinzuzufügen, und er stimmt zu. 

"In meiner Demo habe ich Push und Pull bekommen, aber Sie können immer noch weitere Befehle hinzufügen. Anscheinend bis zu 12!"

Daten aus der emotionalen Einsicht erhalten

Carr verwendete das Java-basierte SDK aus der Emotiv- und Java IoT-Bibliothek, um das Headset mit Bluemix zu verbinden. Diese ermöglichten es ihm, Daten vom Headset zu empfangen, um dort Code auszuführen.

IBMs Internet of Things Foundation unterstützt Sie beim Einrichten von Anmeldeinformationen zum Senden und Empfangen von Daten in der Cloud. Jede Anwendung verfügt über eine Organisations-ID und einen API-Schlüssel, um Ihr Gerät zu registrieren.

Wie er beschreibt, ist viel Konfiguration erforderlich, aber die IoTF-Dokumente werden Sie anleiten. Wir möchten nicht, dass die Wolke unsere Gedanken zufällig an die Droiden einer anderen Person sendet.

Wenn Ereignisse vom Headset identifiziert werden, werden sie in Ihrer Bluemix-Instanz veröffentlicht. Sie können die Grundlagen von Node-RED anhand der offiziellen Dokumentation erlernen. Sobald Daten gesendet werden, werden sie in Ihrer Node-RED-Instanz angezeigt:

Senden von Daten von Bluemix an das BB-8

Je nachdem, wie Sie die von Ihrem IoT Foundation-Client aus veröffentlichten Daten strukturieren, müssen Sie möglicherweise Node-RED verwenden, um Anweisungen zu erstellen, die von dem mit dem BB-8 verbundenen Pi empfangen werden. 

Der visuelle Editor von Node-RED ist ein Verdrahtungswerkzeug für das Internet der Dinge, mit dem Sie einfach und effizient Daten abrufen und Funktionen ausführen können, manchmal mit Code und manchmal, ohne selbst explizit Code schreiben zu müssen.

Hier ist ein Screenshot von Node-RED in einer weiteren Demonstration von IBM BB-8 Droid:

Carr beschränkte seinen Befehlssatz auf drückenziehen, und neutral für das Video. 

Der Raspberry Pi benötigt den Code, der mit dem BB-8 verbunden wird. Sie müssen im Wesentlichen replizieren, was Sie mit Ihrem Code für das Headset gemacht haben, jedoch nicht Veröffentlichung Daten werden Sie sein Abonnieren zu diesen Daten. Mit anderen Worten, der Pi nimmt Ereignisse auf, die von Ihrem Headset in die Cloud übertragen werden, und bietet sie dem Droiden an.

Um den Pi mit dem BB-8 zu verbinden, führte Carr BlueZ aus, um einen Low Energy-Bluetooth-Scan durchzuführen. Dies hilft dem Pi, die MAC-Adresse von lokalen BTLE-Geräten wie BB-8 zu finden.

Er fügte auch die IoT Foundation Python-Bibliothek zum Pi hinzu. Dies ermöglichte es ihm, einen neuen Client in Python zu erstellen, der eine Verbindung zur IoT Foundation herstellt und den BB-8-Treiber importiert.

Er verwendete dann einfache Bedingungsanweisungen für die empfangenen Daten, um herauszufinden, welcher Befehl ausgegeben werden sollte, wie z rollen() Befehl zum Verschieben des BB-8.

Nachfolgend weist er die BB-8 an, zu ihm zurückzukehren:

Nochmals empfehle ich Ihnen, sein Tutorial zu besuchen, um weitere Informationen zu erhalten: Erste Schritte zur Verwendung von 'The Force'.

Was kommt als nächstes?

"Wenn ich aus Star Wars Technologie machen könnte, dann wären das keine Lichtschwerter", erklärt Carr. "Können Sie sich vorstellen, jemandem ein Lichtschwert zu geben? Als erstes würden sie ihren Arm abhacken." Er schlägt vor, kleine Schritte zu unternehmen. "Zuerst schneller als leichte Raumschiffe und dann Lichtschwerter."

Nun, Envato Tuts + hat mich gebeten, ein Folge-Tutorial über die Steuerung von BB-8 mit Armgesten zu schreiben. Hier ist ein Einführungsvideo von Rob Peeren, das wir nächste Woche behandeln werden:


Peeren hat mir gesagt, dass das Beste an Bluemix IoT ist, dass nichts jemals sehr kompliziert ist. Er kann seine Ziele erreichen, indem er die Bausteine ​​von Bluemix und Drittanbietern kombiniert. Carr wiederholte dies: "Es war ein einfacher Schritt für mich zu sehen, wie ich mein Gehirn dazu nutzen kann, Roboter um mich herum zu kontrollieren."

Wir müssen nicht Jedi sein, um das zu tun.

Also sage ich, bringen Sie die Raumschiffe und Lichtschwerter mit. Selbstfahrende Autos scheinen so passé zu sein (sorry Elon).

Carr befasst sich mit der Verwendung der IBM Cloud und verschiedener APIs, um den BB-8 mit Watsons Speech-to-Text in verschiedenen Farben zu beleuchten oder das BB-8 mit dem Analytics-Service von IBM seinem aktuellen Gefühl zu widmen Watson, analysieren seine Twitter-Aktivitäten.

Er würde auch gerne Ihre Gedanken, Fragen oder Vorschläge hören, wie Sie Bluemix und BB-8 @ josh_schwaa oder @IBMCloud näher bringen können. 

Carr sagt: "Wir werden einen großen Sprung machen, wenn wir uns wirklich mit anderen Menschen verbunden fühlen", und ich stimme zu. Ich freue mich darauf, dass sich diese Technologie weiterentwickelt und wächst.

Wenn Sie Kinder haben, besonders Töchter, erzählen Sie ihnen davon. Zeigen Sie ihnen das Video. Junge, Mädchen, selbstgewählte Gender-Nomenklatur: Sagen Sie ihnen, dass eine Frau die Erfindung des Headsets geleitet hat - und lassen Sie sie wissen, dass es in Ordnung ist, groß von ihrer Zukunft zu träumen.

Kann nicht auf das Armband-Tutorial warten?

Ich weiß, das ist ziemlich erstaunliches Zeug. Ich musste zurückgehen und das Video erneut ansehen, um zu überprüfen, ob der Emotiv Insight Gehirnwellen und nicht nur Gesichtsgesten analysiert. es ist. 

Wenn Sie nicht auf das Armbinde-Tutorial warten können, das Peerens Bemühungen begleitet, finden Sie hier weitere Bluemix IoT-Ressourcen, mit denen Sie fortfahren können:

SilverHook Powerboats verwendet IBM Bluemix 

Ich empfehle Ihnen, das Video anzusehen, in dem beschrieben wird, wie SilverHook Powerboats IoT verwendet, um die Motorleistung während der Rennen zu überwachen und zu optimieren:

Richten Sie Ihre eigene Bluemix-App für Ihre Smartphone-Sensoren ein

Weitere Informationen finden Sie unter Skalieren von 1 bis 100.000 + angeschlossenen Geräten mit IoT auf Bluemix. Hier wird beschrieben, wie Sie Ihr Smartphone an Bluemix anschließen, das eine Webanwendung mit dem Namen IoT Phone ausführt. Die App greift auf Beschleunigung, Ausrichtung und Standort des Smartphones zu. Betrachten Sie es als tragbaren Bewegungs- und Bewegungsverfolger. Es ist ziemlich einfach, dies heute einzurichten.

Erwerben Sie Texas-Instrumentsensoren zur Verwendung mit Bluemix-Apps

Sie können Bluemix auch mit diesen 49-Grad-IoT-Sensoren von Texas Instruments verwenden. siehe IBM IoT mit Ihren Smartphone-Sensoren:

Testen Sie eine weitere Sphero BB-8-App für Bluemix

Hier ist ein weiteres IBM Developer Works-Rezept zur Steuerung Ihres Sphero-BB8 mit IBM Watson und Node-RED:


Und es gibt mehr Beispielcode, um einen BB-8-Droid von überall auf der Welt zu steuern (GitHub).

Einen Schritt zurückgehen und einen Überblick über die Verwendung von Bluemix ansehen 

Um einen allgemeineren Überblick über IBM Bluemix und seine umfassenderen Funktionen zu erhalten, sollten Sie sich David Barnes 'Erstellen, Bereitstellen und Verwalten Ihrer Anwendungen in der Cloud ansehen:

Abschließend

Bleiben Sie dran für die kommende Episode der Droidenbekämpfung. Bitte teilen Sie uns in der Zwischenzeit mit, zu welchen Themen von IBM Bluemix Sie zukünftig mehr über Sie erfahren möchten. 

Sie können sie in den Kommentaren posten oder mich direkt auf Twitter @reifman erreichen. Ich hoffe, Sie werden auch meine anderen Envato Tuts + -Serien kennenlernen, wie man mit Yii2 programmiert und Ihr Startup mit PHP baut.

Ich hoffe, Sie hatten so viel Spaß beim Lesen wie beim Schreiben. Die Zukunft wird groß sein!


Wenn Sie mehr über IBM Bluemix und Internet of Things erfahren möchten, besuchen Sie http://ibm.com/bluemix.

ähnliche Links

  • IBM Bluemix Internet der Dinge
  • Verwenden Sie die Kraft - Bewegen Sie einen BB-8-Droid mit Ihrem Verstand (IBM Bluemix Dev)
  • Spheros Star Wars BB-8 Droid
  • Emotiv Insight und Entwickler Seite
  • Knoten-ROT 
  • Cylon.js und BB-8 Treiber
  • So funktioniert das Sphero BB-8 Toy (YouTube)
  • Wie Neal Scanlan und das Star Wars: Das Force Awakens Team BB-8 zum Leben erweckt (Star Wars)
  • Könnte dieses 300-Dollar-Headset das Leben von eingeschlossenen Patienten verändern? (Wächter)