I started by creating a small application server/client that can remotely execute some commands on a server. I had a small Linux box I used as a NAS. On this server I had installed different software and I wanted to be able start/stop services, run scripts, etc from my mobile device without SSH connection. Because of this I created RController. When RController was up and running I started to build a home automation system using RaspberryPi and different sensors. Currently I am able to remote access:
- TV and other IR based appliances
- check room temperature, pressure, light
- remote start playing music
- run any system command/script
I also started to create “profiles” that are automatically applied at a time. For example each evening at sunset the system automatically turn on lights and living lamp, dim the lights and play some ambient music. Then at midnight the system automatically turns off lights and music.
Ok, now let me explain what are the parts that I used for this project, what is the current status of the project and some future plans.I used the following Hardware:
(model B in my case but it does not matter)
This precision sensor from Bosch is the best low-cost sensing solution for measuring barometric pressure and temperature. This board is 5V compliant - a 3.3V regulator and a i2c level shifter circuit is included so you can use this sensor safely with 5V logic and power.
MiLight is an incredibly, smart, energy efficient, multicolor LED light bulb that can be controlled by your smartphone. Also it support API calls to controls the light bulbs.
You can remotely control any appliance that is plugged in to it up to a distance of 30m. It uses a 433MHz Radio Frequency so the remote does not need to be pointed at the socket and can work through walls. OK, these power sockets comes with a radio remote control but how to use it from Raspberry Pi? Well, one solution is to directly connect with Raspberry Pi GPIO to the remote or use a 433MHz transmitter.
I used this 2 for learning and then controlling TV. I used Lirc software on Raspberry Pi. I my case I have a LG TV and my remote was already saved in Lirc Remote database (http://lirc.sourceforge.net/remotes/). If not there you need to first “learn” the existing remote codes and then you can send those IR codes to control the appliances.
RController will allow you to control your servers and personal computers from anywhere. Each target machine will use a server that will listen for connections. All the data on the server is managed using a Control Panel Interface.