Seguramente recordaréis la película Regreso al Futuro II, en la que viajan al año 2015. Concretamente al 21 de octubre…. pasado mañana, según escribo estas letras.
En la película sale una visión a 30 años de cómo sería el mundo en nuestros días, y aunque hay algunas cosas que se han quedado lejos, hay otras que sí han avanzado una barbaridad… como la domótica.
Las casas de hoy en día aún no son inteligentes… bueno, la mía sí. 🙂
Después de un montón de horas invertidas (es mi hobbie, qué le voy a hacer), por fin está operativo el “domOS”, que es capaz de gobernar la casa, al estilo de la casa de los McFly.
Con un par de raspberries (35$ cada una), un poco de electrónica (10$), y cachivaches varios estándar (la mayoría elementos RF comprados en Amazon), el sistema es capaz de controlar el estado de cualquier luz de la casa, mover las persianas, determinar cuál es la forma más inteligente de mantener la casa a una temperatura óptima, encencer o apagar la calefacción, poner películas, y mostrarlo todo en un panel de control que puedo operar desde cualquier parte.
Además, claro, de obedecer a mi voz.
Algunos vídeos de demostración….
El sistema cumple el objetivo de ‘cables a la vista 0’, y está creado a partir de una jerarquía de localizaciones y objetos escrita en Perl, con unos cuantos servicios corriendo que se encargan de gestionar las órdenes y la información que recibe por distintos canales.
El motor principal (domOS) se encarga de recibir todas las señales e instrucciones, procesarlas y enviarlas al objeto adecuado para su ejecución. Cada objeto dispone de una serie de posibles acciones, y una configuración por defecto. Por ejemplo, la estufa del baño, si no se le dice lo contrario, siempre se apagará automáticamente al cabo de diez minutos.
La pulsación de cualquier interruptor de la casa, además de encender por si mismo la luz a la que esté asociado (aquí no interviene domOS) hace que el sistema se aperciba de ello y sea capaz de ejecutar cualquier acción sobre cualquier otro objeto u objetos a los que esté asociado, y, por ejemplo, diferenciar estas acciones en función de si hay alguien en casa o no. Lo mismo que los diferentes sensores ubicados a lo largo de la casa.
Los teléfonos y tabletas están configurados de manera que pueden acceder a la consola de gestión desde cualquier parte, y además atender a comandos de voz que, una vez procesados identifican la habitación, el dispositivo, la instrucción y los matices para enviarlos al objeto oportuno. Por ejemplo “OK Google. Baja la persiana del salón hasta la mitad, y sube la de la cocina” hará exactamente eso, del mismo modo que “Enciende la luz de la cocina y baja la persiana” bajará la persiana de la cocina, y no otra.
Añadir objetos nuevos es muy sencillo, y programarlos también: Ayer en cuestión de un par de horas (incluído ver la documentación de Kodi), creé un nuevo objeto que es capaz de, recibida una instrucción de voz, buscar la película que le has pedido, y comenzar a reproducirla. Igual que los demás objetos, si hay varios centros multimedia lo hará en el que le diga, por ejemplo “pon la película regreso al futuro II en el salón”. Si no le digo dónde, la pondrá en todos los reproductores que haya en la casa.
Añadir accesos directos a tablets o teléfonos es también muy fácil, y así al lado de la cama tenemos un ‘mayordomo’ que apagará por nosotros las luces, bajará la persiana, o pondrá la radio (bueno, es un podcast).
Además del domOS, está el script “comfort.pl”, que se ejecuta cada diez minutos para buscar la manera más inteligente de mantener la casa a la temperatura idónea: Por ejemplo, si en casa hace frío y en la calle hace mejor temperatura, subirá las persianas (hasta donde se le permita) para facilitar el intercambio de calor. Sin embargo, si en la calle hace aún más frío, pondrá la calefacción (si está dentro de las horas permitidas), y bajará las persianas hasta el nivel al que se le permita según la hora del día, o según si es de día o de noche, o si hay alguien en casa o no.
Tiene en cuenta todo lo que se me ha ocurrido que se puede tener en cuenta a la hora de buscar el comfort térmico (y lumínico). Eso sí, siempre que no queramos que el sistema nos moleste, por ejemplo en un festivo, basta con operar una persiana para que ésta no se mueva de forma autónoma hasta pasadas nueve horas si no le decimos lo contrario.
Por ejemplo, si bajas la persiana al ir a dormir, esta no se levantará automáticamente por la noche aunque en la calle haga buenísimo y en casa no.
Notificaciones al móvil, por ejemplo cuando se enciende o apaga la calefacción, registro gráfico de temperaturas, secuencias de acciones programadas,…. lo bueno de esto es que no tiene fin!!!
Cositas pendientes: Profundizar un poco más en el API de kodi para poder pedirle que me ponga una de acción que dure menos de hora y media, o yo qué sé, y añadir los objetos “portero automático” y “puerta de casa” para poder también abrirlos (de forma segura) automáticamente.
El futuro, al menos una parte, que pintaban en la película, está más cerca. De momento una casa que haga todas estas cosas no es lo normal, pero no tardará mucho en serlo. La tecnología convive con nosotros y está aquí para hacernos la vida más cómoda.
Espero que os haya gustado. 🙂
Postdata: Por si alguien piensa como mi compañera Sonia, no, esto no lo he hecho por vago. En diez vidas que viva no me ahorraré en ‘levantadas del sofá’ el tiempo y esfuerzo que he invertido en esto.
Mis felicitaciones. Has hecho un gran trabajo.
Eres un artista
Excelente trabajo, al igual la electrónica y mas aun la domotica es mi ocupación de tiempo libre, me puedes indicar si es mejor trabajar con arduino o Raspberry Pi, ya que al momento solo conozco el sistema de arduino pero según to blog Raspberry Pi es mas completo, gracias.
Gracias!
Lo de Arduino vs Raspberry depende de en qué entorno te sientas más seguro. Yo no estoy casi familiarizado con microcontroladores como Arduino, y las Raspberry son ordenadores completos.
Para mí es más cómodo porque de paso las utilizo para otras cosas como un ordenador cualquiera, y las programo en lenguajes que conozco. Probablemente si hubiera empezado con Arduino los preferiría, pero cayó antes en mis manos una Raspberry.