Amazon, Intel, IBM and many other companies have started building Internet of Things platforms and cloud services. These services are exactly what I’ve been looking for as a way to safely and securely gain Internet access to my home automation system. I buy a lot of great products from Adafruit and discovered they have an IOT platform.  Adafruit.IO is a beta version and I started experimenting with their MQTT SDK this week.

My plan was to build a standalone test bed to learn how to publish sensor data to Adafruit.IO and subscribe to switches and triggers. I built the breadboard below with an ESP-1 to handle the MQTT interface and an ATMega328 to process environment sensors and the alarms (flashing LED and loud piezo buzzer).

2016-02-10 07.20.15

Power was one challenge. I needed 3.3 volts for the ESP-1 and the ATMega328 (LM1117).  A 5 volt rail (7805)was needed for the MQ2 and PIR sensors. A 12 volt rail (power supply rated at 1 amp) was needed for the flashing LED and a loud piezo (not shown).

Programming two processors is an added complication but I’ve got the process down and its pretty reliable. The Arduino IDE is not state of the art but its much better than some of the development environments I used to work with in the olden days.

The photo below is my first prototype of a dashboard from Adafruit.IO

AdafruitDashboard1

I’ve created feeds for humidity, temperature and light. The alarm button turns the flashing LED alarm light on and off pretty quickly. I’ll add gas and motion later tonight. I also want to test the trigger capability as well.

Sensors

  • MQ2 gas sensor
  • DHT11 temperature and humidity
  • Photo resistor light
  • PIR motion sensor

That’s it for now and it took me only a couple of days to get it working. The Adafruit.IO forum was also helpful and support was responding almost as fast as I posted questions.