Índice:

Sensor de fechadura e porta de galpão alimentado por bateria, solar, ESP8266, ESP-Now, MQTT: 4 etapas (com imagens)
Sensor de fechadura e porta de galpão alimentado por bateria, solar, ESP8266, ESP-Now, MQTT: 4 etapas (com imagens)

Vídeo: Sensor de fechadura e porta de galpão alimentado por bateria, solar, ESP8266, ESP-Now, MQTT: 4 etapas (com imagens)

Vídeo: Sensor de fechadura e porta de galpão alimentado por bateria, solar, ESP8266, ESP-Now, MQTT: 4 etapas (com imagens)
Vídeo: ACHEI UM SISTEMA DE ALARME COMPLETO POR 500 REAIS DA CHINA, FUNCIONA MESMO? 2024, Julho
Anonim
Sensor de fechadura e porta de galpão alimentado por bateria, solar, ESP8266, ESP-Now, MQTT
Sensor de fechadura e porta de galpão alimentado por bateria, solar, ESP8266, ESP-Now, MQTT
Sensor de fechadura e porta de galpão alimentado por bateria, solar, ESP8266, ESP-Now, MQTT
Sensor de fechadura e porta de galpão alimentado por bateria, solar, ESP8266, ESP-Now, MQTT
Sensor de fechadura e porta de galpão alimentado por bateria, solar, ESP8266, ESP-Now, MQTT
Sensor de fechadura e porta de galpão alimentado por bateria, solar, ESP8266, ESP-Now, MQTT

Neste Instructable, mostro como fiz um sensor alimentado por bateria para monitorar o status da porta e da fechadura do meu galpão de bicicletas remoto. Eu não tenho energia elétrica, portanto, eu a tenho alimentado por bateria. A bateria é carregada por um pequeno painel solar.

O módulo é projetado para operação de baixa energia e funciona em um ESP-07S em sono profundo que acorda e verifica a porta e a posição da fechadura a cada minuto. No entanto, quando a porta é aberta, o módulo é ativado por um circuito de hardware simples para enviar imediatamente a informação de 'porta aberta'. O módulo se comunica via ESP-Now, em que o tempo de transmissão é muito curto, exigindo apenas uma pequena quantidade de energia.

Minha automação residencial rodando em Openhab e Mosquitto lida com as mensagens e me envia uma mensagem alarmante via Telegram se o alarme estiver ligado.

Suprimentos

Todos os componentes são comprados na Aliexpress.

  • O módulo ESP-07S é escolhido para a fácil conexão de uma antena externa para aumentar o alcance do ESP-Now.
  • Placa do carregador TP4056 com proteção da bateria
  • Bateria 18650 LiPo
  • Interruptor Reed (NÃO para monitorar a posição da porta)
  • Interruptor de contato (posição de bloqueio do monitor)
  • Painel solar (6V, 0,6W)
  • Transistores, resistores, diodo, conectores (veja o esquema)

Etapa 1: Hardware

Hardware
Hardware
Hardware
Hardware
Hardware
Hardware

O esquema executado é incluído como uma imagem. Em primeiro lugar, criei um protótipo do circuito em uma placa de ensaio. Então eu soldei todos os componentes em uma placa de desempenho.

Eu uso um módulo ESP-07S ESP8266, pois ele tem uma conexão para uma antena externa. Como meu galpão de bicicletas fica do lado de fora, o sinal do WiFi precisa passar por uma parede de concreto. Descobri que uma antena externa aumenta fortemente o alcance do ESP-Now. Muito lógico, já que é um sinal wi-fi.

Para o sensor da porta, usei um reed switch com conexões botn NO e NC. Quando a porta é fechada, um ímã preso ao abre o interruptor. O módulo verifica o estado da porta e da fechadura a cada 60 segundos, porém, quando a porta é aberta, quero ser informado imediatamente, para isso implementei um circuito de reset, veja abaixo.

Para o sensor de bloqueio, usei uma chave de contato com conexões botn NO e NC. Quando a fechadura é fechada, o pino da fechadura abre a chave. Portanto, tanto o sensor da porta quanto o sensor da fechadura estão normalmente abertos (NÃO).

A bateria é carregada por meio de uma placa do carregador TP4056 com proteção de bateria conectada a um pequeno painel solar de 6V.

Vou explicar algumas partes do circuito abaixo.

Circuito de reinicialização

O circuito de reset com o 2N7000 Mosfet é conectado ao pino de reset do ESP8266. Se a porta estiver fechada, o contato está aberto, o portão e a fonte do transistor estão altos e o mosfet está desligado. O capacitor conectado à porta tem uma carga positiva. O ESP8266 reeds GPIO12 como HIGH = fechado.

