En un artículo previo, hablamos de los diferentes componentes que integran un Hogar Conectado moderno. Un elemento primordial en dicho ecosistema es el controlador o cerebro capaz de tomar decisiones y dotar de inteligencia a nuestro hogar. Siendo éste un elemento tan importante, ya vimos en este otro artículo algunos buenos candidatos, pero queda por decidir una cuestión nada trivial: ¿dónde ubicar el cerebro de tu casa inteligente? En este artículo veremos qué opciones tenemos y trataré de apuntar algunos criterios de decisión que aconsejen una u otra alternativa en función de cada caso concreto.

Los elementos del sistema

Pero antes de abordar este análisis, recordemos brevemente los elementos que componen un Hogar Conectado moderno:

  • Los sensores y actuadores son los dispositivos electrónicos capaces de recoger información del entorno de nuestro hogar (sensores) y de actuar sobre el mismo (actuadores).
  • El gateway o puerta de enlace es elemento que da conectividad hacia el exterior de nuestro hogar a dichos sensores y actuadores, permitiendo tenerlos bajo control desde cualquier lugar con conexión a Internet.
  • Y, por fin, el controladorcerebro que gobierna todo este ecosistema y que será el responsable de conseguir que nuestro hogar goce de un buen nivel de inteligencia.
Componentes de un Hogar Conectado
Sensores, actuadores, gateway y controlador: elementos clave de un Hogar Conectado

En el esquema anterior se puede ver cada uno de estos elementos representado. En este caso, el controlador situado al lado del router incorpora también la funcionalidad de gateway, aunque puede tratarse de dispositivos diferentes. Los sensores y actuadores se comunican inalámbricamente con el gateway y éste, a su vez, con el controlador. El gateway, además, al estar conectado al router (o cualquier otro dispositivo capaz de dar conectividad hacia Internet, como un módem 3G, por ejemplo), hará que el sistema tenga conexión hacia el exterior.

 

¿Inteligencia en el mundo exterior?

Como también se puede apreciar en la imagen anterior, es posible encontrar inteligencia en la nube, es decir, que nuestro Hogar Conectado, puede estar conectado a una nube que no sólo le dote de conectividad, sino que también albergue un determinado grado de control o lógica sobre el propio sistema.  Técnicamente es perfectamente posible y a nuestro criterio queda elegir dónde ubicamos la función de control de nuestro ecosistema:

  • Localmente, dentro de nuestro propio hogar
  • Externamente, fuera del mismo
  • Localmenteexternamente, dependiendo de qué funciones de control se trate.

Pero, ¿verdaderamente esto tiene implicaciones importantes? Puede tenerlas, pues una ubicación u otra tiene ventajas e inconvenientes.

 

Eligiendo la ubicación del controlador

Cuando nos enfrentemos a esta decisión, deberemos hacernos algunas preguntas que nos ayuden a elegir nuestra mejor alternativa. Vaya por delante decir que non hay elecciones mejores o peores, sino combinaciones más adecuadas que otras dependiendo de cada situación concreta.

¿Dispone de nuestro hogar o, en general, nuestro local o sistema, de una conexión a Internet estable y fiable? Si es así, este criterio resultará indiferente para ubicar el control dentro o fuera del mismo. Pero si, por los motivos que sea, la conexión no es fiable, deberemos situar la lógica del mismo de forma local, para comprometer lo menos posible esta función por pérdidas frecuentes de conexión a Internet, que puedan provocar que no lleguen todas las órdenes a los actuadores o que se pierdan frecuentes lecturas de los sensores. En un hogar estándar, con conexión a Internet a través de Router ADSL o Fibra Óptica, esto no debería ser un problema. No obstante, es altamente recomendable conectar nuestro gateway y/o controlador al router a través de cable ethernet preferentemente, en vez de hacerlo por WiFi, al ser ese modo de conexión mucho más fiable y robusto (sobre todo en entornos donde la señal WiFi no llegue con fuerza o sufra interferencias debido al alto número de redes WiFi existentes en la zona).

Sin embargo, habrá casos en los que la conexión al exterior sea un punto débil del sistema (ubicaciones geográficas con poca o nula conectividad), donde convenga implantar toda la lógica de control localmente y no comprometer su funcionamiento. En estos casos, se hará uso de la conexión a Internet de forma puntual para asuntos secundarios que, en el caso de que falle la conexión no degraden el funcionamiento propio del sistema.

Otro factor de decisión para la ubicación del controlador es si de forma local disponemos de un dispositivo con capacidad de proceso suficiente para gestionar la lógica o inteligencia del sistema. Hoy en día, el hardware o dispositivo físico necesario para realizar dichas funciones se ha abaratado enormemente, existiendo multitud de opciones para llevar a cabo esta tarea: desde los PCs tradicionales, hasta dispositivos específicos para estos fines como RASPBERRY PI, mini PCs basados en Linux, etc. con precios por debajo de los 30€ en la mayoría de los casos.

