Índice:

Controlador de rede IoT. Parte 9: IoT, automação residencial: 10 etapas (com imagens)
Controlador de rede IoT. Parte 9: IoT, automação residencial: 10 etapas (com imagens)

Vídeo: Controlador de rede IoT. Parte 9: IoT, automação residencial: 10 etapas (com imagens)

Vídeo: Controlador de rede IoT. Parte 9: IoT, automação residencial: 10 etapas (com imagens)
Vídeo: Automação residencial utilizando o NOVO Blynk 2024, Julho
Anonim
Controlador de rede IoT. Parte 9: IoT, automação residencial
Controlador de rede IoT. Parte 9: IoT, automação residencial

Isenção de responsabilidade

LEIA ISTO PRIMEIRO

Este Instructable detalha um projeto que usa energia da rede elétrica (neste caso UK 240 VAC RMS), embora todo cuidado tenha sido tomado para usar práticas seguras e bons princípios de design, sempre há um risco de choque elétrico potencialmente letal ao trabalhar com essas tensões de alimentação e por que o autor não pode aceitar qualquer responsabilidade se ferimentos pessoais ou danos à propriedade ocorram ao seguir seu conteúdo. Consequentemente, você faz este projeto por sua própria conta e risco.

Preâmbulo

Este artigo, o 9º de uma série sobre automação residencial, documenta como criar e integrar um controlador de rede IoT Sonoff 10A em um sistema de automação residencial existente, incluindo todas as funcionalidades de software necessárias para permitir a implantação bem-sucedida em um ambiente doméstico.

Introdução

Conforme mencionado acima, este instrutivo detalha como fazer e integrar um controlador de rede IoT usando o Sonoff 10A da iTead. O dispositivo em si é cotado como sendo classificado para 10 ampères @ 90 ~ 250VAC, no entanto, esta implementação diminui para 5 ampères por meio do plugue com fusível, fornecendo alimentação principal doméstica no Reino Unido de 240VAC RMS.

A metodologia de design se integra perfeitamente à rede IoT baseada em MQTT / OpenHAB detalhada nesta série sobre automação residencial baseada em código reutilizado obtido a partir daqui. Ele também pode lidar com a perda de qualquer elemento da rede IoT e é totalmente capaz de ser operado de forma independente. No modo autônomo, o controle do dispositivo é obtido simplesmente pressionando o botão de controle na parte superior do gabinete, que alterna a saída de alimentação contínua.

Para habilitar esse controle local do dispositivo Sonoff, o GPIO14 é retirado da caixa e usado como uma entrada de acionamento. Para garantir a segurança, esta entrada é alimentada por meio de um circuito optoacoplador e alojada em um invólucro de plástico de forma que em nenhum momento o operador seja exposto às tensões da rede elétrica.

Finalmente, a prosa também descreve como reprogramar o dispositivo ESP8266 no Sonoff 10A usando o Arduino IDE e fornece detalhes completos do circuito de um dispositivo que pode ser usado para programar o código-alvo de forma confiável.

Quais peças eu preciso?