Quando a porta é aberta, a fonte do mosfet é conectada ao solo. Como o gate está alto, o mosfet é ligado e puxa o pino de reinicialização para o solo, resultando em uma reinicialização do ESP8266. O capacitor é descarregado via R7 e então desliga o mosfet. Veja a captura de tela do meu osciloscópio para o pulso baixo de 50 ms. Após o pulso, o ESP8266 é inicializado. O ESP8266 mostra o GPIO12 como LOW = aberto.

Quando a porta é fechada novamente, o resistor R6 puxa a fonte e o GPIO12 para cima.

Monitoramento de bateria

A tensão da bateria é lida por meio de um divisor de tensão entre VBat e GND. No entanto, não quero uma conexão permanente entre VBat e GND, porque esgota a bateria. Portanto, coloquei um mosfet de canal P no lado alto do divisor de tensão e o portão do mosfet foi puxado para cima, então o mosfet está desligado. Somente quando o GPIO14 está baixo, o mosfet é ligado e o ESP8266 pode reed a tensão com o ADC.

Etapa 2: Software

O módulo ESP8266 geralmente está no modo de hibernação para economizar energia.

A cada 60 segundos, o módulo inicializa com WiFi desabilitado e mede a posição da fechadura e da porta e verifica se essas posições mudaram em comparação com os valores armazenados na memória RTC. Se uma posição mudou, o módulo dorme por um tempo mínimo e acorda com o WiFi habilitado para enviar a nova posição via ESP-Now. E, claro, as novas posições são armazenadas na memória RTC. Se nada foi alterado, o módulo apenas dorme novamente e acorda com o WiFi desligado.

Veja meu outro Instructable no qual explico como uso o ESP-Now para transmitir mensagens e transformá-las em mensagens MQTT.

Se o 'circuito OTA' for fechado manualmente por meio de um jumper, o módulo será ativado e se conectará à minha rede WiFi para aguardar uma atualização OTA via ESP8266HTTPUpdateServer.

A cada 30 minutos, a tensão da bateria é medida e publicada.

Funciona como uma máquina de estado. Os estados são definidos no programa publicado em meu Github.

STATE_CHECK: acorde com o rádio desligado (WiFi desligado), basta verificar se algo mudou

STATE_INIT: acorde com o rádio ligado (WiFi ligado) e transmita os estados de porta e bloqueio

STATE_DOOR: acorde com o rádio ligado, publique doorstate na próxima vez que ele inicializar

STATE_LOCK: acorde com o rádio ligado, publique lockstate na próxima vez que ele inicializar

STATE_VOLTAGE: acorde com o rádio ligado, publique a tensão na próxima vez que ele inicializar

STATE_OTA 5: acorde com o rádio ligado, vá para o modo OTA

Etapa 3: montar

Montar
Montar
Montar
Montar
Montar
Montar
Montar
Montar

Eu uso terminais de parafuso e conectores DC macho / fêmea para poder montar e desmontar meu projeto. Coloquei todas as peças em uma pequena caixa de ABS, veja as fotos. Encapsulei as peças em fita Kapton para isolamento elétrico

Eu conecto o painel solar através de um plugue DC macho (5,5 x 2,1) com um diodo 1N5817 que tem uma baixa tensão direta.

A chave de palheta é colada na caixa e um ímã é colado na porta na posição correta.

O contato de bloqueio é inserido lateralmente, veja a imagem.

Etapa 4: Módulo de Trabalho

Módulo de Trabalho
Módulo de Trabalho
Módulo de Trabalho
Módulo de Trabalho

Os dados recebidos são lidos pela minha automação residencial Openhab. Se você gostar, posso postar os arquivos do Openhab.

Eu monitoro:

  • A tensão da bateria (com persistência, portanto, vejo a tensão ao longo do tempo em um gráfico).
  • As posições da porta e da fechadura.
  • As vezes que a posição mudou.

Assim, quando vou para a cama, posso ver facilmente se todos os galpões estão trancados.

No início do uso, a bateria foi carregada em um dia claro e, após uma semana ou mais, a bateria estava totalmente carregada. Agora, no outono, a bateria permanece carregada. Aparentemente, o módulo é muito econômico e usa muito menos energia do que um pequeno painel solar gera. A bateria robusta provavelmente tem energia para alguns meses de escuridão. Vamos ver o desempenho do módulo neste inverno, quando a temperatura no galpão está bem mais baixa.

Recomendado: