Hace mucho tiempo en un post muy, muy lejano… os hablábamos del concepto de Internet de las cosas y lo aplicamos en un caso práctico para la apertura automática de la puerta de un garaje. Con ello conseguimos acceder directamente a nuestra casa sin congestionar el tráfico mientras esperábamos a que se abriera la puerta. Al final de dicho post indicamos mejoras y evoluciones que podrían realizarse al proyecto. Hoy vamos a continuar en esta línea para mostraros un nuevo caso práctico que engloba confort y seguridad.

 

Nuestro punto de partida

Bien, hemos llegado a casa después de un día de trabajo y la puerta del garaje se ha abierto automáticamente a nuestra llegada, estupendo. Estamos en invierno y hace frío, por lo que entramos en casa, encendemos luces y buscamos el mando del aire acondicionado para poner la calefacción y que se vaya calentando el salón. Antes de ir a la cocina buscamos el mando de la televisión. No lo encontramos (¿de nuevo entre los cojines del sofá?), pero bueno, encendemos la televisión directamente en su botón para escuchar de fondo las noticias mientras preparamos la cena.

Llegas a la cocina y piensas… Si mi casa me abre la puerta ella sola a mi llegada de manera automática… ¿Aquí se acaba todo? ¿No puede seguir haciendo más cosas por mí que me faciliten mi día a día? La respuesta es sí, puede. Como siempre el límite lo pone la imaginación.

Todo lo que hemos hecho al entrar por la puerta de casa puede realizarlo esa pequeña joya que es la Raspberry, siempre dispuesta 24/7 a atender nuestras peticiones. Al fin y al cabo, encender el aire acondicionado no es más que enviar señales infrarrojas con un mando a un receptor, al igual que la televisión. ¿Las luces? Existen hoy en día por Internet y en tiendas físicas bombillas que pueden encenderse y apagarse mediante mando a distancia, cambiar colores, intensidad, etc…

 

¿Qué vamos a conseguir hoy?

Por una parte conseguiremos incrementar la sensación de confort. No tendremos que estar buscando tres mandos distintos para lo mismo (enviar señales infrarrojas). Conseguiremos también que al llegar a casa ésta se encuentre a una temperatura óptima si configuramos que se encienda la calefacción cuando estemos llegando. Cuando vayamos a dormir podremos apagarlo todo en una única acción. ¿Creamos un modo película? Que se encienda la calefacción, luces del comedor apagadas, luz del salón de color celeste, intensidad mínima.

Por otra parte, y más importante si cabe que el punto anterior, tendremos mayor seguridad en nuestra casa frente a intentos de robo. ¿Por qué? Porque no es lo mismo que nos vayamos quince días a la playa en agosto con nuestra casa sospechosamente cerrada y sin actividad alguna que una casa en la que se escuche la máquina del aire acondicionado fuera, por la noche se vean luces encendidas, se escuche la televisión, etc.

 

Vale, parece que puede aportarme cosas ¿Cómo lo hacemos?

Como en cualquier otro proyecto de Internet de las cosas que montemos, lo dividiremos en apartado hardware y software.

Hardware

Además de la Raspberry, cerebro del ecosistema, montamos un circuito para poder enviar las señales infrarrojas a los dispositivos que queramos controlar. Los elementos principales del circuito son un led infrarrojo para enviar las señales (uno o más si los aparatos a controlar están apartados unos de otros) y un receptor de señal infrarroja para poder guardar la señal de cada botón, de cada mando, que vayamos a controlar.

 

Software

El software del proyecto lo dividimos en dos fases. En la primera nos comunicamos con el circuito que hemos creado mediante línea de comandos con la Raspberry. Es aquí donde realizamos la acción de memorizar cada botón (o los botones concretos que queramos) de cada mando para que se guarden las señales que queremos posteriormente enviar. Tras ello hacemos pruebas básicas de encendido/apagado al aire acondicionado, igual para la televisión, bajar sonido, cambiar de canal, apagar luces y encenderlas, etc.

Realizado lo anterior con éxito, solamente nos falta una manera amigable de interactuar con el sistema que hemos montado. En el post anterior del Internet de las cosas propusimos la creación de una app nativa para iOS con la que pudiéramos comunicarnos con nuestra Raspberry. Para mostrar alguna alternativa a dicha configuración vamos a crear un bot de Telegram que se comunique con la Raspberry y le diga qué hacer en cada momento.

A mediados del 2015 la aplicación de mensajería Telegram incluyó en su plataforma los bots, pequeñas aplicaciones web con las que podemos interactuar. De apariencia similar a cualquier contacto (humano) con el que nos comuniquemos, estará esperando datos de entrada para responder con datos de salida.

