There are a lot of news that wasn't in the original schedule, please refer to the latest post of this topic or have a look to the website www.souliss.net
I would like to share a first step of an Home Automation project called Souliss Home Automation, available at http://sourceforge.net/projects/veseo-souliss/
, it's a framework composed of 3 layers (Souliss, MaCaco and vNet) that make easy build its own home automation applications.
Main features of this framework are listed below:
- It support a P2P network, with a virtualized communication. The application doesn't care about the communication media that is used, routing/bridging within nodes is also provided
- A communication protocol to share data between nodes, a nodes is an Arduino-based device, but the idea is move the framework over many platforms. An example, and Android mobile phone can be a node.
The network virtualization is care of vNet
, that offer a virtual network of nodes regardless media used (now are supported a modifed Ethernet and Chibiduino). Frames are automatically bridged and routed within nodes, without any extra code in the application that use it.
The communication protocol is MaCaco
, it allow standard polling, pushing of data but also subscribing. If a data is subscribed, the source of data will send frame over the network only when data changes. The subscriber care to check the channel healty.
Using vNet+MaCaco and adding some standard logics for home automation (like lights, doors, ...) the framework is complete and released as Souliss
. Some simple examples are provided, to manage light and garage doors, locally and remotely at same time. The approach is distributed, there isn't a central node. Each Arduino has it's own logic and acquire by it-self data from other nodes.
What's next, an UI that now is missing. The idea is start with an Android application that via ethernet acquire data from the nodes, it required a special handling of sockets as per vNet and then move the framework over different platform. This allows and integrated network of Arduinos, mobile phones, computer, media center or whatever.
The ideal roadmap is described below, but the real development progress will be depend on help that I will have, because also if the library is working, there are a lot of todos:
- Develop the framework for Android to get a basic UI,
- Improve RAM requirements,
- Extend broadcast support for vNet (now is there but is not fully working),
- Include RFM22B in vNet,
- Make available more logics in Souliss,
- Make a full UI Android based,
- Develop the framework for other platform (more is bettter)
- A dedicated board (wireless 434/900Mhz w RFM22B, 24V, 16DI buffered, 8 DO, relays off-board).
People that would like to join this project are welcome, as are welcome any suggestion or comment.