If you are not a technical person, perhaps my previous posts do not provide a clear picture of what is this all about.
We all know that we can switch channels and change volume on a tv without a remote control, however we prefer to use a remote control, as it makes things easier. Even more, remotes get more clever and manage several devices with single click – if you want to watch a tv, it will turn on tv set, receiver, external tv decoder with single click. Systems for house automation are something like a huge and smart universal remote control for almost any electric device at your home. Why we need automation? Well.. There are several aspects. Its of course comfort, security, as well as possibility to increase energy savings.
If we look on the existing electric devices at our houses, we can see, that basically there are two types of electric devices in the house – one type are controlled devices, like lights, ventilation, heating, etc; second type devices are all controllers and sensors, like switches, regulators, temperature, humidity and light sensors, etc. Some of those devices are already directly connected, like switch in the wall and light in the room, but they don’t care about devices out of such connection.
If we want to automate a whole house, we have to teach these devices to speak the same language, or at least have some “translators” between them. So, we need some communication channel which can join all our devices in single network. There are industry approved standards which use power line for communication (e.g. X10), however there are different limitations which not always can be handled without rebuilding a power cable network, so my decision was that it has to be wireless implementation. And here ZigBee comes in – almost perfect solution for low power wireless communication with its mesh networking, where each node (device) is using other nodes to deliver message to coordinator or any other device.
Of course, adding own ZigBee module to each device might be a nice solution, but it will get also quite expensive, so I decided to have one microcontroller module with ZigBee onboard for group of devices. Therefore each module I have created for automation purposes (described in other posts) has several inputs for controllers and sensors and several outputs for controlled devices.
As a result we have something like this:
Controllers are created small enough to be put behind switches in the wall, and as switches usually are put in groups, then with one controller we can manage all light sources managed by these switches.
As all devices connected to modules now can “speak and listen” in the same language, we can add also some brains to device network. For my solution I decided to go with ordinary PC as a heart of whole solution. Reason for such choice was quite obvious – easy to create software needed, availability of “public” interfaces like internet/lan/web, no unnecessary limitations.
Central management software can gather events from controllers having information about state of all managed devices, switches and sensors, they are stored in database and can be easily analysed later to discover your device usage habits. Of course, all connected devices can be managed directly from GUI, or appropriate rule can be set up and then software takes over this management from you and does it completely automated way. There is also some partial implementation of API for further usage by web applications or Android apps, however had no time to really focus on this part.
So, taking into account possibility to use one controller for multiple device management, average house will require installation of 10-15 such controllers to cover main daily used devices across house.Add one PC and house can be already called a Smart house :).
Hello very interesting what you say, especially since I am at a stage that already spent, I would say between the first and second stages, but I’m a little busy for as manerjar the best way the protocol is the communication between microcontrollers and the plant, if you can comment on that I will be eternally grateful.
well, not quite sure what you mean with protocol, as there are not a lot of options available for communication between micro controller and XBEE device. XBEE basically support only serial UART communication unless you use XBEE Pro or SMT modules, which support SPI/I2C as well. And there you can use AT or API command mode, where I have chosen API which were more suitable for me to transfer binary encoded data. On the level above, for the data exchange between the central software and end devices I have used my own binary protocol, which supports information I wanted to exchange and can be easily updated if new features will be needed.