Automate Your Home HVAC System from the Internet Using the Raspberry Pi

The HVAC devices in your home, typically the air-conditioner, thermostats, heating and ventilation, use one or more remote handheld devices working on Infrared (IR) technology. As the HVAC devices are from different manufacturers, you will most likely own a multitude of remote devices, making it difficult to handle and set each of them independently.

However, with the Raspberry Pi or RBPi, a small board called the IR Remote Shield and a wireless interface, you can control all the HVAC devices and that too from the Internet. Imagine setting up the environment in your home just as you are leaving office, so that you have a cozy atmosphere to relax at home.

There are two steps in this project. The first step involves teaching the Raspberry Pi and IR Remote Shield combination the codes that the remote handheld devices utilize to control the various functions of each of the HVAC devices. The second step is to connect the RBPi to the Internet through any one of the wireless interfaces such as Wi-Fi, 3G, GPRS, Bluetooth, and ZigBee or 802.15.4. These interfaces are available from Cooking Hacks, and you can choose one.

After you connect your RBPi to the Internet and feed in the IR codes used by your HVAC components, you can use a webserver, a laptop or even your Smartphone to control all your home HVAC appliances from anywhere in the world. But, a few words about Infrared technology first.

Started in 1993, IrDA or Infrared Data Association is the technology popularly used for controlling devices such as air-conditioners, TVs, radios, audio systems and many others. It is based on light rays in the infrared spectrum and invisible to the human eye. Using infrared transmitters and receivers, communication between two devices can be established in direct line of vision. The infra-red transmitters use special types of Light Emitting Diodes and the receiver uses a photocell sensitive only to the infra-red light.

Infra-red communication or control uses serial data transfer by emitting pulses of light, which is coded in binary, a language micro-processors are capable of deciphering. Therefore, for deciphering the binary code protocol that the remote is sending, you must hold the remote in front of the receiver on the IR Remote Shield mounted on your Raspberry Pi.

To decode and copy an IR code, press the “Receive” button on the IR Remote Shield. This will allow RBPi to capture the code the remote button is sending. In the software, you will have to tag each code with its individual function, for example, a certain code may be for raising the temperature and another for lowering it.

Once all codes from all the remotes are in the RBPi, it is a simple matter to map the codes and their functions on a web application. As the RBPi is connected to the Internet, any browser on the Internet can call up the web application, and the specific settings for the HVAC units altered. This allows the software program running on the RBPi to send the altered binary code to the specific HVAC unit via its IR link and change its status.