Sonoff Mains Controller

  1. 1 off Sonoff 10A aqui
  2. 1 regulador de tensão 7805L 5v aqui
  3. 1 transformador 240 / 6VAC 1,5VA aqui
  4. 2 capacitores de cerâmica de 0,1 aqui
  5. 1 capacitor eletrolítico de 1000uF @ 25v aqui
  6. 1 fora do retificador de ponte 2W01 aqui
  7. 2 resistores de 4K7 aqui
  8. 1 resistor 330R aqui
  9. 1 botão SPST desligado aqui
  10. 1 off Mulitcomp BM12W ABS Enclosure aqui
  11. 1 opto-acoplador TIL111 aqui
  12. 1 bloco terminal de 3 vias aqui
  13. 1 conector molex codificado de 2 vias aqui / aqui
  14. 1 conector molex codificado de 3 vias aqui / aqui
  15. 1 conector molex codificado de 5 vias aqui / aqui
  16. 1 pino molex de 5 vias aqui
  17. 1 fora do Winbond SPI Flash (W25Q32FVSIG) aqui
  18. 1 porta-fusível de 20 mm + tampa aqui
  19. 1 fusível de 500mA de fusão rápida de 20 mm aqui
  20. 2 prensa-cabos de poliamida aqui
  21. 1 plugue principal do Reino Unido (BS1363 / A) aqui
  22. 1 soquete principal do Reino Unido (BS1363 / A) aqui
  23. 7 parafusos de náilon M3 de 16 mm CS, (incluindo 10 porcas) aqui / aqui
  24. 2 laços zip aqui
  25. 1 fora do veroboard (0,1 "pitch) aqui
  26. 1 fio de cobre estanhado 22swg de vários comprimentos aqui
  27. 1 cabo de alimentação da 3M White UK aqui
  28. 10 crimpagens de soquete Molex aqui

Programador Sonoff

  1. 1 regulador de tensão LD33CV 3v3 desligado aqui
  2. 1 dissipador de calor TO-220 aqui
  3. 1 fora do dissipador de calor, cole aqui
  4. 1 fora do capacitor eletrolítico de 10uF @ 16v aqui
  5. 1 capacitor de cerâmica de 0,1 aqui
  6. 1 botão SPDT desligado aqui
  7. 1 resistor de 4K7 aqui
  8. 1 conector molex codificado de 2 vias aqui / aqui
  9. 1 conector molex codificado de 3 vias aqui / aqui
  10. 5 crimpagens de soquete Molex aqui
  11. 1 soquete molex de 6 vias aqui
  12. 1 botão SPST desligado aqui
  13. 1 soquete PSU de 2,1 mm aqui
  14. 1 fora do veroboard (0,1 "pitch) aqui
  15. 1 adaptador USB para serial (FTDI) aqui

Qual software eu preciso?

  1. Arduino IDE 1.6.9 aqui
  2. Arduino IDE configurado para programar o ESP8266. Veja aqui; Configurando o Arduino IDE para programar o ESP8266-01

Quais ferramentas eu preciso?

  1. Ferro de solda,
  2. Broca e várias brocas (incluindo cortador de orifício escalonado para prensa-cabos e botão de controle),
  3. Chaves de fenda (várias),
  4. Chaves ajustáveis (duas, largura da mandíbula> 25 mm, para prensa-cabos),
  5. Arquivos (vários),
  6. Torno robusto,
  7. Pistola de calor,
  8. DMM (preferencialmente CAT IV).

Quais habilidades eu preciso?

  1. Um bom domínio de eletrônica e segurança elétrica doméstica / design / fiação, etc.,
  2. Conhecimento do Arduino e seu IDE,
  3. Boas habilidades de fabricação (soldagem, lima, perfuração etc.),
  4. Um pouco de paciencia,
  5. Alguma compreensão da sua rede doméstica.

Assuntos abordados

  • Introdução
  • Visão geral do circuito
  • Sonoff RetroMods
  • Detalhes de construção e montagem
  • Adaptador de programação Sonoff
  • Visão geral do sistema de software
  • Visão geral do software
  • Configuração OpenHAB
  • Testando Seu Dispositivo IoT
  • Conclusão
  • Referências usadas

Links da série

Para a Parte 8: Sensor de temperatura e umidade WiFi IoT. Parte: 8 IoT, automação residencial

Para a Parte 10: Controle remoto IV via IoT. Parte 10 IoT, automação residencial

Etapa 1: Visão geral do circuito

Visão geral do circuito
Visão geral do circuito
Visão geral do circuito
Visão geral do circuito
Visão geral do circuito
Visão geral do circuito
Visão geral do circuito
Visão geral do circuito

Visão geral

Conforme mencionado na introdução acima, para poder ligar e desligar o controlador de rede localmente, uma entrada para o ESP8266 on-board do Sonoff foi necessária. A introdução de tal entrada externa requer que o invólucro Sonoff ABS seja violado e, portanto, cria um risco potencial de choque. Para superar isso, usei isolamento óptico de forma que não houvesse a possibilidade de exposição à eletricidade da rede fora do gabinete do sistema do controlador da rede.

O que se segue é uma descrição do circuito de opto-isolamento (na foto 1 acima).

Detalhes do circuito

O circuito de opto-isolamento recebe sua alimentação direta da rede aplicada à unidade. O 240VAC RMS é aplicado ao transformador de redução / isolamento TR1 via J1 um contato pheonix MKDSN2, 5 / 3-5.08 terminal de poliamida de 3 vias classificado em 16A a 400V capaz de transportar um cabo de 2,5 mm (sq) CSA e F1 a 500mA 20 mm fusível de explosão rápida. O 6VAC disponível nos enrolamentos secundários de TR1 é onda completa retificada pela ponte de diodo B1.

Esta saída retificada de onda completa é então estabilizada e regulada por C1, C2 C3, R3 e IC1, um regulador shunt da série 7805L, fornecendo um trilho de alimentação de 5 V limpo e bom.

O trilho de 5 V é então usado para controlar a entrada para OK1, um opto-isolador TIL111 por meio de um botão SPST branco montado externamente conectado em J3. A saída do TIL111 é acoplada à entrada Sonoff GPIO14 via R2 um resistor pull up 4K7. Assim, é obtido um isolamento melhor que 340 V (isto é, tensão de pico = (240 VCA * raiz quadrada (2))).

Etapa 2: Sonoff RetroMods

Sonoff RetroMods
Sonoff RetroMods
Sonoff RetroMods
Sonoff RetroMods
Sonoff RetroMods
Sonoff RetroMods

Para integrar o dispositivo Sonoff 10A é necessário fazer algumas modificações retrospectivas.

A primeira é adicionar um conector molex de 5 vias com pitch de 0,1 como mostrado na foto 1 acima. Isso permite acesso ao GPIO14 no Sonoff uma vez que a tampa protetora tenha sido substituída como nas fotos 2 e 3 acima.

Embora não mostrado acima, também trouxe as linhas TX / RX seriais para permitir a programação in-situ (consulte o chicote de cabos SK1..3 na Etapa 1 acima).

A segunda modificação é aumentar o tamanho do dispositivo SPI Flash do padrão de 1 MB para 4 MB, para permitir espaço suficiente para os arquivos do servidor da Web IoT serem mantidos em SPIFFS.

Eu comprei o dispositivo flash SMD SPI (W25Q32FVSIG) do Ebay aqui

Para substituir o flash, removi temporariamente o LED Sonoff como na figura 4 para dar melhor acesso ao dispositivo SMD. Para dessoldar o flash, usei uma pistola de ar quente, conforme mostrado na foto 5 acima. Em seguida, soldou novamente o Flash de 4 MByte e o LED, respectivamente (foto 6).

Etapa 3: detalhes de construção e montagem

Detalhes de construção e montagem
Detalhes de construção e montagem
Detalhes de construção e montagem
Detalhes de construção e montagem
Detalhes de construção e montagem
Detalhes de construção e montagem
Detalhes de construção e montagem
Detalhes de construção e montagem

Coloquei o controlador de rede em uma caixa ABS Mulitcomp BM12W (Figura 1 acima). Este gabinete tem inserções M3 de latão isoladas permitindo acesso múltiplo à unidade sem comprometer as roscas de fixação, de modo que o fusível interno pode ser substituído se necessário ou a inspeção interna pode ser feita ao longo do tempo (o mesmo não pode ser dito para o dispositivo Sonoff, que é efetivamente um fechamento único usando auto-extratores).

O alívio da tensão primária para o cabo de alimentação de transporte da rede elétrica foi obtido por meio de um prensa-cabo M16 Nylon / Poliamida 6/6 branco que suporta um OD Min / Max 5mm / 10mm do cabo.

O alívio de tensão secundário foi feito por meio de uma única braçadeira colocada no cabo, caso seja aplicada uma tensão excessiva e o prensa-cabo falhar, a braçadeira manterá o cabo no lugar.

Para encaixar os prensa-cabos e fornecer espaço suficiente para montar o Sonoff e os componentes eletrônicos opto-isolantes, desmontei as travas de montagem da placa de circuito impresso como mostrado acima (Figura 2).

Todos os componentes eletrônicos foram montados com segurança por meio de parafusos CS de náilon M3 para garantir que o isolamento com o exterior do gabinete fosse mantido. A eletrônica de opto-isolamento sendo montada com 5 pontos de fixação para garantir boa resistência mecânica caso a unidade caia, evitando assim que a massa do transformador de isolamento interrompa o circuito veroboard.

O fornecimento para a unidade foi obtido por meio de cabo multitransmissão de corrente múltipla isolada em PVC de 3 núcleos com código de cores padrão do Reino Unido (32 / 0,2 mm sq) 1 mm (sq) CSA. com um OD de 7,2 mm capaz de transportar 10A.

A unidade foi conectada à fonte de alimentação do Reino Unido (240 VCA RMS) por meio de um plugue de segurança de 3 pinos padrão (BS 1363 / A) aprovado. O plugue foi fundido em 5A.

Todos os cabos de alimentação para o circuito de optoisolamento foram conectados via contato pheonix MKDSN2, 5 / 3-5.08 terminais de poliamida classificados em 16A a 400V capazes de transportar um cabo de 2,5 mm (sq) CSA, fornecendo assim ampla capacidade para dois cabos em cada posição.

Nenhum cabo de alimentação foi estanhado, apenas torcido para evitar o espalhamento dos núcleos antes da inserção no bloco do conector. Estanhar os cabos de alimentação é uma prática perigosa, pois a solda 'relaxa' com o tempo, fazendo com que o cabo se perca no bloco do conector.

Observação:

  • OD = Diâmetro externo.
  • VAC = Volts Corrente Alternada
  • RMS = raiz quadrada média
  • CSA = Área da Seção Transversal
  • CS = Counter Sunk

Etapa 4: Adaptador de programação Sonoff

Adaptador de programação Sonoff
Adaptador de programação Sonoff
Adaptador de programação Sonoff
Adaptador de programação Sonoff
Adaptador de programação Sonoff
Adaptador de programação Sonoff
Adaptador de programação Sonoff
Adaptador de programação Sonoff

Há dois aspectos a serem considerados ao reprogramar o Sonoff 10A por meio do Arduino IDE;

  1. Configurando seu Arduino IDE para programar o ESP8266,
  2. O ato de programar o próprio hardware.

Configurando seu Arduino IDE para programar o ESP8266

Para configurar seu IDE Ardino, siga as instruções aqui Configurando o IDE Arduino para programar o ESP8266-01

Programando o hardware

Este é um processo de várias etapas, como em todos os casos com o ESP8266. Aqui, a alimentação Sonoff é aplicada à placa por meio de uma fonte DC 3v3 externa estabilizada e NÃO da fonte de alimentação. Um dispositivo USB para serial será necessário para enviar e receber dados de e para o Sonoff. Conecte TX e RX como mostrado nas Figuras 2 e 4.

Etapas de programação (geral)

  1. Primeiro certifique-se de que não há alimentação externa aplicada ao Sonoff,
  2. Pressione e segure o botão no dispositivo Sonoff. (foto 1 acima, botão de re-flash marcado),
  3. Aplique alimentação DC 3v3 externa ao pino 1. (imagem 2 acima),
  4. Solte o botão Sonoff,
  5. O dispositivo agora pode ser reprogramado da maneira usual por meio do IDE do Arduino.

Para tornar as coisas um pouco mais fáceis, criei o dispositivo de programação acima (fotos 3 e 4) que fazia interface com o Sonoff por meio do chicote de cabos SK1… 3 (conforme descrito neste Instrutível Etapa 1.). Isso permitiu uma programação mais fácil do ESP8266. Ele também forneceu um meio de testar o GPIO14 como uma entrada por meio do uso de R1, um resistor pull up 4K7 e botão S1.

Usando o dispositivo de programação acima (fotos 3 e 4), as etapas de programação são,

  1. Pressione e segure o botão de re-flash no Sonoff,
  2. Impulsione o fornecimento 3v3 pressionando momentaneamente S2,
  3. Solte o botão de re-flash,
  4. O dispositivo agora pode ser programado.

NOTA - AVISO

Sob nenhuma circunstância a energia deve ser fornecida via rede elétrica durante a atividade de reprogramação do Sonoff

Etapa 5: Visão geral do sistema de software

Visão geral do sistema de software
Visão geral do sistema de software
Visão geral do sistema de software
Visão geral do sistema de software

Este dispositivo IoT Mains Controller contém, em sua maior parte, os mesmos seis componentes principais de software do Instructable WiFi IoT Temperature and Humidity Sensor. Parte: 8 IoT, Home Automation e mostrado na foto 1 acima, com algumas personalizações.

SPIFFS

Este é o SPI Flash Filing System (atualizado para 4 MB) e é usado para armazenar as seguintes informações (veja a figura 2 acima);

  • Ícones e 'Página inicial de configuração do controlador de rede' html: Servido pelo dispositivo IoT quando ele não consegue se conectar à sua rede IoT WiFi (geralmente devido a informações de segurança incorretas) e fornece ao usuário um meio de configurar remotamente o controlador de rede sem a necessidade de reprogramar ou fazer upload de novo conteúdo SPIFFS.
  • Informações de segurança: contém as informações usadas na inicialização do dispositivo IoT para se conectar à sua rede IoT WiFi e MQTT Broker. As informações enviadas por meio da 'Página inicial de configuração do controlador principal' são gravadas neste arquivo ('secvals.txt').

Nota: Para configurar inicialmente o dispositivo, veja aqui os detalhes completos sobre como usar SPIFFS com o Arduino IDE.

Servidor mDNS

Esta funcionalidade é invocada quando o dispositivo IoT não consegue se conectar à sua rede WiFi como uma estação WiFi e, em vez disso, torna-se um ponto de acesso WiFi semelhante a um roteador WiFi doméstico. No caso de tal roteador, você normalmente se conectaria a ele digitando o endereço IP de algo como 192.168.1.1 (geralmente impresso em uma etiqueta afixada na caixa) diretamente na barra de URL do seu navegador, quando você receberia uma página de login para entrar o nome de usuário e a senha para permitir a configuração do dispositivo. Para o ESP8266 no modo AP (modo de ponto de acesso), o padrão do dispositivo é o endereço IP 192.168.4.1, no entanto, com o servidor mDNS em execução, você só precisa inserir o nome amigável 'MAINSCON.local' na barra de URL do navegador para ver o 'Página inicial de configuração do controlador de rede'.

Cliente MQTT

O cliente MQTT fornece todas as funcionalidades necessárias para; conecte-se ao seu broker MQTT da rede IoT, inscreva-se nos tópicos de sua escolha e publique cargas úteis para um determinado tópico. Resumindo, ele fornece a funcionalidade principal da IoT.

Servidor Web

Conforme mencionado acima, se o dispositivo IoT não puder se conectar à rede WiFi cujo SSID, P / W etc. está definido no arquivo de informações de segurança mantido em SPIFFS, o dispositivo se tornará um ponto de acesso. Uma vez conectado à rede WiFi fornecida pelo Ponto de Acesso, a presença de um Servidor Web HTTP permite que você se conecte diretamente ao dispositivo e altere sua configuração por meio do uso de um Navegador Web HTTP, cujo objetivo é servir a 'Configuração do Controlador Principal Página da web da Home Page que também é realizada em SPIFFS.

Estação WiFi

Esta funcionalidade dá ao dispositivo IoT a capacidade de se conectar a uma rede WiFi doméstica usando os parâmetros no arquivo de informações de segurança, sem isso seu dispositivo IoT não será capaz de assinar / publicar no MQTT Broker

Ponto de Acesso WiFi

A capacidade de se tornar um ponto de acesso WiFi é um meio pelo qual o dispositivo IoT permite que você se conecte a ele e faça alterações na configuração por meio de uma estação WiFi e um navegador (como o Safari no iPad da Apple). Este ponto de acesso transmite um SSID = "MAINSCON" + os últimos 6 dígitos do endereço MAC do dispositivo IoT. A senha para esta rede fechada tem o nome imaginativo de 'SENHA'.

Etapa 6: Visão geral do software

Visão geral do software
Visão geral do software
Visão geral do software
Visão geral do software
Visão geral do software
Visão geral do software
Visão geral do software
Visão geral do software

PreamblePara compilar com sucesso este código-fonte, você precisará das seguintes bibliotecas extras;

PubSubClient.h

  • Por: Nick O'Leary
  • Objetivo: Permite que o dispositivo publique ou assine tópicos MQTT com um determinado Broker
  • De:

Bounce2.h

  • Por: Thomas O Fredericks
  • Objetivo: Interruptor de entrada de-bounce no software
  • De:

Visão geral do código

O software faz uso da máquina de estados conforme mostrado na figura 1 acima (cópia completa da fonte fornecida abaixo). Existem 5 estados principais como segue;

  • INICIAR

    Este estado de inicialização é o primeiro estado inserido após a inicialização

  • NOCONFIG

    Este estado é inserido se após ligar um arquivo secvals.txt inválido ou ausente for detectado

  • PENDENTE NO

    Este estado é transitório, inserido enquanto não existe nenhuma conexão de rede WiFi

  • MQTT PENDENTE

    Este estado é transitório, inserido após uma conexão de rede WiFi ter sido feita e embora não exista nenhuma conexão com um broker MQTT nessa rede

  • ATIVO

    Este é o estado operacional normal inserido depois que uma conexão de rede WiFi e uma conexão do MQTT Broker foram estabelecidas. É durante esse estado que o Controlador principal publicará no MQTT Broker e receberá comandos por meio de tópicos assinados

Os eventos que controlam as transições entre os estados são descritos na figura 1 acima. As transições entre estados também são regidas pelos seguintes parâmetros SecVals;

  • Endereço IP do 1º MQTT Broker. Na forma decimal com pontos AAA. BBB. CCC. DDD
  • 2ª Porta do Broker MQTT. Em forma de número inteiro.
  • A terceira conexão do MQTT Broker tenta fazer antes de alternar do modo STA para o modo AP. Em forma de número inteiro.
  • 4º SSID da rede WiFi. Em texto de forma livre.
  • 5ª senha da rede WiFi. Em texto de forma livre.

Conforme mencionado acima, se o dispositivo IoT não puder se conectar como uma estação WiFi à rede WiFi cujo SSID e P / W estão definidos em secvals.txt mantido em SPIFFS, o dispositivo se tornará um ponto de acesso. Uma vez conectado a este ponto de acesso, ele servirá a 'Página inicial de configuração do controlador principal' conforme mostrado acima na Figura 2 (inserindo 'MAINSCON.local' ou 192.168.4.1 na barra de endereço URL do seu navegador). Esta página inicial permite a reconfiguração do controlador de rede por meio de um navegador

Convenção de nomenclatura de tópicos MQTT

Descrito na figura 3 acima é a convenção de nomenclatura usada para os tópicos MQTT e é consistente com o padrão usado em meu Instructable anterior (aqui Etapa 5).

Tópicos MQTT usados por este dispositivo IoT

Para maior clareza, documentei (foto 4) os tópicos e as sequências de mensagens associadas que este dispositivo publica / assina. A imagem também mostra a interação com o botão de controle branco no exterior do gabinete (embora, ironicamente, o botão seja mostrado em vermelho).

Acesso à configuração remota enquanto no estado ATIVO

Uma vez conectado ao MQTT Broker, é possível reconfigurar remotamente os parâmetros de segurança para o dispositivo por meio de publicações de tópico MQTT. O arquivo associado secvals.txt tem acesso apenas de gravação exposto.

Depuração de usuário

Durante a sequência de inicialização, o LED do dispositivo Sonoff fornece o seguinte feedback de depuração, embora deva ser observado, para ver isso, você precisará remover a tampa e expor o circuito, portanto, só é aconselhável fazer isso enquanto desenvolve seu código e liga o dispositivo com alimentação 3v3;

  • 1 Flash curto: Nenhum arquivo de configuração localizado em SPIFFS (secvals.txt),
  • 2 flashes curtos: o dispositivo IoT está tentando se conectar à rede WiFi,
  • Iluminação contínua: o dispositivo Sonoff IoT está tentando se conectar ao MQTT Broker,
  • Desligado: o dispositivo está ativo e conectado ao MQTT Broker.

Nota 1: A 'página inicial de configuração do controlador principal' não usa soquetes seguros e, portanto, depende da segurança da sua rede.

Nota 2: Para programar vários dispositivos IoT, a string MQTT exigirá edição antes do download para cada dispositivo. Isso ocorre porque o número de id do controlador principal foi integrado na sequência de tópicos MQTT. ou seja, no software publicado, escolhi o valor de 100: 'WFD / MainsCont / 100 / Relay / Command / 1' e para meus 2 dispositivos eles são numerados 1 e 2, respectivamente.

  • 'WFD / MainsCont / 1 / Relay / Command / 1'
  • 'WFD / MainsCont / 2 / Relay / Command / 1'

Nota 3: para integridade, quando no estado ATIVO, o software IoT permite o controle do LED Sonoff e a publicação do status do botão de re-flash. Embora eles tenham valor apenas durante o processo de depuração, pois nenhum deles é exposto ao usuário durante a operação normal.

Etapa 7: Configuração do OpenHAB

Configuração OpenHAB
Configuração OpenHAB
Configuração OpenHAB
Configuração OpenHAB
Configuração OpenHAB
Configuração OpenHAB

Para fins de teste, decidi implantar teoricamente os dois controladores principais na 'sala de estar' da minha casa. Esta página do OpenHAB pode ser acessada através da página principal do site como na foto 1.

Modifiquei a configuração do OpenHAB.sitemap fornecida em meu Instructable anterior (aqui) e adicionei entradas individuais para 'Controlador principal 1' e 'Controlador principal 2' (imagem 2 acima). Também adicionei entradas (Living Room Mains Cont. 1 e 2) para exibir as tendências RSSI medidas no receptor dos dois novos dispositivos IoT (foto 3).

Por fim, adicionei entradas aos arquivos.rules e.items para permitir a sincronização de estado dinâmico do Sonoff e a atualização / animação da minha tentativa deficiente de um gráfico de switch (o switch fecha quando ativo e abre quando inativo). A figura 2 dá um exemplo de MC1 ativo e MC2 inativo.

Observação 1: se você não tiver certeza de como usar o OpenHAB, consulte aqui 'Setting Up and Configuring OpenHAB. Parte 6: IoT, automação residencial '

Nota 2: Uma cópia do mapa do site modificado, regras e arquivos de itens, ícones etc. é fornecida no arquivo zip abaixo.

Nota 3: RSSI = Indicação de intensidade do sinal recebido. Esta é uma medida de quão bem o dispositivo IoT pode ver sua rede sem fio.

Etapa 8: Teste seu dispositivo IoT

Image
Image
Testando Seu Dispositivo IoT
Testando Seu Dispositivo IoT

Conforme descrito em Instructable WiFi IoT Temperature and Humidity Sensor. Parte: 8 IoT, Etapa 7 de automação residencial, o teste inicial do dispositivo IoT foi executado em uma conexão MQTT via MQTT Spy (como no diagrama de blocos do sistema imagem 1 acima), monitorando saída de led, entradas de botão (botão de re-flash Sonoff e o botão externo branco) e depurar o tráfego na interface serial. Isso me permitiu exercitar todos os tópicos assinados disponíveis e verificar as respostas publicadas. Embora, novamente, isso fosse realizado manualmente e consumisse muito tempo, embora permitisse uma cobertura de 100% das mensagens / publicações de tópicos.

Como a máquina de estado do software principal (Etapa 6 acima) foi herdada do Instructable anterior (Parte: 8), além da verificação de sanidade, o software poderia se conectar ao WiFi N / W e ao MQTT Broker, presumiu-se que estava funcionando corretamente.

O teste de nível de sistema completo foi concluído usando o controlador de rede e a infraestrutura IoT (novamente foto 1), desta vez usando OpenHAB para controlar a interação com o dispositivo IoT. O hardware IoT e a configuração da carga fictícia podem ser vistos na figura 2 acima.

O vídeo fornece detalhes completos dos testes do sistema e mostra claramente a sincronização sendo mantida entre os dispositivos OpenHAB (PC / Chrome e iPad / OpenHAB APP) em tempo real. Ele também mostra mensagens ao vivo para os controladores principais via MQTTSpy (veja aqui para mais detalhes Configurando um MQTT Broker. Parte 2: IoT, automação residencial) e log do sistema de cauda OpenHAB do servidor raspberry pi através de uma conexão PuTTY SSH (veja aqui para mais detalhes detalhes Definição e configuração do OpenHAB. Parte 6: IoT, automação residencial).

Nota: O tráfego de depuração foi compilado para a versão final do software.

Etapa 9: Conclusão

Em geral

O projeto foi relativamente fácil de concluir e funcionou bem. O software embarcado era simples de produzir, sendo uma versão reduzida do código usado para os sensores de temperatura e umidade da Parte 8 desta série.

Inicialmente, pretendia adquirir apenas peças componentes brancas puramente por sua qualidade estética. Consegui isso em todos, exceto no botão de controle, por mais que tentasse, não consegui encontrar um botão totalmente branco bom / barato.

Dispositivo Sonoff 10A

Listei abaixo o que considero prós e contras razoáveis do dispositivo Sonoff

Prós

  • Barato.
  • Bom suporte da comunidade.
  • Pode reprogramar por meio do IDE do Arduino.

Contras

  • Caixa frágil.
  • E / S mínima (trazida para conectores utilizáveis).
  • Ele esquenta em seu estado quiescente.
  • Possui apenas 1 MB de flash SPI on-board.
  • É um PITA para reprogramar depois de instalado.
  • Ao integrar o novo código no teste Sonoff, o fechamento do relé foi problemático, pois o relé é 5v e a alimentação aplicada ao Sonoff para programação é 3v3. A ativação do relé é apenas perceptível ao ouvido.

Preocupações

  • Não muda a linha neutra. Usa um relé SPST.
  • Não está fundido.
  • Mau alívio de tensão do cabo.
  • O PCB não está protegido dentro do invólucro Sonoff.

Comentário sobre design de engenharia

Dado que este dispositivo IoT deveria ser usado para ligar a rede elétrica viva do Reino Unido (240 VAC RMS), eu segui as boas práticas de design mecânico e elétrico e assegurei que o risco de choque fosse minimizado ao não expor quaisquer materiais condutores de eletricidade, além de especificar todos os componentes, diminuindo a classificação carga de saída, aplicando proteção de fusível ao controlador principal e ao subsistema opto-acoplado, inclusão de um bom aterramento ininterrupto e uso de isolamento óptico / galvânico.

Possível Melhoria

Em retrospectiva, teria sido útil incluir uma indicação visual de que a saída do controlador principal estava ativa (LED ou néon). Embora não seja um problema no uso diário, é prática padrão isolar a carga da alimentação antes que qualquer manutenção seja realizada ou um simples toque no botão de controle local irá alternar a saída no caso de uma lâmpada acender quando conectada.

Nota final

Se você deseja ver dois exemplos muito ruins de como lidar com a eletricidade da rede, verifique os links abaixo. Os prêmios Darwin deles estarão no correio em breve, tenho certeza;

  • Mad Scientist Extension Cord
  • Feedback da comunidade 03 - Preocupações com a segurança de energia!

Etapa 10: Referências usadas

Usei as seguintes fontes para colocar este Instructable junto;

PubSubClient.h

  • Por: Nick O'Leary
  • Objetivo: Permite que o dispositivo publique ou assine tópicos MQTT com um determinado Broker
  • De:

Bounce2.h

  • Por: Thomas O Fredericks
  • Objetivo: Interruptor de entrada de-bounce no software
  • De:

SPIFFS

https://esp8266.github.io/Arduino/versions/2.0.0/do…

Atualizando Sonoff flash

  • https://www.andremiller.net/content/upgrading-sonof…
  • https://tech.scargill.net/32mb-esp01/
  • https://www.andremiller.net/content/upgrading-sonof…

Diagrama de Circuito Sonoff

https://www.itead.cc/wiki/images/6/6b/Sonoff_schmatic.pdf

Módulo UART USB (também conhecido como FTDI)

https://www.ebay.co.uk/itm/6Pin-USB-2-0-to-TTL-UART-Module-Converter-CP2102-STC-Replace-FT232-CF-/272249732398?epid=503069058&hash=item3f63593d2e: g: QVUAAOSw71BXP92B

Prêmio Darwin (alívio leve)

https://www.darwinawards.com/

Folha de dados do opto-isolador TIL111

Recomendado: