Alexa Skills, AWS Lambda and REST: How to Voice Enable your IoT device with Echo Dot

I got an Echo Dot for Christmas (lucky me), and having made a Smart Home Thermostat a while ago (you can read about that here), I thought it would be fun and useful to voice enable my Thermostat; but only after I tired of being chastised by Alexa for saying:  “Alexa, my name is Inigo Montoya . You killed my father. Prepare to die.”, too many times.

Many internet devices, including the Particle Photon used in my Smart Thermostat, use REST as a central tenet of the cloud infastructure. So for example, if you want to query the temperature downstairs:

returns a JSON format string with the required info.

It’s not too difficult to write a custom Lambda Function to act on the voice commands from the Echo Dot by issuing REST commands. I used Node.js for implemention but Java and Python are also supported.

I’ve written a tutorial (below), to help you to voice enable a REST protocol device.

How to Voice Enable your IoT device with Echo Dot




Make a Smart Home IoT Thermostat

Here’s a Smart Home Thermostat  project based on a wifi enabled Arduino device called Particle Photon. The Photon is a great IoT device; a powerful Wifi enabled MCU that can be programmed in the Wiring language, as used by Arduino, combined with a Cloud Service to manage the programming and cloud connectivity.

What’s really interesting about this project is how it exposes the REST protocol which is central to a huge amount of IoT and Web infrastructure. Basically REST treats all resources as a URL e.g. https://myServer/mydevice/dev1/LEDs/TurnOn

I’ve recently added Alexa based Voice Control to this project (more on that soon).

Smart Home IoT Thermostat