This is a rudimentary linking of Alexa / Amazon Echo with Home☆Star / IOTDB using AWS IoT MQTT as the linking bit. This will be getting better and better with time, but let's consider this a step 1.
First, here's a demo on YouTube.
You should be able to set this up at home, if you follow the instructions below. The warning is it's really complicated because AWS IoT is really complicated to get set up and understand. Once you understand it it's not so bad, but that warning up front.
The command architecture looks like this:
- you say: "Alexa, tell HomeStar to turn on the lights".
- Amazon Echo thinks about it and sends the command up to Alexa
- our Alexa skill called HomeStar (code in this folder) takes the command and formats it as an MQTT message to be sent to MQTT
- the Alexa skill then says "OK command received". It doesn't know if the command completes successfully or not - we will get this in a future version where it will be able to reason on your Things in the cloud, but we're not there yet
- AWS IoT receives the MQTT message and forwards it to any listeners with the proper permissions.
- the command "AWS.js" (code in this folder) is listening for commands on MQTT from AWS IoT.
- it receives the message
- it does reasoning on the message using the GitHub project iotdb-commands to find the appropriate Things to send the commands to
- the commands get executed
The cool thing about IOTDB is it provides a universal infrastructure for describing how Things can be found and how they work.