Part 0: Getting started with AWS IoT and Arduino (+ESP8266)

[7/June/2017]: I came across this post: I haven’t tried it yet. Pls let me know in the comments if this worked for you.

[31/July/2016]: I’m very Sorry. I couldn’t get the ESP8266 talk with the AWS IoT platform due to the ESP’s limited ability to support TLS 1.2 which is required by AWS IoT.

If you’re comfortable using the ESP SDK, something exciting just came up: –> an MQTT example with AWS IoT + ESP8266.

I’ll wait till someone builds a wrapper/library around it.

I’ve been thinking of using the Arduino MKR1000 instead with the AWS IoT. Let’s hope this get’s done quick 🙂

Pre.Scriptum: (Edit: 21, Dec, 2015)  Amazon released the AWS IoT suite of applications and services a while back and I now feel it’ll be more helpful if we base our tutorial on the AWS IoT platform. It’s a TODO for me and hopefully I’ll have something up and running.

I’ll be doing a series of posts on getting started with building IoT applications using an AWS EC2 Instance and an Arduino with ESP8266 WiFi Module. We’ll eventually delve into Raspberry Pi, MongoDB, Node.js, Dashboards etc as  the journey continues.

The inspiration behind these IoT series is the lack of a true IoT development experience. We usually use Data Endpoint providers like ThingSpeak, Xively etc without knowing what’s happening in the background and how they’re acing it.

We’ll be playing around with PHP, MySQL and Apache on the “Internet” side and Arduino and ESP8266 on the “Thing” side eventually combining them together to build an “Internet of Thing”.

If you already have access to a Website running off a Linux instance (private/shared hosting), you can skip Part 1 and directly jump to Part 2.

In these series, we’ll be covering up the following parts.

  1. Creating an Amazon Web Service EC2 Instance and getting Apache, MySql and PHP running on it . Most of this also works on other Linux instances such as Ubuntu, CentOS etc on other Cloud providers such as Linode and DigitalOcean. I’ve played with Linode (and use an instance for my Prod Server) and DigitalOcean but since they’re paid and AWS is free for a year (for anyone with a Credit Card :)), so we’ll stick with AWS EC2.
  2. Creating PHP Scripts, connecting them to MySQL DB and using CURL to test POST/GET requests
  3. Getting the Arduino with ESP8266 to update Temperature and Humidity (DHT11) values over to this Cloud instance

Celebrate 🙂

P.S: These series of posts were inspired with my recent interaction on helping a fellow Maker accomplish the above for his project. We used my personal website (shared hosting) to configure and play around with updating data. All went well for the Maker, but for me, the Hosting provider blocked my IP for some wrong POST requests I made and I didn’t have SU access to reboot. Hence, let’s play with full control on an AWS.


Author: Anwaarullah

Designer, Developer, Maker, Speaker, Educator and Dreamer. ♥ Tinkering with Embedded, Android, Open Soft/Hard/Firm ware, Robotics and 3D Printer. Talk to me at syed {Shift+2} anwaarullah dash com

13 thoughts on “Part 0: Getting started with AWS IoT and Arduino (+ESP8266)”

  1. U r Decided to Write Very Interesting Topics. It is really boring using readily available iot dashboards. if u write all parts as u mentioned above on things side and server side, it is very useful.

  2. Aasalamu alaikum
    I wanna make a simple web browser control relay circuit using “Arduino Uno and Esp8266-01”. I wanna control my fan lights from my mobile. Please Sir provide me ‘ the pin connection between ARDUINO and ESP8266-01 and also ‘.ino’ file of the sketch.
    Jajak Allah
    -Sovraj Mallick

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.