Amazon Echo Drone Control

 

Update:  This solution won First Prize on AWS IoT Mega Contest, and was featured on Slashdot!

 

Echo Drone Control is a proof of concept to control a quadcopter entirely and solely through Amazon Echo “Alexa” voice control interface.

141106140320-amazon-echo-620xaAccording to its product page,

“Amazon Echo is designed around your voice. It’s hands-free and always on. With seven microphones and beam-forming technology, Echo can hear you from across the room—even while music is playing. Echo is also an expertly tuned speaker that can fill any room with immersive sound. 

Echo connects to Alexa, a cloud-based voice service, to provide information, answer questions, play music, read the news, check sports scores or the weather, and more—instantly. All you have to do is ask.”

Amazon has created the Alexa Skills Kit to allow developers to create applications using Echo.

 

61PD37v-goL._UL1500_3D Robotics IRIS+ quadcopter was chosen for the project because the hardware and software are open source and as such are easily extensible.  3DR is very supportive of the open source community and makes a great product.  Their newest release is SOLO, which is an amazing product, but the older IRIS+ is very nice and has more than adequate functionality for this POC.

 

The application session begins when the user speaks to Alexa, specifically asking Alexa to talk to the Drone Control application.  Alexa parses the language and hands off the payload to a Lambda application which is provisioned and instantiated on the fly.  Lambda application performs input validation and a JSON payload is passed to MQTT in Amazon’s AWS IoT platform.  From there, a custom ground station running on Raspberry Pi picks up the MQTT message, parses it out, and sends commands to the quadcopter over 915Mhz radio.  At the same time, telemetry information from the drone is constantly streaming back to the cloud through MQTT.

 

Full instructions and source code can be found on Hackster.io: