My Automated Home: Raspberry Pi + Node-Red + MQTT & Amazon Echo

In our most current 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…

No início

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 or condo I need a option that would not require any cords 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 large 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 web site run by Peter Scargill who used to run an electronics design company lots of years ago from Tyneside. at that time I used his AppCON wired controllers for home automation based on the little 8 bit photo microcontrollers. I had hundreds of meters of 4 core alarm cord run all over my apartment. The system was reputable but trying to hide all that cord 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 made a decision 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. a lot 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 web page that you can use to configure the device. much 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 bothersome 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 identified that the on/off fault was occurring when the voltage in the apartment or condo was dropping below 209Vac – Indonesia is not very good when it pertains to stability of the mains supply. I opened one of the units and found that they used a very low-cost 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 wComo hora de aposentar meu antigo sistema Homeseer 2. O PC não estava acabando com problemas e, sendo o Windows 10, decidiria que se atualizaria sem a minha permissão. Hora de dar a etapa para o Linux.

Então, com base no blog de Peter, tomei a decisão de obter meu Raspberry Pi3 com seu LCD de 7 ″ e disparar nó-vermelho. Nó-vermelho para aqueles que não viram, este é um software de controle de arrasto e soltar muito ótimo e estável. No começo, era assustador se instalar, mas depois de uma semana de jogo, comecei a descobrir que era muito fácil entender. Se você tiver alguma habilidade de programação, se sentirá em casa com o script. Todos os módulos são fornecidos como fonte de script Java e há uma biblioteca substancial e sempre impulsionada no site Node-Red.

Em seguida, eu precisava de um corretor MQTT como o software de Peter se comunica usando este protocolo. Depois de configurar e usar o MQTT, você percebe rapidamente o quão eficiente é na sua rede. Não há necessidade de pesquisar dispositivos ou mesmo conhecer o endereço IP do Dispositivos. O corretor cuida disso. Aqueles familiarizados com o XAP entenderão isso.

Usando o Node-Red I Configure vários temporizadores (graças a Peter novamente por seu Bigtimer) e ligo as luzes à noite. Usando um plug -in Wemo, agora também tinha o controle das lâmpadas Wemo, embora apenas ligadas e desativadas. O desenvolvedor do plug-in de Node-Red prometeu controle de escurecimento em algum momento.

OK, então eu tinha configuração de Node-Red e MQTT, mas agora eu precisava de uma maneira de controlar as luzes e os interruptores por voz e alguma forma de interface mecânica ou de toque. Peguei alguns interruptores sem fio do Enocean no site Element14, então comprei alguns deles junto com o módulo Enocean Raspberry Pi, que se conecta aos pinos GPIO no PI e usa o UART para se comunicar com o Node-vermelho e um plugin.

Os interruptores têm uma recompensa, pois não há bateria para instalar ou cuidar. Eles usam a colheita de energia através de uma bobina e ímã que é ativada enquanto você pressiona o botão. Infelizmente, eles não vêm com nenhum acessório de parede, então você precisa projetar o seu. Eles fornecem um arquivo STL de botão de alternância que você pode imprimir em 3D, então eu usei isso e criei minha própria montagem para eles. Isso serve 2 propósitos, um para cobrir o interruptor antigo na parede, garantindo que ele permaneça na posição ON, para que os módulos da lâmpada estejam sempre acesos e, em segundo lugar, para localizar os controles em um local familiar.

Usando o plugue enocean Node-Red, recebo uma carga útil de mensagem com os estados do botão. Ao analisar isso em um comutador vermelho-vermelho, posso enviar o comando adequado para a luz ou interruptor, etc. Este é um exemplo da carga útil enviada pelo interruptor Enocean. É codificado no formato JSON tão fácil de analisar. O ID e V são o que estamos interessados.

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

A imagem a seguir mostra o comutador que possui 4 saídas com base no valor do msg.Payload.V no telegrama do comutador enoceano. Estes são então direcionados para o dispositivo adequado. Eu uso o recurso de alternância no firmware MQTT para ligar e desativar o dispositivo do mesmo comutador. Isso indica que eu tenho até 4 estados de comutação de cada módulo enoceano.

Agora, a parte divertida começa porque tenho um eco da Amazon e sempre quis controlar minha casa com comandos de voz. Você pode culpar o Scifi por isso

Não há suporte direto de eco, pelo menos não sem ter uma conexão HTTPS com o seu Node-Red e, infelizmente, é impossível com o meu ISP, então eu precisava de uma alternativa. Usando este Amazon Echo Habridge de Running no mesmo Raspberry Pi3, eu não pude configurar luzes de ativação de voz etc. O Habridge emula uma API de cores Philips para que o Echo veja os dispositivos que você configura. Aqui está um exemplo de um dispositivo chamado fã da sala da frente.

Ao proferir o seguinte no Echo, o ventilador pode ser ativado. “Alexa, ligue o ventilador da sala da frente” ou fora dizendo “Alexa, desligue o ventilador da sala da frente”

O Habridge envia os comandos para o Node-Red por meio de uma solicitação HTTP e analiso o URL para os valores. Este é um script básico, como mostrado abaixo.

Como fazer isso com módulos de baixo custo

Tendo criado meus próprios PCBs para substituir os módulos, eu precisava de uma maneira de adicionar módulos de switch adicionais e controladores de luz.

Minhas próprias unidades caseiras custam cerca de US $ 15 para ganhar com todos os PCBs e as peças juntos. Tão baixo custo.

#
Visualização
produtos
Avaliação
Preço

1

Jane Choi framboesaPI 4 B Modelo B Kit de partida de 8 GB (8 GB de RAM) -Motherboard 64 GB de cartão SD, fã de refrigeração, …

121 revisões

£ 222,99

Amazon

2

Raspberry Pi 400 4GB Kit de inicialização oficial, layout do Reino Unido

215 revisões

£ 110,56

Amazon

3

Freenove máximo kit de partida para Raspberry Pi 4 B 3 B+ 400, 561 páginas em profundidade tutoriais, Python C …

2.835 revisões

£ 42,95

Amazon

Para fazer isso ainda mais, eu me deparei com o ITEAD Studio Slampher e os Smarts Smart S20. Estes custam cerca de US $ 12 cada para os módulos S20 e US $ 8,50 para os controladores de luz tão consideráveis ​​menos do que qualquer um dos módulos de onda Z no mercado. Eles vêm com o próprio firmware da ITEAD que é controlado a partir de um aplicativo iOS ou Android, mas eu queria poder usar o código de Peter. Peter estava pesquisando isso e descobriu que, com pequenas mudanças em seu código, programaria as unidades e o trabalho da ITEAD. Você precisa de um USB para o UART com a saída de 3.3V para fazer isso, mas isso é básico o suficiente se você puder exercer um ferro de solda. A única desvantagem é que os módulos ITEAD vêm com um flash de 512kb e, para permitir que o código de Peter faça atualizações da OTA, precisamos alterar isso para 8 MB. Os ICs da memória custam cerca de US $ 3 por 5 no eBay. Armado com uma estação de retrabalho de ar quente (peça emprestado um PALS se você não tiver um), o trabalho é rápido e não corre o risco de danos nas placas. A imagem a seguir mostra o canto superior do IC SOIC depois de remover a antiga e a nova montada.

Você também precisa soldar em um cabeçalho para a linha única de 4 orifícios na PCB. Isso aplica energia à placa e permite programá-lo com o firmware MQTT feito sob medida. Eu tenho um blog detalhado sobre como fazer isso.

Os módulos S20 parecem muito inteligentes e modernos. O interruptor de energia permite ativá -lo e desligar localmente. Os mostrados aqui são soquetes de euro, mas o ITEAD receberá as opções de nós e do Reino Unido em breve.

Os módulos finais são controladores de lâmpadas à base de ES27, portanto não são ideais para o Reino Unido no momento, mas funcionam muito bem.

Considerando que eles estão usando os módulos de switch como Reino Unido, eu esperaria que uma versão de baioneta possa aparecer em breve. Na verdade, eu gosto do tipo de parafuso agora para uma instalação muito mais fácil.

Estes são fáceis de abrir e modificar como antes, com uma etapa adicional que não seja a substituição do Flash IC e é um passo para um único link de zero ohm FR

Leave a Reply

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

Related Post