En nuestro caso concreto crearemos un bot que gobernará nuestra casa. Desde el móvil / ordenador / tablet / smartwatch / … accederemos con nuestra cuenta Telegram al bot (por aplicación web o nativa del dispositivo) y le enviaremos órdenes. Nuestra Raspberry estará continuamente escuchando las peticiones que lleguen a dicho bot que hemos creado. Cuando llegue una petición la analizará y emitirá la señal infrarroja relacionada. Después de ello, nos notificará indicando que ha realizado dicha acción.

 

Preguntas frecuentes respecto al bot de Telegram

¿Tengo que escribir en Telegram “Enciende la televisión”, “apaga la luz”, “baja el volumen”, etc? ¡Me canso solo de pensarlo!
Claro que no, Telegram te permite crear teclados personalizados para cambiar el teclado QWERTY por defecto por un teclado con los emoticonos que prefieras. A cada emoticono que configuremos le asociaremos una acción.

¿Tengo que entrar en Telegram y buscar el bot entre mis contactos cada vez que quiera apagar la televisión?
No, puedes crear un acceso directo en tu dispositivo que enlace a tu bot.

¡Cualquiera puede buscar y ver mi bot en Telegram! ¡Van a despertarme a las 3:00AM cada día con la televisión!
Los bots de telegram son públicos pero no permitiremos que cualquiera pueda interactuar con el nuestro. En el código que se comunica con el bot solamente aceptaremos mensajes de los usuarios Telegram que configuremos como legítimos.

¡Tengo miedo! ¡Nunca sabré si alguna persona malvada quiere controlar mi casa!
Si te sientes mejor, ponemos en el código que el bot te notifique cuando un usuario no legítimo intente comunicarse con él.

Pero… ¿y si me hackean la Raspberry?
En ningún momento hemos abierto puertos de la Raspberry para exponerlos a Internet. Desde nuestro dispositivo nos comunicamos con Telegram y éste se comunica con nuestra Raspberry estando estas conexiones cifradas.

Vale, ya me he calmado. Estoy fuera de casa y ayer estuve jugando con la Raspberry, no recuerdo si la dejé apagada ¿Hay algo que pueda hacer para saberlo aparte de darle al botón de encender la televisión, poner el volumen al máximo y llamar a mi vecino a ver si molesto por el ruido?
Claro que sí. En el código pondremos que si le envías “ping” te responda “pong”.

 

En la siguiente captura se ve cómo interactuamos con el bot. Le enviamos los emoticonos que hemos definido para manejar el aire acondicionado, encender la televisión y subirle el volumen. Por último, le enviamos un texto predefinido para que cambie el color de las bombillas.

 

Para finalizar, podemos configurar tareas programadas en la Raspberry modificando el archivo crontab de la misma para que controle algún aparato concreto por infrarrojos determinados días-horas. Por ejemplo, definimos que los martes y los jueves desde noviembre a febrero se encienda la calefacción a las 21.15h, ya que estos días salimos del máster a las 21.00h y llegaremos a casa en media hora. ¿Algún día hay algún cambio? No hay problema, configuramos que además de enviar la señal infrarroja el bot de Telegram nos notifique la acción realizada. De esta manera podremos desde el mismo bot revertir la acción programada.

 

Conclusión

Internet de las cosas no es más que un concepto que lleva poco tiempo entre nosotros (se empezó a hablar de él a finales de los 90). Como tal concepto, no aporta más que conocimiento, al igual que cualquier otro tipo de conocimiento de cualquier materia. Solamente cuando llevamos a la práctica dicho concepto (de manera consciente o no) conseguimos aportar valor y mejorar nuestra vida diaria.

Puede pensarse, y es también lógico, que si llego a casa y no está abierta la puerta del garaje pues le doy al mando y me espero unos segundos (¡que no llega ni a un minuto!) a que se termine de abrir la puerta y después entro. Como mucho habrá tres o cuatro coches atrás… La televisión la he encendido toda la vida con el mando, ¡si es que ni me molesta hacerlo!, ¡el aire acondicionado pues lo mismo! Si llego y está fría la casa pues en unos minutos ya se calienta, no es para tanto…

Cada vez que escucho estas reflexiones pienso en el microondas. El horno microondas no empezó a llegar a los hogares hasta la década de los 70, y la gente no moría prematuramente antes de su llegada y, como mínimo, era tan feliz como lo somos nosotros ahora… Pero la vida no es igual sin él. Creo que no hay día que no lo use. Se me estropeó el mío (verídico) y noté lo que es estar cuatro días sin poder usarlo.

Si de los 365 días del año, digamos que 250 días salgo de casa con el coche para luego volver, en un año 250 veces me he despreocupado de mandos y congestiones de tráfico en mi calle. En una década serán 2.500 veces, en dos décadas, … Irse de vacaciones, pasar unos días en casa de familiares, etc no es igual cerrando la puerta de tu casa hogar sin saber más nada de la misma en varios días que pudiendo tener cierto control sobre ella. Combinando lo indicado en este post con la instalación de una cámara IP la sensación de seguridad no es comparable. Y, para acabar, jamás tendrás que volver a casa porque te has dejado la calefacción encendida.