In our latest My Automated home feature, Dave McLaughlin takes us through his journey developing his own smart home system. With some DIY upgrades to existing home automation hardware and some clever software integration he’s built a fascinating system…
Al principio
Having used Homeseer and a number of wired and wireless devices whilst in the UK, I switched to wireless when I moved overseas to Indonesia in 2005. As I was living in a rented apartment I need a solution that would not require any cables other than maybe Ethernet in the same room.
I decide on a Z-Wave system, later adding Wemo Lamp modules too. For Z-Wave side of things I chose the HomePro Appliance modules for sockets and Everspring Lamp modules for the lighting. Neither of these 2 modules were cheap.
I ran with this setup until the middle of 2016, but the following issues prompted a change. Firstly Z-Wave was temperamental with 2 units at the far end of ou apartment, even though I had an Appliance Module half way between it just never worked reliably. I would have continually press OFF on the Homeseer Touch based tablet to get my bed light to go off. later I would have 2 units that controlled lamps blow up and fail. one of the IC’s that was part of the power supply had split wide open.
The next headache was the Wemo lamp modules. The only way to get these to work was with IFTTT through their Homeseer and Wemo channels. As long as my internet connection was good this worked ok, albeit a bit slow at times. Not exactly a 10 on the WAF scale.
In early 2016 I came across a website run by Peter Scargill who used to run an electronics design company many years ago from Tyneside. at that time I used his AppCON wired controllers for home automation based on the little 8 bit pic microcontrollers. I had hundreds of meters of 4 core alarm cable run all over my apartment. The system was reliable but trying to hide all that cable didn’t go down well with my partner at the time.
Fast forward to 2016 and Peter was back doing home automation with the little ESP8266 based controllers.
These are based on a Cortex M4 core with built in 802.11 WiFi and come with an SDK that allows development with Eclipse as well as an Arduino IDE option.
As my HomePro units were troublesome I decided to re-engineer the internals and keep the mechanical parts. So I took out the old PCB and did all the measurements so I could make my own 2 stack PCB assembly in much the same as the old one. The lower PCB is the POWER supply and solid state RELAY.
I chose the solid state relays as they switch on the zero crossing and avoid any issues with pulling down the AC and causing the power supply to dip. This works faultlessly and I can switch up to 8 AMPS with this arrangement. more than enough for the intended use of these modules.
These images show the new board stack and the old boards within the module and finally the new boards installed into the HomePro enclosure.
There is an LED on the board to show status and I drilled a small hole to allow this to be seen from the outside. It flashes rapidly until it gets a WiFi and MQTT connection. using the button on the front you can press and hold this for around 3-5 seconds just after power up and this will activate an APN and webpage that you can use to configure the device. easier than trying to do this over the serial connection. Peter and Aiden have considered everything with this.
Now the lighting needed to be sorted. The Everspring units that I had purchased from the UK a couple of years ago used to show an annoying fault. They would on occasion started to switch off and then back on again. It was completely random. I replaced one unit with a new one and the same thing happened. then one day I spotted that the on/off fault was occurring when the voltage in the apartment was dropping below 209Vac – Indonesia is not very good when it comes to stability of the mains supply. I opened one of the units and found that they used a very cheap power supply design based on a capacitor/resistor dropper type. These are good when you have a stable power supply but they really don’t like it when the voltage input is too low.
So armed with the HomePro unit design, I set about creating a new PCB to fit the existing enclosures. The ESP12 was located on one side and the AC-DC power on the other. The solid state relay was also on the same side as the power supply. A prog and on/off button were also fitted so I could install the software initially. The web interface would be used to configure it later. You can see the ESP side of the PCB below. The slot in the PCB is to increase the separation of the AC power from the low voltage DC side. The large pads are the AC in and AC out to the lamp.
So now I had a number of upgraded appliance modules and lighting controllers but how was I going to control all of this? It was time to retire my old Homeseer 2 system. The PC was noFin de problemas y, al ser Windows 10, decidiría que se actualizaría sin mi permiso. Es hora de hacer el movimiento a Linux.
Entonces, según el blog de Peter, decidí 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 agradable 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 proporcionan como fuente de script Java y hay una biblioteca enorme y cada vez mayor 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, por lo que pedí un par de ellos junto con el módulo Raspberry Pi Enocean que se conectan a los pines GPIO en el PI y usa el UART para comunicarse con Node-Red y un complemento.
Los interruptores tienen una ventaja 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 3D, así que utilicé 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 apropiado 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 apropiado. Utilizo la función de alternar dentro del firmware MQTT para encender y apagar el dispositivo del mismo interruptor. Esto significa 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 Hue para que el eco ve los dispositivos que configuró. 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 Node-Red a través de una solicitud HTTP y luego analizo la URL de los valores. Este es un script simple como se muestra a continuación.
Cómo hacer esto con módulos de bajo costo
Habiendo diseñado mis propios 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 Raspberry Pi 4 B Modelo B Kit de inicio de 8GB (8GB RAM) -Motherboard 64GB SD Tarjeta, enfriamientoVentilador,…
121 reseñas
£ 222.99
Comprar en Amazon
2
Raspberry PI 400 4GB Kit oficial de inicio, diseño del Reino Unido
215 reseñas
£ 110.56
Comprar en Amazon
3
Kit de arranque de Freenove Ultimate para Raspberry Pi 4 B 3 B+ 400, 561 páginas Tutoriales detallados, Python C …
2.835 reseñas
£ 42.95
Comprar 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 bastante simple 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 (pídele prestado a los amigos si no tiene uno) el trabajo es rápido y no corre el riesgo de dañar a los tableros. 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 personalizado. Tengo un blog detallado 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 ideales para el Reino Unido en la actualidad, pero funcionan muy bien.
Teniendo en cuenta que están ofreciendo los módulos Switch como Reino Unido, esperaría que pronto aparezca una versión de bayoneta. De hecho, prefiero el tipo de tornillo ahora para una instalación 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 es mover un solo enlace de OHM cero FR