4.3 Domótica
De nuevo vamos a tomar prestada una definicióndefinición de la wikipedia:
Se llama
domóticadomótica a los sistemas capaces de automatizar una vivienda oedificaciónedificación de cualquier tipo, aportando servicios degestióngestiónenergética,energética, seguridad, bienestar ycomunicación,comunicación, y que pueden estar integrados por medio de redes interiores y exteriores decomunicacióncomunicación, cableadas oinalámbricas,inalámbricas, y cuyo control goza de cierta facilidad, desde dentro y fuera del hogar. Sepodríapodría definir como laintegraciónintegración de latecnologíatecnología en eldiseñodiseño inteligente de un recinto cerrado.https://es.wikipedia.org/wiki/Dom%C3%B3tica
En nuestro caso, dado que vamos a trabajar con una Raspberry Pi, vamos a ver una soluciónsolución que yo considero perfecta para este ordenador. Se trata de Home Assintant pero antes de entrar en el meollo de la cuestióncuestión vamos a hablar de protocolos.
Protocolos de comunicacióncomunicación
En
informáticainformática ytelecomunicación,telecomunicación, un protocolo de comunicaciones es un sistema de reglas que permiten que dos omásmás entidades (computadoras,teléfonosteléfonos celulares, etc.) de un sistema decomunicacióncomunicación se comuniquen entre ellas para transmitirinformacióninformación por medio de cualquier tipo devariaciónvariación de una magnitudfísicafísica. Se trata de las reglas o elestándarestándar que define la sintaxis,semánticasemántica ysincronizaciónsincronización de lacomunicación,comunicación,asíasí comotambiéntambién los posiblesmétodosmétodos derecuperaciónrecuperación de errores. Los protocolos pueden ser implementados por hardware, por software, o por unacombinacióncombinación de ambos.
TambiénTambién se define como un conjunto de normas que permite lacomunicacióncomunicación entre ordenadores, estableciendo la forma deidentificaciónidentificación de estos en la red, la forma detransmisióntransmisión de los datos y la forma en que lainformacióninformación debe procesarse.Los sistemas de
comunicacióncomunicación utilizan formatos bien definidos (protocolo) para intercambiar mensajes. Cada mensaje tiene un significado exacto destinado a obtener una respuesta de un rango de posibles respuestas predeterminadas para esasituaciónsituación en particular. Normalmente, el comportamiento especificado es independiente decómocómo se va a implementar. Los protocolos decomunicacióncomunicación tienen que estar acordados por las partes involucradas. Para llegar a dicho acuerdo, un protocolo puede ser desarrollado dentro deestándarestándartécnico(técnico(...)https://es.wikipedia.org/wiki/Protocolo_de_comunicaciones
En este punto puede ser que os estéisestéis preguntando por quéqué os estoy contando quéqué son los protocolos de comunicaciones. En este apartado vamos a trabajar con distintos gadget, sensores, que pueden utilizar diferentes protocolos. Además,Además, algunos de los sensores que voy a comentar funcionan con protocolos que la Raspberry Pi no soporta por lo que requieren de algúnalgún hardware adicional. Vamos a enumerar algunos de los protocolos que me parecen mas relevantes de cara a usar domóticadomótica en la Raspberry Pi:
- Wi-Fi: Soportado directamente por la raspberry pi.
- Bluetooth: Soportado directamente por la raspberry pi.
- Zigbee: No soportado por la raspberry pi directamente. Se trata de un protocolo de
comunicacióncomunicacióninalámbricainalámbrica de bajo consumo. Ideal para dispositivos que requieren comunicaciones seguras con baja tasa deenvíoenvío de datos y una gran vidaútilútil de susbaterías.baterías. Necesita de un adaptador (USB) que conectaremos a la Raspberry Pi y que ledarádará a la Raspberry la posibilidad de comunicarse atravéstravés de este protocolo. - MQTT (alias mosquito): es un protocolo de
mensajeríamensajería ligero con un consumo muy bajo deenergía.energía. Requiere de un broker demensajeríamensajería.
Zigbee
Mi adaptador zigbee-USB, un CC2531, lo adquiríadquirí por unos 6 €€ aquíaquí https://es.aliexpress.com/item/32971386349.html requiere ser programado (flasheado). Se puede flashear "facilmente" con un dispositivo similar a a https://es.aliexpress.com/item/32976509073.html que cuesta unos 8€8€ y estando obligados/as a utilizar Windows. TambiénTambién se puede flashear desde la Raspberry Pi utilizando este métodométodo https://www.zigbee2mqtt.io/guide/adapters/flashing/alternative_flashing_methods.html (yo no lo he probado)
Imagen obtenida de https://es.aliexpress.com/item/32971386349.html
Puede ser que el dispositivo que tengas entre tus manos ya estéesté flasheado si otro compañero/compañero/a lo ha flasheado en una ediciónedición anterior del curso. Si asíasí lo deseas puedes volver a flashearlo sin dañarlo.dañarlo.
Os dejo un videotutorial que explica como como flashear el dispositivo por si os animáisanimáis a utilizar la tecnologíatecnología Zigbee. Os dejo tambiéntambién el enlace al vídeovídeo ya que hay veces que no carga incrustado en este manual https://youtu.be/70Eav-prgMk En esta páginapágina del curso he anexionado (aparecen arriba a la izquierda) tambiéntambién los ficheros necesarios por si en el futuro dejan de estar disponibles en su ubicaciónubicación actual.
Os dejo alguna foto de las conexiones del proceso de flasheo por si no lo veis correctamente en el vídeo:vídeo:
ElaboraciónElaboración propia
El ccdebugger en ocasiones le cuesta MUCHO cambiar el led de rojo a verde. Es cuestióncuestión de insistir, reiniciar,... La primera vez que lo hice me costócostó 2 minutos. La segunda vez que lo hice me costócostó 20 minutos.
Os dejo unas capturas de pantalla del programa de flasheo:
ElaboraciónElaboración propia
Tipos de dispositivos IoT
A la hora de adquirir dispositivos dispositivos IoT los encontraremos de 2 tipos:
- conectados a la luz
- con
batería/batería/pilas
en algunos casos tiene sentido que esténestén conectados a la luz, es el caso de un termostato de la calefaccióncalefacción o un motor para subir/bajar las persianas, mientras que otros, como un sensor de temperatura o un actuador de radiador, tiene mas sentido que funcionen con batería/batería/pilas en lugar de tener que llevar un enchufe a cada radiador o a cada punto dóndedónde queramos medir medir
AdemásAdemás de la clasificaciónclasificación anterior, nos encontraremos básicamentebásicamente dispositivos de 2 tipos: Wi-Fi y Zigbee pero no Bluetooth ¿¿por qué?qué? por el consumo. Los dispositivos que utilizan el protocolo Bluetooth consumen mucha mas bateríabatería que los que usan, por ejemplo, zigbee. Nadie quiere un dispositivo IoT al que tiene que cambiarle las pilas cada mes cuando existe uno equivalente al que puede cambiarle la pila cada 2 años.años.
Privacidad
Una cuestióncuestión que yo considero MUY importante es el que el acceso a nuestros datos o a la funcionalidad del hardware no requiera de tener acceso a la nube de una determinada empresa por cuestiones ya no solo de privacidad sino por el hecho de que si esa empresa cierra su nube o establece un servicio de pago estamos condenados a pagar o cambiar el dispositivo con las implicaciones medioambientales y económicaseconómicas que ello supone. Muchos fabricantes, como tuya, plantean que para usar sus dispositivos Zigbee debes adquirir su hub (concentrador) y posteriormente este hub, a travéstravés de su app o web, te darádará los datos que recopila o te permitirápermitirá interactuar con tus dispositivos. Frente a esta filosofíafilosofía estáestá la posibilidad de utilizar un software propio al que conectemos nuestros dispositivos (WiFi o Zigbee) y de la compañíacompañía que queramos (tuya, sonoff,...) sin depender de nubes de terceros. Además,Además, con soluciones como las que hemos visto en el capítulocapítulo 3 para la creacióncreación de VPNs, podremos acceder a nuestro dispositivo desde cualquier lugar. Por ello en el siguiente apartado vamos a hablar de Home Assistant.
Home Assistant
Imagen obtenida de https://design.home-assistant.io/#brand/logo
Hassio, por si mismo, requeriríarequeriría de un curso dedicado de una cantidad importante de horas por ello vamos a centrarnos en aquello mas relevante.
Antes de comenzar voy a mostraros mi instalacióninstalación de Home Assistant con los diferentes sensores, gráficasgráficas y automatizaciones que tengo asíasí como por quéqué empecéempecé a montar este sistema y quéqué quiero hacer en el futuro.
Inicialmente montémonté esto para ubicar en cada dormitorio un sensor de temperatura y posteriormete ubicar un actuador de apertura/cierre en cada radiador. La idea era abrir o cerrar cada radiador de modo automáticoautomático en funciónfunción de la temperatura de cada estancia. Con posterioridad leíleí que estos actuadores con tanta apertura/cierre acababan estropeandose y por ello desistídesistí de instalar estos actuadores en los radiadores pero la mecha ya estaba prendida.
En la actualidad tengo los siguientes sensores/actuadores:
- sensor de apertura: en la puerta de entrada a mi domicilio
- sensor de presencia: en la primera estancia a la que se accede desde la puerta de entrada
- sensor de temperatura y humedad en
salónsalón - sensor de temperatura y humedad en el dormitorio principal
- termostato
- sensor de consumo: en el cuadro
eléctricoeléctrico de casa - sensor de apertura:
frigoríficofrigorífico - receptor/emisor de infrarrojos
deteccióndetección de aparatos en red de casa
Todos, excepto el último,último, funcionan con zigbee mientras que el últimoúltimo hace uso de wifi.
ElaboraciónElaboración propia
Estos sensores me permiten obtener valores del instante en que realice la consulta pero tambiéntambién históricos.históricos. TambiénTambién me permite actuar directamente sobre los sensores como el termostato. Todo ello se configura en unos dashboards muy sencillos como los que vemos a continuacióncontinuación
ElaboraciónElaboración propia
ElaboraciónElaboración propia
ElaboraciónElaboración propia
A partir de lo anterior se pueden crear diferentes automatizaciones. Por ejemplo yo tengo creadas las siguientes:
- Frigo abierto: Mi
frigoríficofrigorífico no tiene sensor avisador si te dejas la puerta abierta por lo queintentéintenté hacer un avisador en caso de que estuviese abierto mas de 10s. Mis hijas arrancaron el sensor antes de ponerlo en marcha. - Frigo cerrado:
- Puerta de casa abierta: Me manda un mensaje por telegram cada vez la puerta de casa se abre. Lo uso a modo de alarma
- Puerta de casa cerrada:
- Termostato temperatura medida
cambiócambió por debajo de19ºC:19ºC: Lo tengo creado para pruebas con el termostato
ElaboraciónElaboración propia
ElaboraciónElaboración propia
Visto lo que yo tengo es momento de empezar por la instalacióninstalación: Home Assistant (https://www.home-assistant.io/) puede ser instalado dockerizado o puede ser instalado directamente como un sistema operativo en una tarjeta SD dedicada. En mi caso opto por la 2ª2ª opciónopción pues como vemos en la imagen posterior el hecho de tenerlo instalado de este modo me permite disfrutar de todas las posibilidades de la herramienta.
Imagen obtenida de https://www.home-assistant.io/installation/
En la direccióndirección https://www.home-assistant.io/installation/ tenemos a nuestra disposicióndisposición las diferentes formas de instalación.instalación. En el caso de elegir la instalacióninstalación víavía sistema operativo descargaremos la imagen y la instalaremos tal como vimos en el capítulocapítulo 2.1.1. Os dejo tambiéntambién un tutorial por si os resulta de utilidad https://domoticaencasa.es/video-tutorial-instalacion-de-home-assistant/
Si vais a trabajar con dispositivos Zigbee necesitaréisnecesitaréis conocer quéqué es Zigbbe2Mqtt por ello os dejo este enlace https://domoticaencasa.es/video-funciona-mqtt-integrar-home-assistant/ a un tutorial que explica como funciona y como integrarlo en Home Assistant. Os dejo tambiéntambién un vídeo:vídeo:
El protocolo MQTT se usa en robóticarobótica educativa, por ejemplo aquíaquí en el curso ESP32 en el Aula con Arduinoblocks
Si te quedas con ganas de mas voy a recomendarte esta serie de 8 vídeosvídeos dóndedónde indican como proceder con hassio y zigbee:
Una funciónfunción muy interesante es la de que hassio nos envíeenvíe notificaciones en Telegram por ello os dejo un enlace a este tutorial https://domoticaencasa.es/home-assistant-9-notificaciones-telegram/ dóndedónde explica como hacerlo. Este canal os puede resultar tambiéntambién de gran utilidad para los servicios que hemos desplegado a lo largo del capítulocapítulo 3.
Integraciones
Si ademásademás de las integraciones que pone por defecto a tu disposicióndisposición Home Assistant quieres hacer uso de otras no oficiales puedes instalar HACS que nos permite acceder a cientos, si no miles, de proyectos que la comunidad ha creado. Para instalar HACS es suficiente con seguir estas instrucciones:














