[Reza’s] methodical investigation of this remote controlled outlet let him patch in with an Arduino using a 433 MHz transmitter. This is a single-device unit, but the techniques used here should allow you to take control of wireless rigs that have multiple modules to control many devices.
We’ve seen some folks at our local hackerspace try to patch into the remote control itself. That used some type of weird button scanning (not just connecting a pin to ground or voltage) and didn’t pan out. [Reza] doesn’t even crack open the case of either of the units seen above. Instead, he goes straight for a wireless receiver he had on hand, using a logic analyzer to capture the signals coming from the remote.
Once he had a good snapshot of the signals sent when pressing the on or off button of the remote he set out to replicate it in his Arduino code. His function called setStateWithDelay takes three parameters: the transmit pin, the level (high or low), and a number of milliseconds to delay. Each signal calls this function many times, but working the bugs out is pretty easy; just capture the signal with the logic sniffer and compare to the stock remote.
The encoder and decoder are tri-state logic, so it’s difficult to trigger the “button presses” on the transmitter. It’s easier to just spoof the RF signal. We’ve done a few classes on it, buy those outlets around the holidays and you can get a 3 pack for about $20, it’s totally worth it just for the outlet form factor and relay, you could always put Zigbee in the case.
http://www.sector67.org/classes.php?class_id=38
or you could take the easy route and use this fantastic arduino library: http://code.google.com/p/rc-switch/
I have it set up with some outlets that are 10€ for 3 outlets + 1 remote and with some 10€ E27 Sockets. I think i might be running the cheapest home automation setup possible :-)
This library is really awesome and i use it with an arduino with ethernet for controlling my lights over webinterfaces/android app/etc…
the library makes controlling 433mhz switches as easy as copy/pasting sequences :)
I have also used then rc-switch library with my Arduino JSON REST interface experiments and found it to be really good and well written library. See it in action here: http://goo.gl/U70wl
Here is a very easy to use lilbrary for different types of receivers: http://arduino.cc/forum/index.php/topic,38075.0.html
The Mag Pi had a great article on capturing and reproducing these signals using the GPIO pins on a raspberry pi.
You don’t need a logic analyzer. Hook a 50 cent receiver up to a headphone jack through a resistor and you get the same result in audacity.
On the pi you can then control them using a cgi webapp or a cron job.
Looks like another russian pencil.
Yep, RC-Switch for the win! Been using it with 8 outlets and 2 remotes. Created a sketch that can talk to HeyU (http://heyu.org/)
Long shot… It’s been many years since you posted the above… Anyway, are you sure it was MagPi? I looked through all the issues before Feb 2013 and could not find the article that showed how to capture such signals on GPIO…
Question; are wireless doorbells usually 433mHz? Because this leads to some ultra cheap home automation if so. Doorbell rings, arduino/raspi turns on light, send email/sms. We need to make our own internet of things, it wont come unless we build it ourselves. I just bought the receiver/transmitter on ebay and have everything else, will keep ya posted.