En el siguiente video (en inglés), se explica qué es la plataforma Raspberry Pi, una de las que más se han extendido para su utilización en soluciones relacionadas con Internet de las Cosas (fuente: Raspberry Pi Foundation).

Si optamos por este tipo de solución, cosa que, por otro lado, es la más frecuente, sobre todo en sistemas del tipo háztelo tú mismo (o DIY del inglés Do It Yourself), deberemos tomar algunas precauciones con el fin de conseguir que el sistema sea lo más estable posible. Por ejemplo, podemos usar un viejo netbook o portátil que no usemos, al que le hayamos instalado Linux. Al estar alimentado el PC mediante su batería, si hay pequeños cortes de luz, todo el sistema no se verá afectado por los mismos, pues el PC seguirá funcionando con normalidad. En el caso de que el corte de luz sea de duración mayor a la de la propia batería, deberemos haber instalado el software de control de forma que éste se inicie automáticamente en caso de reinicio del PC y, por otro lado, configurar las BIOS de dicho PC, para que arranque automáticamente en caso de corte de suministro. De esta forma, nos aseguramos que el sistema es capaz de “rearmarse” automáticamente incluso ante caídas de tensión prolongadas, lo que lo hará mucho más estable y fiable (esto es de vital importancia en segundas residencias, donde no suele haber nadie en casa para que reinicie el sistema en caso de fallo).

Desde hace varios años, la solución personal que tengo instalada en mi propio hogar para el control de luces, depuradora de piscina, etc., es de este tipo: un viejo netbook Acer con procesador Intel, al que le instalé Ubuntu y sobre el mismo el controlador de mi elección, en este caso OpenRemote. Hasta el momento, el PC ha funcionado sin interrupción alguna, habiéndose demostrado como una solución perfectamente fiable. En este artículo, explico un poco más los detalles de esta instalación.

 

Buscando una nube inteligente

En el caso de que dispongamos de una conexión fiable y no queramos instalar físicamente ningún PC o similar de forma local que haga de controlador inteligente del sistema, deberemos buscar alternativas “en la nube”. Se trata de encontrar plataformas que nos permitan “externalizar y virtualizar” el dispositivo físico con capacidad de proceso y lógica de control de nuestro sistema. Afortunadamente, en la actualidad existen numerosas alternativas que nos ofrecen Plataformas de Software como Servicio, son las llamadas PaaS (Platform as a Service, en inglés). Dichas plataformas ofrecen como servicio “dispositivos virtuales” sobre los que instalar distintos tipos de software, aplicaciones, bases de datos, etc. Nada nos impide, en estos entornos, instalar nuestro propio software controlador del sistema que hayamos elegido. Tan solo debemos asegurarnos de que el mismo es compatible o instalable en dicha plataforma.

La ventaja de estos sistemas o servicios, es que nos olvidamos de los potenciales problemas de estabilidad del PC local, la monitorización del mismo de que todo funciona correctamente, etc., pues esta tarea es parte del servicio contratado, es decir, el nivel de disponibilidad que el proveedor nos asegura para el servicio que contratemos. Podría pensarse que este tipo de solución es más cara que instalarse uno mismo un PC localmente. Sin embargo, hay plataformas que ofrecen unos planes de precios realmente competitivos, incluso con versiones totalmente funcionales y gratuitas de los mismos, perfectamente válidas para proyectos personales y que en caso necesario podremos escalar a planes más completos, ya de pago, si necesitamos más capacidad de proceso, memoria de almacenamiento, etc.

En un artículo próximo hablaré de un ejemplo concreto que desde hace pocos meses estoy probando personalmente con resultados verdaremente buenos, con el fin de sustituir “mi viejo netbook” y el controlador OpenRemote por una solución totalmente virtualizada en la nube. Como adelanto, os diré que la plataforma elegida es OpenShift, de los creadores de la famosa de distribución de Linux Red Hat, que ofrece un plan gratuito totalmente funcional. El controlador, en este caso, como sustituto de OpenRemote, es NodeRED, una herramienta también gratuita, creada por IBM para, como ellos mismos dicen, conectar visualmente El Internet de las Cosas.

Node RED funcionando en la nube OpenShift
Ejemplo de virtualización de la inteligencia del sistema. En este caso el controlador es Node RED, ejecutándose en Plataforma en la Nube de OpenShift

Otra ventaja de virtualizar y externalizar la inteligencia de nuestro hogar conectado, es que podemos acceder a ella desde cualquier lugar, gestionarla y reutilizarla en otros “hogares” o entornos similares, lo que hace al sistema mucho más modular e independiente y, por tanto, más flexible, duradero y preparado para futuras nuevas soluciones tecnológicas que puedan ir saliendo en el mercado.

 

También hay algunos “peros”

Como dije al principio, no todo son ventajas el hecho de virtualizar en una plataforma en la nube la inteligencia de nuestro Hogar Conectado. También deberemos tener en cuenta algunas dificultades extra:

