Ya vimos en el artículo anterior que hace falta un “cerebro” que dote de inteligencia a nuestro hogar lleno de dispositivos conectados. Sin este elemento, podremos tener un cierto control remoto de luces o, incluso, ciertos automatismos básicos de encendido/apagado por tiempo, pero no estaremos sacando todo el potencial posible al hecho de tener todos esos dispositivos (recordamos, sensores y actuadores), conectados. Es decir, no estaremos hablando de un hogar inteligente propiamente dicho.

 

El Controlador que lo sabe todo

En este artículo veremos un sistema “inteligente” que es capaz de tomar decisiones basadas en información a la que accede. El elemento que permite dotar de esta inteligencia a nuestro sistema se llama controlador y se trata de un componente lógico, es decir, no es un dispositivo físico propiamente dicho como los sensores o actuadores repartidos por el hogar. Concretamente, consiste en un software o aplicación informática que lleva a cabo las siguientes tareas:

  • Recoge la información que capturan los sensores instalados (temperatura, humedad, consumo eléctrico…) y envía órdenes a los actuadores (encender una bombilla, abrir la puerta del garaje, apagar la caldera….).
  • Procesa dicha informacion complementándola, en ocasiones, con otra disponible a través de internet (previsiones meteororlógicas, nuestra propia geolocalización respecto a la vivienda…) para tomar decisiones de actuación en base a unos criterios introducidos en el sistema. Por ejemplo, podremos indicar al controlador que cuando la temperatura del sensor instalado en el salón esté por debajo de 20°C y estemos llegando a casa (información basada en la geolocalización proporcionada por nuestro smartphone), entonces dé la orden al actuador de la caldera de encender la calefacción con el fin de encontrarnos la casa a una temperatura agradable a nuestra llegada.
  • Conecta todo el sistema con Internet, lo que permite manejarlo remotamente (desde nuestro smartphone, por ejemplo), incorporar información adicional a la de los sensores físicos (podríamos decir que disponemos de un número casi infinito de sensores virtuales) y enviar notificaciones (alertas por email, SMS…) para avisarnos de determinadas circunstancias o eventos que hayan tenido lugar.

El controlador elegido en esta ocasión se llama OpenRemote. Se trata de un software de código abierto, lo que significa que tendremos una plataforma totalmente gratuita y apoyada por una gran comunidad de usuarios que continuamente va incorporando nuevas funcionalidades y mejoras, además de proporcionar soporte y ayuda a sus usuarios.

OpenRemote no es el único software de este tipo disponible. Hay muchos otros y al final del artículo veremos otras alternativas, y sus pros y contrae frente a OpenRemote.

 

Cómo poner OpenRemote en tu hogar

Como hemos dicho, OpenRemote es un software, por lo que lo primero que necesitas es disponer de un ordenador donde instalarlo. Ya sé que no es muy sexy (ni eficiente) tener que disponer de un ordenador dedicado y encendido todo el día, por mucho que en él tengamos el súper cerebro de nuestro hogar inteligente. Que no cunda el pánico. Si bien es cierto que puedes utilizar un PC tradicional para instalar OpenRemote, hay más alternativas, porque este software está disponible para multitud de plataformas (Windows, Mac, Linux). Precisamente, la versión de Linux abre un montón de posibilidades limpias y eficientes para instalar OpenRemote:

  • En un Raspberry Pi (mini ordenador del tamaño de una tarjeta de crédito y cuyo precio ronda los 35€)
  • En un Android miniPC (dispositivo Android del tamaño de un pendrive tipo USB, que se conecta a la TV por HDMI), instlando Linux sobre el mismo. Hay multitud de modelos, con precios desde 45€,
  • Incluso, como en mi caso, en un viejo Netbook (ordenador tipo portátil de tamaño muy reducido) de los que estuvieron de moda hace años y que ya no uses. Esta ha sido la opción elegida por mí. En mi caso se trata de un ACER Aspire ONE en el que instalé Ubuntu y después OpenRemote. El consumo que hace OpenRemote es tan bajo que ni siquiera se conecta el ventilador del ordenador, por lo que se trata de un sistema silencioso y discreto.

Existen otros dispositivos en los que es posible instalar OpenRemote, incluso existe un hardware diseñado expresamente para su funcionamiento y que se puede adquirir desde su propia web, por 350€.

 

Instalando OpenRemote

Una vez elegido el “ordenador” o dispositivo en el que vas a instalar OpenRemote, lo primero que debes hacer es descargar el controlador e instalarlo, siguiendo las instrucciones que encontrarás en su web (en inglés).

Los componentes de OpenRemote

