Índice:
- Etapa 1: peças de que você precisa
- Etapa 2: Diagrama de Circuito
- Etapa 3: Construindo o Circuito
- Etapa 4: Atualizando o ESP-01
- Etapa 5: execução de teste
- Etapa 6: Monte o Sensor
- Etapa 7: toque final
Vídeo: MQTT / Google Home Flood / Water WIFI Sensor With ESP-01: 7 etapas
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:36
Neste instrutível, vou mostrar a você como construir um sensor de inundação / água wi-fi com custo mínimo. Todo o projeto me custa menos de $ 8 para as peças que adquiro no ebay e minhas peças sobressalentes existentes.
Neste projeto, usaremos ESP-01 para fornecer Wifi e cliente MQTT para detectar a presença de água e, opcionalmente, usar alto-falante / campainha diretamente conectado para fornecer alarme localizado.
Minha aplicação específica para o projeto é detectar inundação / água dentro do poço da bomba do reservatório, no caso de falha da bomba do reservatório. Quando a água é detectada por 2 fios abertos, ele enviará uma mensagem ao intermediário MQTT. O broker MQTT então retransmitiria a mensagem para NodeRED. Ao receber a mensagem MQTT, o NodeRED enviaria o anúncio para vários dispositivos domésticos do Google e também, opcionalmente, enviaria a mensagem para o celular / navegador via pushbullet
É claro que esse projeto só funcionaria se a eletricidade da casa estivesse LIGADA. No próximo instrutível irei integrar o circuito de backup de bateria. Mas se você fizer a fonte de alimentação da mesma maneira que eu fiz, você pode simplesmente conectar um banco de energia USB para backup de bateria. Se você tiver um banco de energia que permite carregar e fornecer energia ao mesmo tempo, está tudo pronto.
Eu uso o RaspberryPi ZeroW para hospedar o servidor Mosquitto MQTT e o NodeRED. Está em execução há mais de um ano sem nenhum problema.
Referências: Raspberry Pi: https://www.switchdoc.com/2016/02/tutorial-installi…Install NodeRED no Raspberry Pi:
Etapa 1: peças de que você precisa
Lista de peças:
(1) ESP-01
(2) Resistor de 10K ohm
(1) transistor NPN genérico de pequeno sinal (usei 2N3904)
(2) fios longos
(1) Fonte de alimentação genérica de 5 V (este circuito requer menos de 300 mA de corrente)
(1) Módulo regulador de 3,3 V AMS1117
(1) Micro-USB para adaptador DIP conector fêmea PCB conversor kit faça você mesmo
(1) Cabo USB-A para MicroUSB.
(1) Soquete IC de 8 pinos - pode ser omitido se você quiser soldar o ESP-01 diretamente na placa de circuito. Corte as pontes de plástico que criam a lacuna entre as fileiras e, a seguir, cole as 2 fileiras, veja a foto.
(1) Pequeno recinto para o projeto
Abaixo estão as peças opcionais se você precisar de um alarme localizado usando alto-falante / campainha
(1) Transistor PNP genérico, escolha de acordo com os requisitos de corrente / potência do alto-falante / campainha. No meu caso, eu uso o 2N2907, pois meu alto-falante tem apenas 0,3 W (8 ohm), ele forneceria energia suficiente para acionar o alto-falante. Você pode escolher um transistor e um alto-falante maiores se quiser um som mais alto.
(1) Alto-falante, consulte a nota sobre Transistor PNP acima
(1) Resistor de 100 - 110 ohm
Etapa 2: Diagrama de Circuito
A primeira etapa seria criar o circuito mostrado no diagrama.
Eu construí a fonte de alimentação de 3,3 VCC usando um carregador de celular de 5 V antigo acoplado a um regulador de 3,3 VCC AMS1117. Para o soquete ESP-01, eu uso um soquete IC padrão de 8 pinos, e corte as pontes de plástico que criam a lacuna entre as fileiras e, em seguida, colo as 2 fileiras.
O circuito que projetei serve para detectar a presença de água entre os dois fios. Quando a água atinge a ponta de ambos os fios, ela cria uma resistência de aproximadamente 10K a 20K ohm. Então, em série com o R1 de 10K ohm, ele fornece uma pequena corrente para a base do Q1, causando a saturação do Q1, prendendo o GPIO-2 ao aterramento. R1 é necessário para fornecer proteção a Q1 no caso de ocorrer um curto acidental nos fios de detecção.
R2 é um resistor pull-up que permite ao ESP-01 inicializar a partir do flash.
Agora, para o alto-falante / campainha opcional, se você só precisa de ESP-01 para falar MQTT e não deseja implementar esse alarme localizado, pode remover R2, Q2, alto-falante e colocar um resistor pull-up de 10K entre GPIO-0 e VCC.
Se você não sentir a necessidade de usar o adaptador fêmea Micro-USB para DIP, pode soldar os fios entre o PS 5V e o módulo regulador de 3,3V. Eu prefiro usar o adaptador MicroUSB fêmea para poder usar qualquer carregador de celular genérico e cabo MicroUSB.
Etapa 3: Construindo o Circuito
Solde todos os componentes e peças em PCB de acordo com o diagrama de circuito na página anterior e corte o PCB no tamanho certo.
Coloque o PCB dentro de um gabinete que caberia no PCB e no alto-falante opcional. No meu caso, todas as peças caberiam dentro de uma pequena caixa de tomadas de telefone, mas tenho que aquecer um pouco a tampa para criar uma protuberância para que o módulo ESP-01 caiba.
Etapa 4: Atualizando o ESP-01
Nesta etapa, faremos um flash do ESP-01 com o esboço do arduino. Se você nunca atualizou o módulo ESP-01, pode seguir minhas instruções para começar:
Você pode encontrar meu esboço na minha página do github:
No esboço, você precisa, no mínimo, alterar as seguintes informações relativas à sua rede / configuração doméstica:
#define MQTT_SERVER "10.0.0.30" const char * ssid1 = "SSID"; const char * password1 = "MYSSIDpassword"; const char * ssid2 = "SSID1"; const char * password2 = "MYSSIDpassword";
Na minha rede doméstica, eu tenho 2 pontos de acesso diferentes que transmitem 2 SSIDs diferentes, e este esboço permitiria redundância conectando-se ao próximo SSID se a comunicação com o AP atual fosse perdida. Se você tiver apenas um SSID, preencha ssid1 e ssid2 com o mesmo valor.
Depois de fazer a modificação, carregue o esboço no ESP-01 e conecte o ESP-01 na placa de interface.
Etapa 5: execução de teste
Para testar se nosso projeto funciona, o mais fácil seria monitorar as mensagens MQTT na rede. Para fazer isso, você precisa abrir uma sessão SSH para o corretor mosquitto e emitir o seguinte comando:
mosquitto_sub -v -t '#'
O comando acima nos permitiria ver todas as mensagens MQTT chegando ao broker.
Agora ligue nosso circuito e, se tudo funcionar, em alguns segundos você deverá ver pelo menos a seguinte mensagem MQTT:
stat / SumpWaterSensor / LWT Online
Agora teste o sensor de água mergulhando os 2 fios sensores em um copo d'água, e você verá esta mensagem:
tele / SumpWaterSensor WET
E se você tirar os fios da água, deverá ver esta mensagem:
tele / SumpWaterSensor DRY
Se você vir essas mensagens, seu projeto é um sucesso.
Também incluí vários tópicos MQTT úteis no esboço que você pode usar:
"stat / SumpWaterSensorInfo": esta mensagem é enviada a cada minuto para fornecer tempo de atividade e outras informações.
"cmnd / SumpWaterSensorInfo": ESP-01 enviará informações se receber este tópico com valor de '1' (ascii = 49)
"cmnd / SumpWaterSensorCPUrestart": ESP-01 irá reiniciar se receber este tópico com valor de '1' (ascii = 49)
"cmnd / SumpWaterSensorBeep": ESP-01 irá soar o alto-falante se receber este tópico com valor de '1' (ascii = 49)
"cmnd / SumpWaterSensorBeepFreq": Define a frequência do alarme do alto-falante, padrão = 900 (Hz)
"cmnd / SumpWaterSensorDebug": Habilita e define o nível de depuração serial (o padrão é 0 - sem depuração)
Etapa 6: Monte o Sensor
Em meu aplicativo, desejo monitorar o nível de água dentro do poço da bomba do reservatório e notificar se a água ultrapassar o interruptor da bóia da bomba do reservatório, o que significa que a bomba do reservatório não está funcionando. Passei os fios e usei amarras para prendê-los ao longo do tubo de drenagem.
Etapa 7: toque final
Agora que o projeto está funcionando e podemos publicar a mensagem MQTT para o broker, a próxima etapa é pensar em uma ideia o que fazer com isso.
Em meu projeto, eu uso o Node-RED para ouvir / assinar o tópico MQTT "tele / SumpWaterSensor" e anunciar para vários alto-falantes domésticos do Google se água for detectada. Além disso, também vinculei o fluxo a um nó pushbullet para enviar notificação ao meu telefone Android.
Também criei um front-end web para ver o status do sensor (on / offline, uptime, etc). Às vezes eu vi que ele fica offline algumas vezes no decorrer de 1 semana, pelas estatísticas, muitas vezes é devido ao ESP-01 se desconectar do wi-fi ou MQTT. Mas não se preocupe, meu esboço incluiu uma rotina para reiniciar o ESP-01 se ele continuar falhando ao tentar se conectar ao WIFI e / ou corretor MQTT.
A imagem nesta etapa mostra o fluxo do Node-RED para fazer isso. Você também pode colar o fluxo da minha página do github em seu Node-RED:
O anúncio da página inicial do Google é apenas um exemplo para este projeto, mas acho que é o mais útil e prático. Você sempre pode fazer interface com outro ouvinte MQTT ou até mesmo usar o IFTTT para acionar outros dispositivos quando a água for detectada.
Divirta-se…
Recomendado:
Primeiros passos com Esp 8266 Esp-01 com Arduino IDE - Instalando Placas Esp no Arduino Ide e Programando Esp: 4 Passos
Primeiros passos com Esp 8266 Esp-01 com Arduino IDE | Instalando placas Esp no Arduino Ide e programando Esp: Neste instructables, vamos aprender como instalar placas esp8266 no IDE Arduino e como programar esp-01 e fazer upload de código nele. Como as placas esp são tão populares, então pensei em corrigir um instructablesfor isso e a maioria das pessoas enfrentam problemas
Hijack RGB Flood Light com Arduino ou ESP8266: 6 etapas (com imagens)
Hijack holofote RGB com Arduino ou ESP8266: Então eu encontrei alguns holofotes RGB excelentes na Amazon e, ao olhar dentro deles, percebi que você pode conectá-los diretamente a um arduino e esp8266 e controlá-los usando PWM.I agora uso dois deles na minha sala como luz de sotaque
Sonoff B1 Firmware Home Automation Openhab Google Home: 3 etapas
Sonoff B1 Firmware Home Automation Openhab Google Home: Eu realmente gosto do firmware Tasmota para meus interruptores Sonoff. Mas a não estava muito feliz com o firmware Tasmota no meu Sonoff-B1. Não consegui integrá-lo totalmente ao meu Openhab e controlá-lo por meio do Google Home. Portanto, escrevi minha própria empresa
ESP-NOW Home Automation Esp8266 Raspberry Pi MQTT: 4 etapas
ESP-NOW Home Automation Esp8266 Raspberry Pi MQTT: Neste Instructable eu mostro como usei ESP-NOW na minha automação residencial. No esquema, você pode ver os fluxos de comunicação; eu mostro a você: como funciona o remetente; mostra o trabalho do receptor; mostra a comunicação serial com um Raspberry Pi;
MQTT / Google Home DoorBell usando ESP-01: 6 etapas
MQTT / Google Home DoorBell Usando ESP-01: Você já deixou de atender um convidado que tocou a campainha só porque você está em uma parte da casa que é muito longe para ouvir a campainha? como porão, quarto com porta fechada ou talvez você estivesse assistindo TV ou ouvindo música