Projects‎ > ‎

CoYoHo

Control Your Home (CoYoHo) is my DIY home automation and survaillance project. The aim is to create a totally wireless and scaleable system to control power switches (lamps and other electrical appliances) and measure values like temperatures, brightness and power consumption. All devices should be controllable through local devices as well as mobile devices over the internet. The goal is to use XBee modules which implement the ZigBee wireless protocol in every device. ZigBee allows a bi-directional communication between all devices, so besides controlling a device it can itself send asynchronous status update messages, i.e. pressing a physical button on a dimmer to switch a lamp on, will also update a button in a remote control application, eliminating the need for periodically polling the device status.


ZigBee Protocol


All devices communicate with each other using XBee devices. XBee devices implement the ZigBee protocol standard, with which you can send byte array messages from one device to another. On top of the ZigBee protocol, i've designed a simple CoYoHo protocol which defines messages like "toggle a switch" or "query a sensor value".


This file contains the generic framework Eclipse project that is needed by all the other projects (you also need the Arduino Eclipse Framework Project)



Server


CoYoHo Server 3



Remote Control


CoYoHo Remote Control 1


This is a small handy device with 10 push buttons for simple and easy control of the most important devices. Even if everything else fails, this device allows me to at least turn on a lamp.



XBee Adapter

CoYoHo XBee Adapter 1


A previous simple version


CoYoHo Server Old 3

The first version of the CoYoHo base station was built with a FoxBoard and a hacked remote control that is available in most hardware stores for just a few bucks.


8-Way Socket Strip


CoYoHo 8-Way Socket Strip 1



Dimmer


CoYoHo Dimmer 1

Put this between a power jack and a lamp. The brightness can be controlled in 256 steps either remote or with a local push button.