Wireless Power Outlets

Rf 433mhz raspberry pi

Thanks Wired Magazine, LifeHacker & HackADay for featuring my post. If anyone has questions please leave a comment below and I’ll be happy to help!

Have you ever wanted to wirelessly control power outlets from your phone? You could buy a Belkin WeMo Switch for over $40 for 1 outlet or build your own with 5 outlets for under $35 if you already own a Raspberry Pi. Hopefully this post will guide you in the right direction.

Voice Control Outlets (Follow up Guides)

Hardware Needed:

Etekcity ZAP 5LX Auto-Programmable

Steps:

  1. Connect wires to Rf transmitter and receiver chips(wiring diagram). See this article for more info on gpio pins. If you would like to use different pins check out Ninjablocks 433Utils
  1. Install Rasbian on Raspberry Pi (If using Raspbian Jessie use /var/www/html/rfoutlet for all paths below)
  2. Install Wiring Pi
  3. Install Apache and PHP on the Raspberry Pi
  4. Clone web files
  5. Make sure you have git installed. If not, type: sudo apt-get install git
  6. Type: sudo git clone https://github.com/timleland/rfoutlet.git /var/www/rfoutlet
  7. Use RFSniffer to find RF codes for your devices
  8. Type: sudo /var/www/rfoutlet/RFSniffer
  9. Record all 6 digit codes for on/off for each outlet
  10. Update toggle.php with your codes and pulse
  11. Type: sudo nano /var/www/rfoutlet/toggle.php
  12. If the Received pulse is different than 189, you should edit line 38 to your pulse length
  13. Edit lines 6–27 wth your codes
  14. If you’re using a different pin than 0, Edit line 35
  15. Use ctrl + x then “y” to save your file
  16. Change permission of codesend program so sudo isn’t required:
  17. Type: sudo chown root.root /var/www/rfoutlet/codesend
  18. Type: sudo chmod 4755 /var/www/rfoutlet/codesend
  19. You should now be able to turn the outlets on/off from the command line.
  20. Type: ./codesend 349491 -l 198 -p 0
  21. -l is for pulse length and -p is for different pins
  22. Browse to Raspberry Pi ip address ‘http://<your-pi-ip>/rfoutlet/
App demo
  1. Now you should be able to power on/off your outlets from a web browser. If you would like more range you can add an antenna to the transmitter chip. I cut a 12 inch wire from a cat 5 cable and it worked great.
  2. If you would like to schedule the outlets on or off you could use crontab. Here is an example to run everyday at 8pm.
  3. 00 20 * * * /var/www/rfoutlet/codesend “code number”

Let me know if you have any questions in the comments below.


Originally published at Tim Leland.