CoYoHo - Control Your Home - Home Automation System

CoYoHo is my attempt to build a wireless home automation system which is fully open source and open hardware. That means everything is available under open source/hardware licenses and you can download, use and modify all of the hardware designs (schematics and PCBs), the device firmware source code as well as the server and client source code.
CoYoHo is a home automation system, so its main features are:
- Communication with distributed remote devices
- Getting input from remote sensors
- Control remote actuators
- Server for configuration and management
- Automated device control via scripts
- Web administration
- Mobile client administration
CoYoHo is currently in an early alpha stage. Since i have no *real* use for a home automation system (since i don't own a house ;-)), i only built some devices to suit my actual needs (switching lights and electronic equipment) and evaluate things that interest me (developing a Ruby server, developing an Android client). So don't expect anything industrial grade at the moment.
Finished devices:
- Box with 8 switchable power outlets (220V)
- Box with a dimmer (200V, put between power outlet and lamp)
- Remote control (battery powered, 10 push buttons, 3 LEDs)
- Reworked Ikea Spoeka night lamp (RGB LED light)
- WLAN camera (pan and tilt controlled by two servos)
- Linux server running on a Panda board
Soon to be finished:
- Basic server software for system management and control
- Voice recognition device based on an EasyVR module (acts a s a voice triggered remote control)
- Client software for Android devices (imagine a wall mounted Android tablet for controlling your home automation system)
Planned:
- Wall switch (flush mount, switch and button combination)
- Wall dimmer (flush mount, Rotary knob and dimmer combination)
Currently the following technologies are used:
- Wireless communication with the remote devices via XBee modules
- ATmega controllers are used in the devices, the firmware is written in C++ using the Arduino framework and developed with the Eclipse IDE
- Server software is written in Ruby (JRuby) using the Vaadin web application framework and running as a Jetty web application on Linux
- Mobile client for Android devices, implemented as homescreen widgets
By the very nature of this project, CoYoHo will never be finished. You can always imagine new sensors and actuators to build, think of enhancements to the server software or create a client for a new mobile device.
Since CoYoHo is only one of my many interest, this project is progressing steady but slowly. So help of other developers is highly welcome.
CoYoHo project web site:
CoYoHo git repository:
Discussie (3 opmerking(en))
DynamoDave 11 jaar geleden
We live in part of a large house, with tenants on one side and us on the other. We recently fitted a Salus RT500RF on our side to control the radiators (the boiler is on the tenant's side).
To disable this control in the Summer or reboot it, I also fitted EasySwitch FM switches for this. They turn devices off and on from an unused light switch on our side.
Sometimes the Salus does not poll the controller when the heating should go down at night (from 20 to 5 deg C). If I suspect this, I can force it to poll by pumping the heat up to say 25 and wait for the poll symbol to appear, then immediately start pumping it down to 5 and wait for the polling symbol. This should ensure that it works.
If the EasySwitch devices are 'on' and the power goes off, then they will need resetting (off and on at the switch).
Sometimes I think some mobile phones can affect them.
But I have replaced the batteries that power the EasySwitch switches on our side, the transducers on the other side are mains-powered.
So the only thing that happens about once a year, the transformer plugged into the mains, oxidises and shuts down as there is not enough current to keep the contacts clean. Which means un- and re- plugging the transformer.
This can be avoided by having a desktop transformer wired directly into a junction box, say.
img-20130308-00279.jpg (288kb)
grappendorf.net 11 jaar geleden
On my website you can now download the Eagle PCB files for the adapter board with which you can connect a XBee module to a PandaBoard. It's a voltage regulator / level converter, and needed because the XBee modules work with 3.3V whereas the PandaBoard uses 1.8V (and supplies 5V).
https://sites.google.com/site/grappendorfnet/projects/coyoho/coyoho-server-hardware
ClemensValens 11 jaar geleden
Hi Dirk,
I had a look at this project which seems realy interesting. You say it is open source and open hardware, but to my surprise you don't say a lot about the server. The source code repository from github does not contain schematics for the server, only the peripherals have Eagle files. Can you please expand a bit on the server?
Regards,
Clemens
ClemensValens 12 jaar geleden
grappendorf.net 12 jaar geleden