Plataforma OpenRemote
Los elementos que forman parte de OpenRemote. Fuente: www.openremote.com

OpenRemote es una plataforma que se compone de 3 elementos fundamentales:

  • El controlador propiamente dicho que hemos visto en las líneas anteriores.
  • El Diseñador (OpenRemote Designer), que es una herramienta online (es decir, está en la nube), y es el componente en el que indicaremos de qué sensores y actuadores (tanto reales como virtuales) dispone nuestro sistema. Además, también diseñaremos en él el aspecto gráfico, los botones, etc., de la aplicación para nuestro smartphone desde la que accederemos remotamente a nuestro hogar.
  • La app o aplicación para el smartphone desde la que controlar nuestro hogar conectado mediante OpenRemote (lo que en su web se denomina paneles de control). Está disponible para Android y para iPhone/iPad.

 

¿Qué sensores y actuadores es capaz de controlar OpenRemote?

Lo bueno de herramientas de código abierto como OpenRemote es que están pensadas para trabajar con casi cualquier dispositivo que disponga de algún tipo de conectividad, pues integra multitud de protocolos, tanto los más antiguos como los últimos estándares del mercado. Ello hace posible poder utilizar equipos relativamente antiguos junto con otros de nueva adquisición, y todos ellos bajo la misma plataforma y actuando en equipo.

Definicicón de actuadores y sensores en el Diseñador de OpenRemote
Definicicón de actuadores y sensores en el Diseñador de OpenRemote

En mi caso, en mi sistema utilizo:

  • Dispositivos con el viejo protocolo X10 (utiliza el propio cableado eléctrico de la vivienda para transportar la información).Se trata de actuadores con los que enciendo y apago diferentes luces en el jardín, los focos de la piscina y arranco y paro la depuradora de la misma. Se trata de dispositivos que tenía hace años y que su automatismo se limitaba a una programación horaria de encendido/apagado. Ahora, además, puede manejarlos remoatmente desde mi smartphone  y hacer que respondan a determinados eventos (por ejemplo, ajustar las horas de depuración de la piscina en función de la temperatura existente, de si está puesto o no el cobertor de invernaje, etc…).
  • Controlador de riego del césped del jardín, que permite ser controlado externamente mediante  el protocolo HTTP (que incorpora OpenRemote).
  • Sensosres virtuales disponibles en OpenRemote, como un sensor que informa de la hora a la que oscurece  y amanece cada día.

OpenRemote me permite, por tanto, hacer funcionar en equipo a dispositivos muy diferentes y no pensados en principio para funcionar de forma conjunta. La ventaja de unificarlos de esta forma es que, por ejemplo, puedo aprovechar  la información que me proporciona el sensor de lluvia del controlador de riego para, por ejemplo, decidir alargar el tiempo de funcionamiento de la depuradora porque pueda ser necesario disolver más cloro en el agua para contrarrestar  el efecto del agua de lluvia añadida a la piscina.

Como puedes ver, la limitación se encuentra más en nuestra imaginación que en la propia tecnología disponible.

Diseña tú mismo el panel de control de tu hogar inteligente

El segundo componente del Diseñador online de OpenRemote es la herramienta de creación de los paneles  que usaremos directamente en nuestro smartphone para el manejo y control de nuestro hogar. Para ello, empezaremos por crear paneles de control. Un panel de control es un conjunto de pantallas diseñadas para ser utilizadas en un determinado dispositivo móvil (smartphone, tablet, etc.).

diseño_paneles_openremote
OpenRemote ofrece libertad total a la hora de diseñar nuestros paneles de control para el smartphone

En OpenRemote podremos crear tantos paneles de control como smartphones y tablets diferentes tengamos (en cuanto a tamaño de pantalla, se refiere). De esta forma, podremos utilizar diseños más sencillos para smartphones con pantallas más reducidas y diseños completos, en tablets, por ejemplo. A cada pantalla podemos añadir una serie de elementos o widgets que van, desde simples textos hasta imágenes. Además, cada uno de estos elementos podemos “conectarlos” a los diferentes sensosres y actuadores que hayamos definido en el apartado anterior.

Así, por ejemplo, podemos utilizar fotografías reales de nuestra propias lámparas encendidas y apagadas, y asignarles “interruptores” que hayamos creado en la otra sección de la aplicación. Las posibilidades de personalización son, por tanto, completas, si bien exige un esfuerzo extra por nuestra parte en crear los diferentes elementos gráficos que queramos que representen cada uno de los dispositvos conectados de nuestro hogar.

El verdadero potencial: el motor de reglas

