[4/Sept/2018]: As indicated by @rafa in his comment:
As of today it is perfectly fine to connect ESP8266 to the AWS IoT Core via MQTT and TLS V1.2 as you can see in the following example.
Neither MongooseOS nor Open-RTOS is required. Plain old sketch file with the standard ESP8266WiFi Arduino library and PubSubClient from Nick O’Leary (https://pubsubclient.knolleary.net/).
[7/June/2017]: I came across this post: https://mongoose-os.com/blog/esp8266-remote-control-via-aws-iot/ 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: https://github.com/SuperHouse/esp-open-rtos/pull/173 –> 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.
- 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.
- Creating PHP Scripts, connecting them to MySQL DB and using CURL to test POST/GET requests
- Getting the Arduino with ESP8266 to update Temperature and Humidity (DHT11) values over to this Cloud instance
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.