We hebben allemaal gehoord hoe het Internet of Things (IoT) ons toestaat om gloeilampen, thermostaten en beveiligingsalarmen op afstand vanaf onze smartphones te bedienen, maar is er ook een andere kant van IoT? Ik kan vandaag alle bovengenoemde dingen van mijn telefoon doen (behalve om een of andere reden stopte mijn thermostaat onlangs met het verbinden met internet), maar minder vaak stellen we ons voor hoe IoT de manier waarop we omgaan met de fysieke wereld kan veranderen.
Het blijkt dat je met behulp van IBM Bluemix en wat goedkope consumentenhardware een BB8-droid met je gedachten kunt sturen. Ernstig.
Ik wist echt niet dat dit mogelijk was tot Envato Tuts + me vroeg om het stuk te schrijven.
Misschien heeft de man met de beste baan ter wereld, Joshua Carr, Technical Liaison IBM Bluemix, misschien wel de perfecte demonstratie, die je waarschijnlijk net hebt gezien in de video hierboven.
Hoewel robots altijd het rijk van sci-fi zijn geweest, was mind-control zelfs nog erger in fantasyland. Zoals Carr zei: "Nadat ik Yoda X-wing uit het water had zien tillen, heb ik waarschijnlijk veel te lang doorgebracht dan ik zou willen toegeven dat ik naar auto's staarde om te zien of ik ze kon verplaatsen." Dat werkte niet toen hij jonger was. Maar nu laat hij ons zien hoe we beide kunnen doen. En dat is waar ik het vandaag over heb.
En, zoals altijd, deel uw ideeën, opmerkingen en feedback in de opmerkingen hieronder, of bereik me rechtstreeks op Twitter @reifman. Voor de tutorial van vandaag, ben je ook uitgenodigd om Carr rechtstreeks te bereiken @josh_schwaa of @IBMCloud.
Voordat we erin duiken, wil ik vermelden dat de Emotiv-headset die Carr in de video gebruikt het werk is van een bepaald vrouwengeslacht, Tan Le. Als we in technologie werken, worden we vaak omringd door mannen en weten we het niet vaak de bijdragen van vrouwen in wetenschap en technologie. Ik zal hieronder meer van Le's werk benadrukken. Natuurlijk kunt u met IBM Bluemix allerlei soorten hardware aansluiten en is de fabrikant agnostisch.
Bluemix is het open standaard cloudplatform van IBM voor het bouwen, uitvoeren en beheren van apps en services. Het biedt een uitgebreide catalogus van diensten.
Als je je gedachten wilt gebruiken om veranderingen in de echte wereld aan te brengen, zoals droids, moet je gebruikmaken van de IoT-services van Bluemix. Laten we eens kijken hoe Carr het deed.
Dit zijn de elementen met de grote lijnen die hij heeft gebruikt om de video te maken:
In de echte wereld ziet dat diagram er zo uit (maak je geen zorgen, je kunt de headset ook zwart krijgen):
Dit is de hardware die Carr gebruikte voor de video:
Hier is de ster van onze show (de lil 'kerel die de aanwijzingen van Carr neemt), BB-8, die jullie allemaal kennen en waarderen van Star Wars, The Force Awakens.
Hier zijn een paar leuke dingen die de Sphero BB-8 Droid biedt voor ongeveer $ 149,99 USD, met een gewicht van ongeveer 200 gram:
Dan is er nog de headset - het apparaat dat de gedachten van Carr ontvangt en naar Bluemix stuurt.
De Emotiv Insight is een slanke, 5-kanaals, draadloze EEG-headset die uw hersengolven registreert en vertaalt naar zinvollere gegevens. Deze hoge ruimtelijke resolutie biedt diepgaande informatie over uw hersenactiviteit, maar Insight is geoptimaliseerd om schone, robuuste signalen voor dagelijks gebruik te produceren (zie, hier is het in het zwart):
Hier is een visueel transparante 360-graden-draaiing van de flexibele printplaat-gebaseerde elektronica van Emotiv Insight:
Verbazingwekkend, de Emotiv Insight begon als een Kickstarter-project en beloofde een "headset waarmee consumenten in essentie hun eigen brein kunnen lezen en begrijpen wat er zich in je hoofd afspeelt." Het kost ongeveer $ 299 USD.
Hier is mede-oprichter en uitvinder Tan Le in de originele Kickstarter-video:
Je kunt haar ook TED Talk bekijken: een headset die je hersengolven leest.
Hier zijn enkele van de kenmerken van de headset:
En hier is de software die u nodig hebt:
Hier is een visueel overzicht van de gegevensstroom van de headset naar uw droid:
Carr beschrijft hoe hij de componenten in de video heeft samengesteld in De eerste stappen zetten om 'The Force' te gebruiken. Als je zijn videodemonstratie wilt repliceren, raad ik je aan zijn zelfstudie te lezen. Ik heb zijn beschrijvingen geleend om hieronder een overzicht te geven.
Carr heeft Bluemix gebruikt om een app Internet of Things te maken op basis van zijn boilerplates:
Dit creëert een exemplaar van Node-RED dat u vanuit uw browser kunt openen en biedt een manier om de headset en de droid met elkaar te verbinden.
"De headset zelf maakt gebruik van bekende technologie om naar specifieke markers te zoeken, dingen als opwinding en interesse", zegt Carr. "Wat we kunnen doen is onze headset trainen om bepaalde vertrouwde commando's te herkennen die we denken, en het apparaat leert in wezen dat dit actie A betekent. Dan kunnen we deze informatie via Bluetooth naar internet versturen."
Hij vervolgt: "Maar als het er eenmaal is, wat doen we dan met de gegevens ... dat is waar IBM-technologie binnenkomt, we verwerken die gegevens, we stroomt er doorheen en we maken zinvolle interacties met kleine hoeveelheden code."
"Als je eenmaal je Inzicht hebt en bekend bent met hoe je het moet dragen om een sterke verbinding te krijgen (zie Emotiv Koptelefoonbedieningspaneel voor details), is de volgende stap om ofwel de emoties te gebruiken die direct uit de doos worden herkend (opwinding, focus, et al.) of om je headset te trainen. "
Het duurde Carr enkele uren om zijn koptelefoon op een bevredigend niveau te trainen. Emotiv beveelt aan dat u één opdracht uitvoert voordat u een nieuwe toevoegt, en hij is het daarmee eens.
"In mijn demo kreeg ik push en pull, maar je kunt altijd meer opdrachten toevoegen. Blijkbaar wel 12!"
Carr gebruikte de Java-gebaseerde SDK van Emotiv en de Java IoT-bibliotheek om de headset op Bluemix aan te sluiten. Hierdoor kon hij gegevens van de headset ontvangen om daar code uit te voeren.
IBM's Internet of Things Foundation helpt u bij het instellen van inloggegevens voor het verzenden en ontvangen van gegevens in de cloud. Elke toepassing heeft een organisatie-ID en een API-sleutel om uw apparaat te registreren.
Zoals hij beschrijft, is veel configuratie vereist, maar de IoTF-documenten zullen u begeleiden. We zouden niet willen dat de wolk willekeurig onze gedachten naar droids van iemand anders stuurt.
Naarmate events door de headset worden geïdentificeerd, worden ze gepubliceerd naar uw Bluemix-instantie. Je kunt de basisprincipes van Node-RED leren door de officiële documentatie door te nemen. Nadat de gegevens zijn verzonden, ziet u deze verschijnen in uw Node-RED-instantie:
Afhankelijk van de structuur van de gegevens die u publiceert van uw IoT Foundation-client, moet u mogelijk Node-RED gebruiken om instructies te maken die worden ontvangen door de Pi die is verbonden met de BB-8.
De Node-RED visuele editor is een bedradingsinstrument voor het internet der dingen waarmee je gemakkelijk en efficiënt gegevens kunt opnemen en er functies tegen kunt uitvoeren, soms met code en soms zonder expliciet zelf code te hoeven schrijven.
Hier is een screenshot van Node-RED in een andere IBM BB-8 Droid-demonstratie:
Carr beperkte zijn commandoset tot Duwen
, Trekken
, en neutrale
voor de video.
De Raspberry Pi heeft de code nodig die op de BB-8 wordt aangesloten. U moet in feite repliceren wat u hebt gedaan met uw code voor de headset, maar in plaats van publishing gegevens, dat zal zo zijn abonneren naar die gegevens. Met andere woorden, de Pi neemt gebeurtenissen die vanuit uw headset naar de cloud zijn verzonden, over aan de droid.
Om de Pi te verbinden met de BB-8, heeft Carr BlueZ gebruikt om een Low Energy Bluetooth-scan uit te voeren. Dit helpt de Pi het MAC-adres van lokale BTLE-apparaten zoals BB-8 te vinden.
Hij voegde ook de IoT Foundation Python-bibliotheek toe aan de Pi. Hierdoor kon hij een nieuwe client in Python maken die verbinding maakt met IoT Foundation en het BB-8 stuurprogramma importeert.
Vervolgens gebruikte hij eenvoudige voorwaardelijke verklaringen tegen de ontvangen gegevens om uit te werken welke opdracht zou moeten worden uitgegeven, zoals de rollen()
commando om de BB-8 te verplaatsen.
Hieronder instrueert hij de BB-8 terug te keren naar hem:
Nogmaals, ik raad je aan zijn tutorial te bezoeken voor meer details: Neem je eerste stappen om 'The Force' te gebruiken.
"Als ik technologie van Star Wars echt zou kunnen maken, dan zouden het geen lichtzwaarders zijn", verklaart Carr. "Kun je je voorstellen iemand een licht sabel te geven, het eerste dat ze zouden doen is hun arm afhakken." Hij stelt voor dat we babystappen nemen. "Eerst sneller dan lichte ruimteschepen en dan lichtzwaarden."
Welnu, Envato Tuts + heeft me gevraagd om een vervolg-zelfstudie te schrijven over het bedienen van BB-8 met armgebaren. Hier is een inleidende video van Rob Peeren die we volgende week zullen bespreken:
Peeren vertelde me dat het beste aan Bluemix IoT is dat niets ooit erg ingewikkeld is. Hij is in staat om zijn doelen te bereiken door de bouwstenen te combineren die Bluemix en externe aanbieders bieden. Carr echoot dit: "Het was zo een gemakkelijke stap voor mij om te zien hoe ik mijn hersenen kan gebruiken om robots om me heen te besturen."
We hoeven Jedi niet te zijn om dit te doen.
Dus ik zeg, breng de ruimteschepen en lichtzwaarden aan. Zelfrijdende auto's lijken zo passé (sorry Elon).
Wat Carr betreft, hij onderzoekt met behulp van de IBM Cloud en verschillende API's om dieper gebruik te maken van Watson's Speech-to-Text om de BB-8 in verschillende kleuren op te lichten of om de BB-8 zijn huidige sentiment te laten reflecteren door IBM's Analytics Service te hebben, Watson, analyseer zijn Twitter-activiteit.
Hij zou ook graag je gedachten, vragen of suggesties horen over hoe Bluemix en BB-8 naar meer werk @josh_schwaa of @IBMCloud worden gebracht.
Carr zegt: "We gaan een grote sprong maken in het gevoel echt verbonden te zijn met andere mensen", en ik ben het daarmee eens. Ik kijk er naar uit om deze technologie te zien evolueren en groeien.
Als je kinderen hebt, vooral dochters, vertel ze daarover. Laat ze de video zien. Jongen, meisje, zelfgekozen geslachtsnomenclatuur, vertel hen dat een vrouw de uitvinding van de headset leidde - en laat hen weten dat het goed is om groot te dromen over hun toekomst.
Ik weet dat dit behoorlijk verbazingwekkende dingen zijn. Ik moest teruggaan en de video opnieuw bekijken om te controleren of het Emotiv Insight hersengolven analyseert en niet alleen gezichtsgebaren; het is.
Als je niet kunt wachten op de armband-tutorial die de inspanningen van Peeren vergezellen, volgen hier nog wat extra Bluemix IoT-hulpmiddelen om verder te gaan met:
Ik stel voor om de video te bekijken die beschrijft hoe SilverHook Powerboats IoT gebruikt om de motorprestaties tijdens races te controleren en optimaliseren:
Bekijk Scaling van 1 tot 100K + aangesloten apparaten met IoT on Bluemix, waarin wordt beschreven hoe u uw smartphone aansluit op Bluemix met een webtoepassing met de naam IoT Phone. De app heeft toegang tot smartphone-versnelling, oriëntatie en locatie; beschouw het als een draagbare beweging en bewegingsmelder. Het is vrij eenvoudig om dit vandaag in te stellen.
Je kunt Bluemix ook gebruiken met deze $ 49 IoT-sensoren van Texas Instruments; zie IBM IoT met uw Smartphone-sensoren:
Hier is nog een IBM Developer Works Recept, dat uw Sphero-BB8 bestuurt met IBM Watson en Node-RED:
En er is meer voorbeeldcode om een BB-8 Droid vanaf elke locatie in de wereld te besturen (GitHub).
Tot slot, voor een meer algemeen overzicht van IBM Bluemix en zijn bredere mogelijkheden, bekijk David Barnes's applicaties voor creëren, implementeren en beheren in de cloud:
Blijf op de hoogte voor de aankomende aflevering van de droidcontrole in de armband. In de tussentijd kunt u ons laten weten over welke IBM Bluemix-onderwerpen u meer wilt lezen in de toekomst.
Je kunt ze in de comments hieronder plaatsen of mij rechtstreeks bereiken via Twitter @reifman. Ik hoop dat je ook mijn andere Envato Tuts + -serie zult bekijken. Hoe programmeer ik met Yii2 en begin met PHP.
Ik hoop dat je dit net zo leuk hebt gelezen als ik het heb geschreven. De toekomst zal groot zijn!
Als u meer wilt weten over IBM Bluemix en Internet of Things, gaat u naar http://ibm.com/bluemix.