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