About OpenDomo

The project OpenDomo

OpenDomo is a free project that aims to create a home automation control system accessible and secure. The license under which it is developing the project is the General Public License (GPL.). This license guarantees freedom to use the software, one of the main values of the current technological society. Overall, this implies that OpenDomo can be used, copied, modified and distributed freely.

 

History

Founded in 2006 by Daniel Lerch and completely redesigned a year later with Oriol Palenzuela. Currently OpenDomo is a project under active development and now offers all basic services automation control system: control of electrical devices, video surveillance, remote access, etc..

 

Support of Different Protocols

OpenDomo arises from the need to unify different technologies in the world of home automation, such as UPnP, X10, EIB, etc. with the communication protocol used today more TCP / IP.

Thus, a system must support OpenDomo hardware from different vendors and standards, though mainly focusing on TCP / IP devices.

 
Accessibility

The home control should be simple, to the extent even of a child, and must provide benefits to the user, not headaches and an obligation to be constantly consulting the manual. That's why OpenDomo to create a system easy to use and intuitive.

In addition, OpenDomo focuses on integrating all the components of the home, from the control of sensors and actuators, multimedia, security, etc. All controllable from a single interface: PC, PDA, Mobile Phone, etc..

 
Security

A system of smart home should be safe, it will control the opening of doors, shutters, video surveillance systems, alarms, etc.. Unwanted access to these systems malfunction or compromise the physical security of the user. It is for this reason that one of the main objectives is OpenDomo build a secure, stable and fault-tolerant.

 
Distributed Agent Network

OpenDomo installation consists of large numbers of low-cost devices, such as IP cameras, embedded systems (OpenDomo Agents), Multimedia systems, control boards, etc.

Achieving fault tolerance in these circumstances is quite complicated. OpenDomo facing the problem through a distributed network of agents, consider a distributed agent as a hardware system that runs the distro OpenDomo.

An agent manages a set of network services OpenDomo, being responsible for them. In case of fall of an Agent or any failure to prevent this continue to provide the service, another actor in the network take its place. Thus, it is achieved that important services such as alarms, SMS alerts, etc. will not stop working unless it falls all the home automation network.

 

Modules OpenDomo

The project is organized in a series of modules that together form OpenDomo. The main module is opendomo-distro. This is a GNU / Linux distribution whose main goal is to have a small size. Opendomo-distro running on other modules, extending the functionallity of the home automation network.

Some of the modules are based opendomo-cgi OpenDomo that implements the graphical system to manage home automation network, opendomo-discovery that allows agents to communicate on the network, pkg opendomo-forming system opendomo packet, opendomo - events that handles the communication of events and opendomo-koloader, which enables automatic loading of drivers from the network.

OpenDomo Other modules that are not part of the base system are opendomo-video, for the management of surveillance cameras, opendomo-ai that implements the intelligence of the system, opendomo-control that allows hardware control panels (I / O) and giving opendomo-upnp protocol support uPnP.


GUI (Interface)

The main GUI is based on a OpenDomo CGI system that runs as a service on one of the agents (opendomo-cgi). This service implements a processing system that allows scripts to easily and very quickly create applications. These applications are small scripts that follow a format specified and documented. It supports any language that can run on GNU / Linux (opendomo-based distro) but the choice is shellscript, does not have external dependencies opendomo-distro and run on any hardware platform.

Thus, to add functionality to OpenDomo only be necessary to create a set of scripts and package in the package format supported by opendomo-pkg.

 
Technology Base

The different modules that are OpenDomo develop primarily in C and shell script. Opendomo-distro uses kernel GNU / Linux and BusyBox binary set, the C library uclibc buildroot system and its.

 
Present and Future

OpenDomo developers now focus on completing the basic modules of the system and provide stability as well as documentation. In the near future, the project objectives will revolve around security, support of new hardware and the port of packages that may be of interest for the project (speech recognition, speech synthesis, multimedia, etc). Another focus of attention is the development of opendomo-ai be managed by the intelligence of the system.