Overview

Skill Level: Intermediate

Part 2 showed how to control the Humanoid Robot with voice commands using IBM Watson Speech to Text service. Part 3 shows how to control the Humanoid Robot using Amazon Alexa and IFTT via IBM Watson IoT platform.

Ingredients

  • IBM Bluemix account
  • Raspberry Pi 3 Model B
  • Robosapien Humanoid Robot & IR Dongle
  • IFTTT Account
  • Amazon Account
  • Amazon Alexa or Echo Dot


It is recommended to complete the recipe of Part 1 before you proceed with Part 3.

Step-by-step

  1. The Flow

    The voice commands are triggered using Alexa (“Alexa, trigger Dance Robot”) to IFTTT which will raise an event and trigger an action to post a message to Node-Red instance running in Bluemix. Node-Red will pickup this message from IFTTT, parse it and send a MQTT message via WIoT to the Pi Gateway.

    Raspberry Gateway receives the command and sends signals to Robot using connected IR dongle. Robot performs the requested command.

     

    part3-flow2

  2. Node-Red Setup

    Create an HTTP endpoint in Node-RED to receive HTTPS/POST from IFTTT.

     

    node-red-iftt

     

    Here’s the completed node-red flow:

    node-red-flow-part3-1

  3. IFTTT Setup

    • Login to your IFTTT account
    • Navigate to Maker channel and create a new Applet.
    • IF setup: Select Amazon Alexa as Trigger which fires every time you say “Alexa trigger” + the phrase that you have defined. Set specific phrase to “dance”.  When you say “Alexa trigger Dance, the webhook to Node-Red will be executed.

    ifttt-1

     

    • THEN setup: Select Webhooks with Make a web request as the Action. Then provide your node-red URL from step 2 as value for this Action.

    ifttt-2

    • Select POST as the value for the Method and text/plain as content type
    • Provide the value as “dance” in the body.

     

    ifttt-3

    • Enter the Applet title and description.
    • Your new Alexa-Robo Applet is created and displayed in the dashboard.

     

    ifttt-4

    This completes IFTTT setup. 

     

  4. Run the flow

    1. Make sure that you Raspberry Pi Gateway is up and running.

    2. Switch on your robot

    3. Say “Alexa Trigger Dance” to your Alexa.

    4. This triggers IFTTT action which will send request “Dance” to your Node-Red http endpoint

    5. Pi Gateway receives the dance message via  WIoTF and activates IR dongle

    6. IR dongle sends dance command to the robot

    7. Your Robot will start dancing

     

     

  5. Next steps

    As a next step, you could try with various commands(e.g: Turn Left/Right, Go Backward/Forward, Right/Left Strike, Whistle, Burp etc..) by creating various Applets in IFTTT. Go to Part2 of this recipe for details of how to control the Humanoid Robot with voice commands using Watson STT service and start interacting with your Robot!

Join The Discussion