During the 2013/2014 academic year I lived in sweltering Durham, North Carolina. My apartment had air-source heat pumps with IR remotes, but the remotes’ range was very short, and by the time I found myself close enough to the AC unit it was too late to turn it on—I was already (sweating) in my living room! Wouldn’t it be more useful to turn the AC on before I leave work?
Solution: I purchased a Raspberry Pi, installed an Apache web server, connected some IR diodes and a receiver, set up the Linux Infrared Remote Control library, recorded the IR codes, and voilà! I can SSH into my air conditioner.
But SSH is not the most user-friendly way of interacting with a server—particularly from a mobile device. So I hosted a web app on my Pi which allowed me to submit commands to the heat pump and displayed the latest readings from the temperature sensor. Since I moved out of North Carolina the app is no longer online, but you can play with a mockup hosted on Google App Engine (username Guest, password Guest). Or check out the source on GitHub.
I tried setting up a system for controlling the other two heat pumps in my apartment through the same web server. The other pumps are in different rooms, so IR signals couldn’t be sent directly from the Pi. My plan was to use a network of Moteinos, low-power Arduino clones with built-in wireless (RF) transceivers. The Pi would communicate with the Moteinos via a RF transmitter, and these would send IR codes to the heat pumps in their rooms. I got this system working, but the Moteinos couldn’t drive enough current from their logic pins through an IR diode to communicate with the AC unit from a good distance. I moved out of North Carolina before I solved this issue!