AWS + Internet Of Things + Amazon Echo
First post since hitting the ground running with my exciting new role at NAB. I attended the AWS Summit this week and I need to share with you what is coming to Australia. It’s Amazon Echo and how it can control the Internet Of Things.
The Amazon Echo is a hands-free speaker you control with your voice. Echo connects to the Alexa Voice Service to play music, provide information, news, sports scores, weather, etc. But that is not the most exciting part. The most exciting part about the Echo is that it can control anything you can imagine with some hardware, programing knowledge and using AWS.
When you talk to Echo you talk to Alexa in the cloud. When you talk to Alexa to play music or turn on lights you are accessing one of Alexa’s skills. Alexa has a heap of inbuilt skills for people who don’t want to create their own. But to get the most out of Alexa you should look into creating your own skills.
Imagine this I walk in the front door and I say “Hi Alexa I am home”. Alexa responds “Welcome back Lloyd. I will turn on the lights and play some background music for you. If you need anything else just ask”. I then say “Alexa please stop the music”. Music stops and I say “Alexa please turn on TV”. TV turns on and I say “Alexa please order my favourite pizza. Alexa responds “Pizza has been ordered from dominos and will arrive in 20mins”.
To create custom skill there are two parts hardware and software.
For hardware you want to head over to https://aws.amazon.com/iot/getting-started/#kits. It is all the partners who create Internet Of Things Starter Kits for beginners. This is what you connect to your lights, sensor, etc. It makes them accessible and controllable from the cloud. If you already have a smart house setup then you can skip this step and just access your house APIs through the cloud.
After you have your hardware setup you need to setup the software to create the new skill. You code either an AWS Lambda function or a web service.
AWS Lambda (an Amazon Web Services offering) is a service that lets you run code in the cloud without managing servers. Alexa sends your code user requests and your code can inspect the request, take any necessary actions (such as looking up information online) and then send back a response. You can write Lambda functions in Java, Node.js, or Python.
Alternatively, you can write a web service and host it with any cloud hosting provider. The web service must accept requests over HTTPS. In this case, Alexa sends requests to your web service and your service takes any necessary actions and sends back a response. You can write your web service in any language.
Regardless of how you create your service, you also create a custom interaction model for the skill. This defines the requests the skill can handle and the words users can say to invoke those requests.
The costs of operating your skills in the clouds is surprising low. The demonstration on stage which controlled lights, sounds, water pumps, sensors and may other devices cost less than $15 to operate over 6months. The hardware is the most expensive part.
If you are interested in doing it yourself like I am click on the below link.
Don’t worry if everything I said just sent went over your head. More and more companies like Dominos and Spotify are creating skills for Alexa you can use with no tech knowledge.
Okay it’s awesome, so what are the downsides?
Well for starters Echo and AWS lambda are not available in Australia yet. They are coming but no solid release date yet. If you really want to get your hands on it now you can buy one from the USA and follow the steps in the below link to get it working. But it will require some tech knowledge to get it working in Australia.
You need to be in the same room as the echo to give it commands. This means you have two options.
- Buy an echo for each room
- Create a web portal, so you can control everything from your phone
The advantage with option 2 is you could for example use your phone to warm up the bath for you before you get home or turn off the lights because you forgot to when you left home in a rush.
I thought I would finish of with a picture of me at the AWS Summit.