I recently designed “Roomduino” to control electrical devices in my room from internet, it's a solution base on Arduino, I custom designed two boards for the small system, the first is a "network gate" board, which is like a hub or a master node, built by an Arduino compatible board and an ethernet board. the second board is a "network node" board, which is a electric switch board with 2.4GHz RF board for communication with "network gate", it controls electric switchs of your devices. A "network node" board must be fit into your electric socket, a DIY work is necessary in this step.
the hareware part of "Roomduino" is the most difficult part comparing other steps in this design. I have described 3 alternative solutions here for your reference. in "hareware solution 1 and 2", you need to custom made PCB boards for the system. however, in "hardware solution 3", I used Microduino to build a "network gate", it's the simplest way to build your owner "master node". Microduino is a kind of very small Arduino compatible board and supplys a plenty of extension modules, you can just stack the boards together to build your own "homeduino", please check http://wiki.makermodule.com, or https://www.facebook.com/Microduino for details.
opensource codes are shared in this instructable.
My lamp, water machine, fans and curtain are connected to “Roomduino”, then I can use my cell phone or a webpage to remotely switch the devices, it’s really a cool experience.
I've written up my method so people can make their own.
1. Network Gate (Master)
• MCU: MEGA644PA (MEGA328PA is SRAM is not sufficient to support it)
• ETHERNET: ENC28J60，RJ45(HR911105A)
• WIRELESS 2.4G: nRF24L01
• DISPLAY: NOKIA5110 or OLED 12864
• REMOTE CONTROL: Infrared remote controller + infrared receiving head for remote control
2. Network Node (Slave node)
• MCU：MEGA328P or 168PA；
• WIRELESS 2.4G: nRF24L01；
• Electric relay, BT136, MOC3041；
3. a network router
4. a YEELINK.com account for internet control (a public cloud service), yes, you can use other cloud servers as you like, please remember to revise the software accordingly.
5. Software: I put all source codes in github: https://github.com/wasdpkj/Roomduino
• Infrared remote controll
• A RTC to schedule electrical switcher (electric relay)
• Remote controller via internet, support multiple control methods:
o Use webpage to control the system in LAN scope
o Use Yeelink.com to control the system in WAN scope (internet)
• Currently, the system only can control four channels, because of the limitation of Yeelink.com
1. Automatically time synchronization through network
2. ETHERNET POE
3. 2.4G wireless controll
4. Allocate the I/O for DHT11，18B20
===========System Limitation ===========
• Current "Roomduino" system only support Google Chrome in LAN wide, , it is because of the limitation of “jquery”, for security reason. Check more details in github documents (web.rar): https://github.com/wasdpkj/Roomduino
Step 1: [hardware solution 1.1] build network gate (master) board
Hardware solution 1.1
in solution 1, I build one network gate board (a master node) and one network node board (a slave node), PCB open source files of the boards are provided for your reference. A socket DIY is required if you want to pack a network node into it.
- custom designed network gate (master)
- custom designed single network node (slave)
- DIY a socket
1. network gate (master node) board analysis
- PCB snapshot of a network gate (master)
- Real network gate board