I’ve always been interested in IoT (Internet of Things) so I’ve been using the AWS IoT services to play with IoT and learn about AWS. I’ve setup a web application that allows you to control IoT devices using AWS IoT and shadow devices. The functionality I’ve implemented so far has been:
- Wrote a IoT device simulator using Python
- Re-purposed my (high-powered) home workstation to run Vmware’s ESXi v6.5 so I can run the device simulator as one of the virtual machines under Ubuntu v16.04.
- I have an older Intel Galileo Gen2 board that will function as the IoT device in the end but it’s easier to use the Device Simulator for now – plus I wanted to learn Python so what better way to do that.
- I chose to use the MQTT protocol for the device simulator as opposed to MQTT over the Websocket protocol. I’ll probably go back and retry it with MQTT over Websockets later.
- The AWS shadow device is so cool, I’ll add an architecture diagram later to the website.
- The AWS IoT topic uses a rule to update a DynamoDB table with the current IoT device status. This DynamoDB update also triggers a Lambda function to add a timestamp to the row in the DynamoDB table.
- The Web application and server (running in the AWS cloud) uses Linux, Apache, MySQL, PHP, Javascript, jQuery – AJAX, and HTML5/CSS3 Drag-n-Drop features to allow the client to change the IOT device status.
- I think what I want to do next is to build an Alexa Skill to allow me to control the IoT device too. Guess I’ll have to buy an Amazon Echo!
No responses yet