Home Automation

This is a project I am very excited about.

I have been working on this project for about the last year. The overall scope of this project has grown past anything I had initially expected. This project has become something that I use daily and am constantly working on improving.

The following block diagram is a rough approximation of how my home automation system functions. The two key elements of this system is a Raspberry Pi and an ESP-8266. The Raspberry Pi handles all user requests and hosts the sever software. The sever communicates to external devices over Wi-Fi and utilizes the MQTT protocol. The external devices used in my home automation system is the popular ESP-8266 microcontroller. For less than $10, this micro-controller is able to connect to a Wi-Fi network and respond to MQTT requests as well as perform traditional mictrocontroller tasks.

Screen Shot 2016-07-31 at 8.05.15 PM

Getting Started:

To build HomeKit enabled “smart” devices, a few things are needed.

  • Raspberry Pi running HAP-NodeJS
  • Raspberry Pi running a MQTT server
  • Home Wi-Fi network
  • Multiple ESP8266 devices

Configuring the Raspberry Pi to run the required software was quite a challenge for me when I was first getting started. For people who are unfamiliar with either HAP-NodeJS or running their own MQTT server, I highly recommend checking out this tutorial. I wish I had found it when I was getting started! This tutorial outlines how to setup the Raspberry Pi as well as how to build your first accessory. I am a big fan of this site because the author and I have similar goals; using the Raspberry Pi and ESP8266 to create HomeKit devices.

HomeKit Devices:

  1. Smart Outlets
  2. Dimming Lamp  (Very excited about this)
  3. Ceiling Lights (Coming Soon)
  4. Color Changing Light Strip (Coming Soon)
  5. Temperature Sensor (Coming Soon)
  6. Motion Sensor (Coming Soon)
  7. Door Open/Close Sensor (Coming Soon)
  8. Ambient Light Sensor (Coming Soon)