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.
Add an HTTP server control and start it in ARC. In my case I used port 8010.
Add port forwarding in your router to direct this port to your PC that is running ARC
Create scripts in Script Manager to perform tasks; e.g. forward, stop, reverse, battery level
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.
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
I have just updated the tutorial to show a way to use the Amazon Shopping app on an iPhone to send commands through IFTTT to the EZB.
The neat thing is that you don't need any Amazon Echo hardware to do this, but of course, its not always listening like an Amazon Echo, you must push a button in the app.
here is the video
Great demo! So neat to see the amazon shopping app controlling a robot. Brilliant!
Thanx!
Rob
When I have a little time (ha ha. Might be a few weeks, months...), I'll try with Google Assistant. I don't have a Google Home, but I have assistant on my phone and watch, and I have already tied it to IFTTT for controlling my Hue smart bulbs (Assistant has basic control built in, but I can do much more with it using the IFTTT recipes).
Alan
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.
If I try in IFTTT nothing. Looking at controls in http server, the ifttt bot never logs in.
IFTTT has moved to webhooks now so a little different than turorial but it says sending that to ifttt when I say "Alexa Trigger Forward" and shows Applet ran and triggered in activity log in IFTTT "Ingredients TriggeredAt February 15, 2018 at 10:03PM" but it does not log in? If I stop the HTTP server I get an error so IFFFT sees http server and Firewall ports are open (TCP and UDP on port 8010)
It does not show a connection when IFTTT thinks it connected in http server so I think the instruction exec?password=admin is being parsed or modifed somehow. If I connect from phone shows admin connected but not when EZB logs in.
I am using post and leaving content type blank or using text/plain
As always any help appreciated
Hello Nink, I’ll try my code again and see if IFTTT now using WebHooks makes any difference
Frank
Hey thanks Frank. Appreciate that. I just noticed you built the IFTTT plugin so i will have a play with that on the weekend.
https://synthiam.com/redirect/legacy?table=plugin&id=192
Hi Nnk, Yep, the tutorial was for sending messages TO the robot and the plugin was for receiving messages FROM the robot
Regards, Frank