Asked — Edited

Looking For A Remote Microphone For Your Robot? Consider Amazon Echo (Alexa)

In searching for a noise tolerant microphone for my EZ-Robot AdventureBot I checked out the Amazon Echo product which has a great feature in its always-on array microphones. You can even place several low-cost Echo Dots ($50) around your home to enable multi room use. The problem was how to get it to talk to EZB.

The answer is, as pointed out by @Mickey666Maus in a previous post, the free web service called IFTTT (If This This Than That). IFTTT has a built-in interface (Channel) that supports Amazon Echo and includes a user defined Channel called Maker that offers a means to send http commands to devices.

  1. Add an HTTP server control and start it in ARC. In my case I used port 8010.

  2. Add port forwarding in your router to direct this port to your PC that is running ARC

  3. Create scripts in Script Manager to perform tasks; e.g. forward, stop, reverse, battery level

  4. Create Applets in IFTTT to trigger (the IF part) from Amazon Alexa Channel to invoke actions (the THEN part) in the Maker Webhooks Channel to launch the scripts in ARC.

  5. Test the applets by speaking to the Amazon Echo and watch the EZB robot respond

In practice, this gives a neat way to have a walk around remote microphone to control your EZB robot or even just perform a simple verbal battery level check.

If desired, you could even add the $30 Amazon Voice Remote for Amazon Echo and Echo Dot to have a handheld microphone

If there’s enough interest in this, I could write up a tutorial with detailed instructions


ARC Pro

Upgrade to ARC Pro

Take control of your robot's destiny by subscribing to Synthiam ARC Pro, and watch it evolve into a versatile and responsive machine.

#25  

@Nink I just created a new project and followed the tutorial and it worked.

I can see that I need to clean up the tutorial a bit as the IFTTT screens have changed and I add to add a caution about Capitalization in the script.

Quote:

just received an echo dot not sure what I am doing wrong if I post in browser on phone (Outside my network) http://104.158.XXX.XXX:8010/exec?password=admin&script=forward() works fine and JD starts walking.

The "E" in "Exec?" must be capitialized

Thanks for testing this Frank

#26  

@Nink, I just updated the tutorial

Please let me know if you have any issues

Thanks, Frank

PRO
Canada
#27  

Thanks worked like a charm. I had to change ports as well turned out I had another web server on 8080 so I just made up port 8255.

I missed the capital E thanks for pointing that out and updating the tutorial.

PRO
Canada
#28  

Hi Frank do you know if you can pass some form of session variable to IFTTT from alexa Example Alexa Trigger move Variable So instead of having a dozen IFTTT you just have one Alexa trigger move forward Alexa trigger move backward Alexa trigger move wave

#29  

Hi Nink,

You could have IFTTT invoke an EZB script containing these actions

In some of my earlier tests I was invoking scripts in Script Manager Control but didn't include examples in the tutorial

If you run into issues with that, I can include some examples

Thanks, Frank

PRO
Canada
#30  

OK thanks Frank

I was playing with this in prep for my Roomba arriving (found a cheap used one). I figured I need a way to interact with it and sticking the Echo on the iRobot and saying Computer Trigger action seemed like a good way to do it.

#31  

Nink,

I like it.

I think I’ll try that too

What model Roomba did you get?

frank

PRO
Canada
#32  

Frank, It's a 650 (hopefully turns up soon). Will need to work on the "Computer trigger get me a beer" script and robotics.