Over a million developers have joined DZone.

Steering a driving Android Phone over the Web via Speech Recognition in IBM Bluemix

DZone's Guide to

Steering a driving Android Phone over the Web via Speech Recognition in IBM Bluemix

· IoT Zone ·
Free Resource

Digi-Key Electronics’ Internet of Things (IoT) Resource Center Inspires the Future: Read More

My colleagues Bryan Boyd and Mark VanderWiele have created a nice demo where you can drive smartphones using Sphero balls. I've modified the sample slightly so that it also works for Android phones. Watch the video to see how to steer a driving smartphone via IBM Bluemix, the Internet of Things and cognitive services from IBM Watson.

Here are the details: 

The phone is carried by a Sphero ball and a chariot

The phone communicates with the ball via bluetooth protocol. The native Android app uses the Sphero Android SDK

The phone communicates with the Internet of Things service in Bluemix via a Java MQTT library

Node-RED flow is used to send commands to the native app either when certain URLs are invoked or certain Twitter tweets are sent. 

For the speech recognition the sample of the Speech to Text service has been slightly modified to send the text to the Internet of Things service via MQTT from the client side JavaScript. 

The Node-RED flow receives the spoken text via an Internet of Things input node. The first word of a text is used to interpret the command and then the same flow as previously is triggered. 

This is a screenshot of the flow for incoming URL commands and the devices. 

Digi-Key’s IoT Component Selector is your one-stop-shop for the IoT


Published at DZone with permission of

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}