La conexión entre el gateway local y la nube es una de ellas. El cerebro, al tenerlo externalizado, deberá estar en permanente conexión, a través de Internet, con el gateway local que, a su vez, estará en contacto con los sensores y actuadores de nuestro hogar. Esa conexión deberemos “asegurarla”, en el sentido de garantizar que no nunca se pierde. Normalmente las conexiones ADSL o de Fibra existentes en domicilios particulares no disponen de IP fija, sino que ésta IP (o número que nos identifica públicamente en Internet) va variando de cuando en cuando. Ello dificulta que se garantice dicha conexión al no poder utilizar una IP fija para acceder a nuestro gateway desde el exterior. Para solventar este punto tenemos dos alternativas:

  1. Que sea nuestro gateway local el que llame siempre de forma periódica a nuestro cerebro en la nube para preguntarle “si tiene que hacer algo” (enviar una orden a un actuador o recoger datos de un sensor).  El proveedor de la plataforma de virtualización sí que nos ofrecerá una dirección o URL personalizada con la que acceder a nuestro controlador en la nube, que será siempre fija.
  2. Utilizar algún servicio en Internet de IP Dinámica que nos permita asignar una URL fija que apunte siempre a nuestra IP Dinámica de nuestro gateway local. Para ello, el proveedor de este servicio nos ofrecerá distintas alternativas para ir actualizando nuetsra IP Dinámica en su servidor cada vez que esta cambie (por ejemplo, puede que nuestro propio router ADSL incorpore un apartado específico para configurar este tipo de servicios en su menú de configuración).

Un proveedor que ofrece gratuitamente un servicio de IP dinámica es DNS Exit, que permite, además, diferentes modos de actualización de nuestra IP a la que debe apuntar (pudiendo utilizarlo, por ejemplo con un PC en casa o incluso con apps para nuestro Smartphone Android como Dynamic DNS Update).

Dynamic DNS Update   Aplicaciones de Android en Google Play
Aplicaciones como Dynamic DNS Update, para Android, nos serán de gran ayuda para solventar la dificultad de acceso a nuestro Hogar Conectado desde el exterior, por tener una IP Dinámica.

 

 

Otro punto que debemos tener en cuenta es un tráfico de datos hacia Internet mayor que si el controlador fuera local. Esto no será un problema en la mayoría de los casos, salvo que en nuestro sistema tengamos sensores sobre los que el controlador deba tomar decisiones que hagan un uso intensivo de datos. El ejemplo más claro posiblemente sea el utilizar cámaras de vigilancia que estén enviando continuamente la imagen captada a nuestro controlador externo. En estos casos, deberemos comprobar que nuestra conexión a Internet no se convierte en un cuello de botella del sistema (recordemos que el ancho de banda de subida de datos a Internet de un ADSL, por ejemplo, suele ser unas 10 veces menor que el ancho de banda disponible en el sentido contrario de bajada). También deberemos comprobar que no consumimos la cuota mensual de ancho de banda contratado si utilizamos conexiones a Internet basadas en módem-router 4G ó 3G (por ejemplo, en zonas donde el ADSL o la Fibra Óptica no están disponibles).

 

Conclusiones

Como hemos visto a lo largo del artículo, decidir dónde ubicar el cerebro pensante que toma las decisiones de nuestro Hogar Conectado puede resultar importante dependiendo de la existencia de determinados factores del entorno de nuestro sistema.

A modo de resumen, podemos decir que un cerebro o controlador localmente instalado en el hogar exige dedicar un dispositivo o PC físico, normalmente situado junto al gateway, y para el que deberemos asegurar su “alta disponibilidad” ante potenciales cortes de corriente, etc. A cambio, esta solución es más robusta si la conexión a Internet no es estable y suele interrumpirse frecuentemente.

Por el contrario, poner el cerebro de tu casa en la nube es una buena idea si tenemos una buena conexión a Internet, si deseamos una mayor modularidad de nuestro sistema, así como asegurar una alta disponibilidad del mismo mediante un servicio “profesionalizado”. Sin embargo, deberemos cuidar algunos aspectos extra como la cuestión de la IP dinámica.

Por supuesto, siempre será posible adoptar soluciones mixtas, donde podamos por ejemplo, externalizar la mayoría de la lógica del sistema y sólo dejar cierta lógica de forma local para algunos aspectos determinados que consuman mucho tráfico de datos (como el ejemplo de la cámara de vigilancia comentado anteriormente). O, incluso, podremos tener toda la lógica local replicada externamente para que, en caso de fallo del sistema local, entre en funcionamiento el sistema externo. Todo dependerá de las necesidades concretas que tengamos en nuestro caso específico.

En el siguiente artículo, detallaré cómo construir un sistema con lógica externalizada totalmente, haciendo uso de herramientas OpenSource totalmente gratuitas.

Si te ha gustado este artículo, te agradezco lo compartas para que otras personas puedan conocerlo también… ¡todos tus comentarios son bienvenidos!

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.
El cerebro de tu casa, en la nube
Etiquetado en:                                                    

2 thoughts on “El cerebro de tu casa, en la nube

Deja un comentario

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