Como hemos ido diciendo a lo largo del artículo, podemos decir que un hogar es “verdaderamente inteligente” si dispone de un sistema de toma de decisiones lo suficientemente potente como para que sea capaz de comportarse de la mejor manera en función de las circunstancias de cada momento. A esto, en OpenRemote, se le denomina “motor de reglas” y se trata de un sistema basado en la detección de eventos y la realización de la acción correspondiente en consecuencia.

Por evento se entiende la ocurrencia de una determinada circunstancia en el sistema. Estas circunstancias son “captadas”por los sensores que compongan nuestro sistema (sensores tanto físicos como virtuales), por lo que los eventos no son más que el cumplimiento de determinadas condiciones de la información leída por los sensores como, por ejemplo:

  • Que el sensor de temperatura del salón alacance 25ºC
  • Que se encienda una determinada lámpara en el jardín
  • Que el sensor de movimiento, detecte movimiento
  • Que la previsión del tiempo indique “lluvia”
  • O la combinuación de varios de los anteriores

Las reglas se definen de acuerdo al siguiente enunciado: cuando ocurra este evento, entoces haz esta acción

Las acciones posibles irán en función de los actuadores existentes en el sistema y podrán comprender acciones como:

  • Bajar la persiana del salón
  • Encender la TV
  • Enviar un email
  • Regar el césped del jardín
  • O una combinación de las anteriores

Como se puede deducir, las posibilidades que se abren son enormes porque, además podemos definir simultáneamente tantas reglas como queramos. Sin embargo, aquí nos topamos con una característica mejorable en OpenRemote, pues la manera de definir las reglas es muy parecida a la de un programa informático, lo que exige conocer el lenguaje de programación de dichas reglas (el motor de reglas de OpenRemote es el conocido y potente Drools). Es decir, OpenRemote no cuenta con una interfaz gráfica que permita ir definiendo reglas simplemente arrastrando y soltando los diferentes sensores y actuadores de nuestro sistema, sin tener que escribir el código correspondiente en e lenguaje en que están basadas. Este punto, ciertamente, supondrá un freno a la hora de utilizar OpenRemote (es posible utilizar OpenRemote sin definir reglas, pero entonces se convertirá en un simple “control remoto” en nuestro smartphone para encender y apagar luces a voluntad nuestra, sin inteligencia adicional).

Es un asunto conocido por los desarrolladores de esta magnífica, por otra parte, plataforma, ya que ahora mismo queda un tanto restringido su uso a personas con un perfil más técnico, que no les asusta “programar” sus propias reglas. Es cuestión de tiempo que algún miembro avanzado de la comunidad decida hacer una extensión o complemento que permita definir reglas de una manera visual (al menos, que permita definir una serie de reglas básicas que seguro cubren un buen porcentaje de casos comunes).

 

Algunos ejemplos reales funcionando con OpenRemote

En la propia web de OpenRemote se puede acceder a una serie de aplicaciones reales llevadas a cabo por usuarios destacados de esta herramienta.

De entre ellas, son de destacar ejemplos como el que puede verse en el siguiente video. El autor ha conseguido intercatuar de forma virtual con una foto real de su oficina: arrastrando las persianas para bajarlas, o tocando las luces para encenderalas.

Alternativas a OpenRemote

OpenRemote no es la única solución existente en el mercado de este tipo. Existen otras muchas que tratan también de dar respuesta a la necesidad de poder controlar los elementos conectados de un hogar inteligente.

De entre todas, destaco un par de ellas (por supuesto, también gratuitas y de código abierto) que me parecen muy atractivas por diversos motivos y que pueden ser una alternativa a OpenRemote:

De concepción muy similar a OpenRemote, quizá requiere menos esfuerzo por parte del usuario a la hora de configurar su propio sistema, pues dispone de una serie de iconos y plantillas predefinidas. Por tanto, no es necesario dibujar desde cero los paneles de control, ya que el sistema los crea por nosotros (aunque no podremos insertar imágenes o iconos propios como en OpenRemote).

Dispone del mismo sistema de reglas que OpenRemote y tampoco posee un editor visual para las mismas (aunque el editor de texto es más avanzado que el de OpenRemote, lo que facilita algo la tarea).

Se trata de una solución de más reciente creación. Dsipone de un sistema de reglas visual, donde el sistema nos guía y nos porpone las opciones posibles en función de los dispositivos que tengamos definidos.

Además, está concebido para poder añadir complementos disponibles en su propio “mercado” que incorporan nuevas funcionalidades al sistema.

Frente a OpenRemote, otras herramientas ganan en ser más amigables de cara al usuario y hacerle la vida más sencilla, pues OpenRemote exige un esfuerzo mayor (diseñar nuestras propias pantallas, programar las reglas…). A cambio, OpenRemote puede llegar a ofrecer soluciones totalmente personalizadas y únicas, completamente adaptadas a nuestra necesidad concreta.

Lo bueno de todas estas alternativas es que, al ser totalmente gratuitas, podemos probarlas todas ellas y quedarnos con la que más se adapte a nuestras necesidades.

Espero que este artículo haya terminado de despertar en ti tu interés por estos asuntos y que te haya ayudado a tener una imagen más clara del funcionamiento de estas plataformas.

Soy un entusiasta de la tecnología desde niño y dicha afición la he ido aplicando en las diferentes etapas por las que ha transcurrido mi vida. Soy Ingeniero Industrial por la Universidad Politécnica de Madrid, carrera que me ha aportado la capacidad de comprender los problemas desde una perspectiva global, relacionando diferentes conceptos para lograr una solución a un problema concreto. Profesionalmente hablando, mi carrera ha transcurrido principalmente por puestos relacionados con la tecnología e Internet. Actualmente soy responsable de servicios digitales en AXA Seguros, siendo mi misión ofrecer servicios de valor a los clientes de la compañía a través de sus canales digitales.
OpenRemote: el cerebro de tu hogar inteligente

7 thoughts on “OpenRemote: el cerebro de tu hogar inteligente

  • 20/10/2014 a las 14:32
    Enlace permanente

    Gran artículo. Es el futuro cercano, y lo tenemos al alcance de la mano.
    Ojalá se extienda el uso de estas tecnologías y podamos avanzar en la seguridad en los hogares.

    Responder
    • 20/10/2014 a las 14:54
      Enlace permanente

      Muchas gracias, Juan. Sin duda, como bien dices, es el futuro y cada vez más cercano. Lo interesante es que la tecnología ya está disponible y a un precio muy razonable. Sólo hace falta que se extienda su uso para que progresivamente más personas puedan acceder a ella, sin necesidad de tener conocimientos informáticos y puedan montarse sus propios sistemas de hogares conectados.

      Esta web pretende, entre otras cosas, desmitificar un poco ese halo de dificultad y de “reservado sólo a técnicos”, para acercarlo a personas que no les importa la tecnología, sino las ventajas que ella les puede aportar.

      Responder
  • 21/07/2015 a las 11:39
    Enlace permanente

    Hola Roberto.
    He llegado a tu web buscando una solución al automatismo de riegos y luces. Concretamente mi caso es muy similar al tuyo. Tengo una casa de campo con césped y piscina, pero que no es mi vivienda habitual. Actualmente el mantenimiento de la piscina es manual 100%, es decir, pongo en marcha la depuradora a mano. Para el césped tengo el típico programador que trabaja con electroválvulas de 24v en alterna. Dispongo de conexión a Internet en el campo

    Me ha resultado muy grato el ver a alguien que ha conseguido automatizar todo este proceso y que incluso puede operar con él a distancia. Soy Ingeniero Informático, pero ya se sabe que en casa del herrero… El caso es que quiero poner algo similar en marcha. No conocía openremote y me ha resultado muy interesante, pero se me escapa una cosilla que no he visto en el artículo:

    ¿Como conectas la raspberry pi con la red eléctrica y poder emitir órdenes X10? Hay algún dispositivo concreto compatible con openremote y x10?

    Muchas gracias por la información y espero ansioso nuevos artículos.

    Responder
    • 22/07/2015 a las 00:09
      Enlace permanente

      Hola Joaquín, me alegra saber que el artículo te ha dado ideas para tu proyecto de automatización. En mi caso, no dispongo de un controlador tipo Raspberri PI, en realidad es un viejo netbook que tenía aparcado al que le instalé Linux y OpenRemote. La depuradora la controlo con módulo de aparato X10, de los que van en carril DIN en el propio armario eléctrico de la piscina. Las órdenes de encendido y apagado las gestiono desde OpenRemote, mediante reglas o bien a voluntad desde un panel con un botón creado en la app. Estas órdenes se envían a un controlador X10 conectado por USB al netbook (mi modelo es el CM15). La clave que permite utilizar OpenRemote con X10 es una aplicación para Linux llamada mochad, capaz de hablarse con el CM15 y que a suvez permite utilizar el protocolo HTTP de OpenRemote para interaccionar con este programa. Lo que hace es abrir un pequeño servidor en el PC en el que lo instales (RaspPI en tu caso) y escuchar órdenes en un puerto configurable. Es una instalación limpia y sencilla, pero X10 es una tecnología ya bastante antigua y tiene algunos problemas: no es demasiado robusta y depende del “ruido” que tenga tu instalación eléctrica. Así por ejemplo, en mi caso, los comandos X10 no llegan si está en funcionamiento el robot limpia fondos. Imagino que el transformador de 24V genera ruido eléctrico que hace que se pierdan estas órdenes. Tienes otras alternativas, como uno de los smart plug por WiFi que hay ahora. El problema es que suelen ser soluciones cerradas para usar con su propia app, por lo que la integración con OpenRemote puede ser compleja (el modelo de Belkin, WeMo, sí se integra con la plataforma de reglas en la nube IFTTT). Otra opción, que requiere más esfuerzo pero es totalmente flexible es construirte tú mismo los relés inteligentes con Arduino. Mira la web mysensors.org. Hay infinidad de sensores a precios de risa. Es un proyecto OpenSource.

      Respecto al riego, el controlafor EtherRain que tengo, dispone de una API que permiute interactuar con él vía HTTP, por lo que su integración conOpenRemote es muy sencilla.

      Espero haberte ayudado un poco con la respuesta. Si tienes más dudas, ¡pregunta todo lo que necesites!

      Responder
      • 22/07/2015 a las 09:05
        Enlace permanente

        Muchas gracias por responder tan rápido.
        Es verdad que la tecnología X10 es ya un pelín antigua, ya desde hace muchos años he visto módulos varios que trabajaban con esta tecnología. Lo que no sabía es que fuera tan sensible al ruido 🙁
        Echaré un vistazo a fondo a mysensors, porque lo ideal sería colocar elementos que se integraran perfectamente con openremote. Tengo pensado poner en el tejado de la casa una omnidireccional de ubiquiti y así sería mas sencilla la comunicación con todos los sensores que trabajen por wifi.

        En cuanto al hardware, a priori había pensado desplegar openremote en un router de los de jazztel que tengo flasheado con openwrt, pero al ver el tamaño de openremote me he tenido que olvidar. De momento las pruebas las haré en mi netbook y mas adelante cuando todo vaya fino adquiriré una raspberry pi para el tema.

        Felicidades por el blog.

        Responder
        • 22/07/2015 a las 13:03
          Enlace permanente

          Hola Joaquín,

          En este apartado de MySensors tienes una vista general de cómo funciona el sistema. La comunicación entre los sensores y el “gateway” que lo conecta al exterior es inalámbrica, pero no es WiFi. De hecho se trata de una comunicación optimizada para esta necesidad, de muy bajo consumo (permite utilizar sensores alimentados con batería) y, dependiendo de la versión que elijas (con antena externa o sin ella), el alcance puede ser de hasta 1.000 m en abierto, según indican. El precio de estos módulos inalámbricos es realmente bajo. Además, los diferentes sensores y actuadores que puedas ir añadiendo con el tiempo, tienen la funcionalidad de extender la red, al convertirse en repetidores de la señal, con lo cual no parece que vayas a tener problemas de alcance de señal.

          Por otra parte, OpenRemote es una buena alternativa como “cerebro” de tu Casa Inteligente, pero no es la única. Incluso, tienes la opción de no necesitar controlador localmente instalado y delegar esta función a una solución en la nube. Hay proveedores que proporcionan este servicio (PaaS, Platform as a Service, incluso en modalidades gratuitas). Una de ellas es OpenShift. En dichas plataformas, puedes instalar aplicaciones alternativas a OpenRemote, como NodeRED, de IBM, también OpenSource, basada en nodos visuales que interconectas entre sí y que puedes dotar de inteligencia mediante programación en javascript.

          Esta otra aproximación tiene ventajas y desventajas frente a un controlador local corriendo sobre un “PC” en tu casa. De hecho, estoy “migrando” mi sistema actual hacia este nuevo enfoque y tengo pensado publicar un artículo sobre ello en cuanto pueda probar en persona la fiabiliadad y flexibilidad de este sistema frente al actual (aprovecharé, de paso, para ir “jubilando” los módulos X10 en favor de los de Arduino de MySensors).

          Espero no haberte liado. Como puedes ver, lo bueno de la situación tecnológica actual es que hay infinidad de posibilidades, donde el precio ya no es una barrera, al ser muchas de ellas OpenSource, tanto en la parte hardware como en el software, de una calidad y fiabilidad que nada tiene que envidiar a sistemas cerrados tradicionales (de hecho, los supera).

          Suerte con tu proyecto de automatización.

          Responder
          • 22/07/2015 a las 13:13
            Enlace permanente

            No me has liado para nada en absoluto, sino todo lo contrario, ahora tengo muchísimo mas claro como funciona el sistema. Muchas gracias por toda la información. Estaré atento a ese nuevo artículo 🙂

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *