Mi hogar automatizado: Raspberry Pi + Node-Red + MQTT y Amazon Echo

En nuestra función de inicio de mi hogar más actual, Dave McLaughlin nos lleva a través de su viaje desarrollando su propio sistema doméstico inteligente. Con algunas actualizaciones de bricolaje al hardware existente de automatización del hogar y una integración inteligente de software, ha creado un sistema fascinante …

Al principio

Después de haber usado Homeseer y una serie de dispositivos cableados e inalámbricos mientras estaba en el Reino Unido, cambié a la conexión inalámbrica cuando me mudé al extranjero a Indonesia en 2005. Como vivía en un apartamento o condominio alquilado, necesito una opción que no requeriría ningún cables otros. que tal vez Ethernet en la misma habitación.

Me decido un sistema de onda Z, luego agregando módulos de lámpara WEMO también. Para el lado de la onda Z de las cosas, elegí los módulos de electrodomésticos de HomePro para enchufes y módulos de lámpara everspring para la iluminación. Ninguno de estos 2 módulos era barato.

Corrí con esta configuración hasta mediados de 2016, pero los siguientes problemas provocaron un cambio. En primer lugar, Z-Wave era temperamental con 2 unidades en el extremo más alejado del apartamento OU, a pesar de que tenía un módulo de aparato a mitad de camino entre él, simplemente nunca funcionó de manera confiable. Habría presionado continuamente la tableta basada en el toque de Homeseer para que la luz de mi cama se apague. Más tarde tendría 2 unidades que las lámparas controladas explotan y fallan. Uno de los IC que era parte de la fuente de alimentación se había abierto grandes.

El siguiente dolor de cabeza fue los módulos de lámpara Wemo. La única forma de hacer que estos funcionen fue con Ifttt a través de sus canales de Homeseer y Wemo. Mientras mi conexión a Internet fuera buena, esto funcionó bien, aunque a veces un poco lento. No es exactamente un 10 en la escala WAF.

A principios de 2016 me encontré con un sitio web dirigido por Peter Scargill, que solía ejecutar una empresa de diseño electrónica hace muchos años desde Tyneside. En ese momento utilicé sus controladores Wired APPCON para la automatización del hogar basado en los pequeños microcontroladores fotográficos de 8 bits. Tenía cientos de metros de cable de alarma de 4 núcleo en todo el apartamento. El sistema era de buena reputación, pero tratar de ocultar todo ese cordón no pasó bien con mi compañero en ese momento.

Avance rápido hasta 2016 y Peter regresó a la automatización de la casa con los pequeños controladores basados ​​en ESP8266.

Estos se basan en un núcleo Cortex M4 con WiFi 802.11 integrado y vienen con un SDK que permite el desarrollo con Eclipse, así como una opción Arduino IDE.

Como mis unidades de HomePro eran problemáticas, tomé la decisión de volver a ingenerar las partes internas y mantener las piezas mecánicas. Así que saqué la vieja PCB e hice todas las medidas para poder hacer mi propio ensamblaje de PCB de 2 pilas en el mismo que el anterior. La PCB inferior es la fuente de alimentación y el relé de estado sólido.

Elegí los relés de estado sólido a medida que encienden el cruce cero y evitan cualquier problema para reducir el aire acondicionado y hacer que la fuente de alimentación se sumerja. Esto funciona sin fallas y puedo cambiar hasta 8 amperios con esta disposición. Mucho más que suficiente para el uso previsto de estos módulos.

Estas imágenes muestran la nueva pila de tableros y las tablas antiguas dentro del módulo y finalmente los nuevos tableros instalados en el hechón HomePro.

Hay un LED en el tablero para mostrar el estado y perforé un pequeño agujero para permitir que esto se vea desde el exterior. Parpadea rápidamente hasta que obtiene una conexión WiFi y MQTT. Usando el botón en el frente, puede presionar y presionarlo durante unos 3-5 segundos justo después de encender y esto activará una página APN y web que puede usar para configurar el dispositivo. Mucho más fácil que tratar de hacer esto a través de la conexión en serie. Peter y Aiden han considerado todo con esto.

Ahora la iluminación necesitaba ser ordenada. Las unidades Everspring que había comprado en el Reino Unido hace un par de años solían mostrar una falla molesta. En ocasiones comenzarían a apagar y luego volver a encender. Fue completamente aleatorio. Reemplacé una unidad con una nueva y sucedió lo mismo. Entonces, un día, identifiqué que la falla de encendido/apagado estaba ocurriendo cuando el voltaje en el apartamento o el condominio cayó por debajo de 209 VAC – Indonesia no es muy buena cuando se refiere a la estabilidad del suministro de la red. Abrí una de las unidades y descubrí que usaban un diseño de fuente de alimentación de muy bajo costo basado en un tipo de capataz de condensador/resistencia. Estos son buenos cuando tienes una fuente de alimentación estable, pero realmente no les gusta cuando la entrada de voltaje es demasiado baja.

Tan armado con el diseño de la unidad HomePro, me puse a crear una nueva PCB para adaptarse a los recintos existentes. El ESP12 estaba ubicado en un lado y la potencia AC-DC en el otro. El relé de estado sólido también estaba del mismo lado que la fuente de alimentación. También se instalaron un Prog y un botón de encendido/apagado para poder instalar el software inicialmente. La interfaz web se utilizaría para configurarla más tarde. Puedes ver el lado ESP de la PCB a continuación. La ranura en la PCB es aumentar la separación de la potencia de CA del lado de DC de bajo voltaje. Las almohadillas grandes son el AC y AC hacia la lámpara.

Así que ahora tenía una serie de módulos de electrodomésticos y controladores de iluminación actualizados, pero ¿cómo iba a controlar todo esto? Es wcomo tiempo para retirar mi antiguo sistema Homeseer 2. La PC no tenía fin de problemas y, al ser Windows 10, decidiría que se actualizaría sin mi permiso. Es hora de dar el paso a Linux.

Entonces, según el blog de Peter, tomé la decisión de sacar mi Raspberry Pi3 con su LCD de 7 “y encender el nodo-rojo. Node-Red para aquellos que no han visto esto es un software de control de arrastre y caída muy grande y estable. Al principio fue desalentador configurar, pero después de aproximadamente una semana de jugar comencé a descubrir que era muy fácil familiarizarse. Si tiene alguna habilidad de programación, se sentirá como en casa con las secuencias de comandos. Todos los módulos se suministran como fuente de script de Java y hay una biblioteca sustancial y siempre que aumenta en el sitio web de Node-Red.

A continuación, necesitaba un corredor MQTT ya que el software de Peter se comunica con este protocolo. Una vez que haya configurado y utilizado MQTT, se da cuenta rápidamente de lo eficiente que es en su red. No hay necesidad de sondear dispositivos o incluso conocer la dirección IP de los dispositivos. El corredor se encarga de esto. Aquellos familiarizados con XAP entenderán esto.

Usando Node-Red, configuré varios temporizadores (gracias a Peter nuevamente por su Big Timer) y enciende las luces por la noche. Usando un complemento WEMO, ahora también tenía el control de las lámparas Wemo, aunque solo encendida y apagada. El desarrollador del complemento Red Node ha prometido el control de atenuación en algún momento.

Ok, entonces tenía configuración de Node-Red y MQTT, pero ahora necesitaba una forma de controlar las luces y los interruptores por voz y alguna forma de interfaz mecánica o táctil. Encontré algunos interruptores inalámbricos de EnoCean en el sitio web de Element14, así que compré un par de ellos junto con el módulo Raspberry Pi Enocean que se conecta a los pines GPIO en el PI y usa el UART para comunicarse con Node-Red y un complemento.

Los interruptores tienen una recompensa en que no hay batería para instalar o cuidar. Utilizan la cosecha de energía a través de una bobina y un imán que se activa a medida que presiona el botón. Lamentablemente, no vienen con accesorios de pared, por lo que debes diseñar los tuyos. Proporcionan un archivo STL de botón de palanca que puede imprimir en 3D, así que usé esto y creé mi propio montaje para ellos. Esto tiene 2 propósitos, uno para cubrir el interruptor antiguo en la pared, asegurando que permanezca en la posición de encendido para que los módulos de la lámpara estén siempre encendidos y, en segundo lugar, para localizar los controles en una ubicación familiar.

Usando el enchufe de encean rojo-rojo, obtengo una carga útil de mensajes con los estados del botón. Al analizar esto en un interruptor de nodo-rojo, puedo enviar el comando adecuado a la luz o al interruptor, etc. Este es un ejemplo de la carga útil enviada por el interruptor EnoCean. Está codificado en formato JSON tan fácil de analizar. La identificación y V son lo que nos interesa.

{“Payload”: {“id”: “002d0932”, “v”: “a0 down”, “unidad”: “”, “rssi”: -76, “tipo”: “estado”, “eep”: ” F6-02-03 “,” Man “:” Enoene_gmbh “,” Desc “:” Rocker Switch “,” RV “:” 30 “,” RawByte “:” 55000707017AF630002D09323001FFFFFFFFFFFFFFFFFFFFFFFM000D “},” }

La siguiente imagen muestra el interruptor que tiene 4 salidas basadas en el valor msg.payload.v en el telegrama desde el interruptor EnoCean. Luego se dirigen al dispositivo adecuado. Utilizo la función de alternar dentro del firmware MQTT para encender y apagar el dispositivo del mismo interruptor. Esto indica que tengo hasta 4 estados de interruptor de cada módulo EnoCean.

Ahora la parte divertida comienza porque tengo un Echo de Amazon y siempre he querido controlar mi hogar con comandos de voz. Puedes culpar a SciFi por esto

No hay soporte de eco directo, al menos no sin tener una conexión HTTPS a su nodo-rojo y que lamentablemente es imposible con mi ISP, por lo que necesitaba una alternativa. Usando este Amazon Echo Habridge de correr en la misma Raspberry Pi3, no pude configurar las luces de activación de voz, etc. El Habridge emula una API de Philips Color para que el eco ve los dispositivos que configura. Aquí hay un ejemplo de un dispositivo que se llama ventilador de la sala delantera.

Al pronunciar lo siguiente en el Echo, el ventilador se puede encender. “Alexa, enciende el fanático de la sala delantera” o apagado diciendo “Alexa, apagar el ventilador de la sala delantera”

El Habridge envía los comandos a nodo-rojo mediante una solicitud HTTP y luego analizo la URL para los valores. Este es un script básico como se muestra a continuación.

Cómo hacer esto con módulos de bajo costo

Habiendo creado mis propias PCB para reemplazar los módulos, necesitaba una forma de agregar módulos de interruptor adicionales y controladores de luz.

Mis propias unidades caseras cuestan alrededor de US $ 15 para ganar con todas las PCB y las piezas juntas. Así que sigue siendo bajo costo.

#
Avance
Producto
Clasificación
Precio

1

Jane Choi RaspberryPI 4 B Modelo B Kit de inicio de 8GB (8GB RAM) -Motherboard 64GB SD Tarjeta, ventilador de enfriamiento, …

121 reseñas

£ 222.99

Ponte en Amazon

2

Raspberry PI 400 4GB Kit oficial de inicio, diseño del Reino Unido

215 reseñas

£ 110.56

Ponte en Amazon

3

Kit de arranque más de Freenove para Raspberry Pi 4 B 3 B+ 400, 561 páginas Tutoriales en profundidad, Python C …

2.835 reseñas

£ 42.95

Ponte en Amazon

Para obtener esto aún más bajo, me encontré con Itead Studio Slampher y los interruptores inteligentes S20. Estos son alrededor de US $ 12 cada uno para los módulos S20 y $ 8.50 para los controladores de luz tan considerables menos que cualquiera de los módulos Z-Wave en el mercado. Vienen con el propio firmware de ITEAD que se controla desde una aplicación iOS o Android, pero quería poder usar el código de Peter. Peter había estado investigando esto y descubrió que con cambios menores en su código, se programaría en las unidades y el trabajo. Necesita un USB para UART con salida de 3.3V para hacer esto, pero esto es lo suficientemente básico si puede ejercer un soldador. El único inconveniente es que los módulos ITEAD vienen con un flash de 512kb y para permitir que el código de Peter realice actualizaciones de OTA, necesitamos cambiar esto a 8MB. Los IC de memoria cuestan alrededor de $ 3 por 5 en eBay. Armado con una estación de retrabajo de aire caliente (tome prestado sus amigos si no tiene uno), el trabajo es rápido y no corre el riesgo de daños a las juntas. La siguiente imagen muestra el SOIC IC superior a la izquierda después de quitar el anterior y el nuevo instalado.

También debe soldar en un encabezado a la fila única de 4 hoyos en la PCB. Esto aplica energía a la placa y le permite programarla con el firmware MQTT hecho a medida. Tengo un blog en profundidad sobre cómo hacer esto.

Los módulos S20 se ven muy inteligentes y modernos. El interruptor de encendido le permite encenderlo y apagarlo localmente. Los que se muestran aquí son enchufes en euros, pero ITEAD ofrecerá opciones de EE. UU. Y Reino Unido muy pronto.

Los módulos Slampher son controladores de lámparas basados ​​en ES27, por lo que no son óptimos para el Reino Unido en la actualidad, pero funcionan muy bien.

Teniendo en cuenta que están utilizando los módulos de conmutación como Reino Unido, esperaría que pronto aparezca una versión de bayoneta. De hecho, me gusta el tipo de tornillo ahora para una instalación mucho más fácil.

Estos son fáciles de abrir y modificar como antes con un paso adicional que no sea el reemplazo del Flash IC y eso es pasar un solo enlace de OHM cero FR

Leave a Reply

Your email address will not be published. Required fields are marked *

Related Post