Tabla de contenido:
- Paso 1: Piezas que necesitará
- Paso 2: diagrama de circuito
- Paso 3: construcción del circuito
- Paso 4: flasheo del ESP-01
- Paso 5: ejecución de prueba
- Paso 6: monte el sensor
- Paso 7: toque final
Video: MQTT / Google Home Flood / Sensor WIFI de agua con ESP-01: 7 pasos
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:41
En este instructivo, le mostraré cómo construir un sensor de agua / inundación wifi con un costo mínimo. El proyecto completo me cuesta menos de $ 8 por las piezas que adquiera de eBay y mis piezas de repuesto existentes.
En este proyecto, usaremos ESP-01 para proporcionar un cliente Wifi y MQTT para detectar la presencia de agua y, opcionalmente, usaremos un altavoz / zumbador conectado directamente para proporcionar una alarma localizada.
Mi aplicación específica para el proyecto es detectar inundaciones / agua dentro del pozo de mi bomba de sumidero, en caso de falla de la bomba de sumidero. Cuando el agua es detectada por 2 cables abiertos, enviaría un mensaje al corredor de MQTT. El intermediario MQTT luego retransmite el mensaje a NodeRED. Al recibir el mensaje MQTT, NodeRED enviaría un anuncio a múltiples dispositivos domésticos de Google y también, opcionalmente, enviaría un mensaje al teléfono celular / navegador a través de pushbullet
Ahora, por supuesto, este proyecto solo funcionaría si la electricidad doméstica está encendida. En el siguiente instructable, integraré el circuito de respaldo de la batería. Pero si hace la fuente de alimentación de la misma manera que lo hice, puede conectar un banco de energía USB para respaldo de batería. Si tiene un banco de energía que le permite cargar y suministrar energía al mismo tiempo, entonces está todo listo.
Utilizo RaspberryPi ZeroW para alojar el servidor Mosquitto MQTT y NodeRED. Ha estado funcionando durante más de un año sin ningún problema.
Referencias: Raspberry Pi: https://www.switchdoc.com/2016/02/tutorial-installi … Instale NodeRED en Raspberry Pi:
Paso 1: Piezas que necesitará
Lista de partes:
(1) ESP-01
(2) Resistencia de 10K ohmios
(1) transistor NPN genérico de pequeña señal (utilicé 2N3904)
(2) cables largos
(1) Fuente de alimentación genérica de 5 V (este circuito requiere menos de 300 mA de corriente)
(1) Módulo regulador de 3,3 V AMS1117
(1) Adaptador Micro-USB a DIP Conector hembra Convertidor PCB Kit de bricolaje
(1) Cable USB-A a MicroUSB.
(1) Zócalo IC de 8 pines: se puede omitir si desea soldar el ESP-01 directamente a la placa de circuito. Corte los puentes de plástico que crean el espacio entre las filas y luego pegue las 2 filas juntas, vea la foto.
(1) Pequeño recinto para el proyecto
A continuación se muestran piezas opcionales si necesita una alarma localizada con altavoz / zumbador
(1) Transistor PNP genérico, elija de acuerdo con el requisito de corriente / vataje del altavoz / zumbador. En mi caso, uso 2N2907 ya que mi altavoz es de solo 0,3 W (8 ohmios), proporcionaría suficiente potencia para impulsar el altavoz. Puede elegir un transistor y un altavoz más grandes si desea un sonido más fuerte.
(1) Altavoz, consulte la nota sobre el transistor PNP anterior
(1) Resistencia de 100-110 ohmios
Paso 2: diagrama de circuito
El primer paso sería crear el circuito que se muestra en el diagrama.
Construí la fuente de alimentación de 3.3VDC usando un viejo cargador de teléfono celular de 5V junto con el regulador AMS1117 de 3.3VDC. Para el zócalo ESP-01, utilizo un zócalo IC estándar de 8 pines, y corto los puentes de plástico que crean el espacio entre las filas, y luego pego las 2 filas juntas.
El circuito que diseñé es para detectar la presencia de agua entre los dos cables. Cuando el agua llega a la punta de ambos cables, crearía una resistencia de aproximadamente 10 K a 20 K ohmios. Luego, en serie con el R1 de 10K ohmios, proporciona una pequeña corriente a la base del Q1 haciendo que Q1 se sature, sujetando el GPIO-2 a tierra. R1 es necesario para brindar protección a Q1 en caso de que haya un cortocircuito accidental en los cables de detección.
R2 es una resistencia pull-up para permitir que ESP-01 arranque desde flash.
Ahora para el altavoz / zumbador opcional, si solo necesita ESP-01 para hablar MQTT y no desea implementar esta alarma localizada, puede quitar R2, Q2, altavoz y colocar una resistencia pull-up de 10K entre GPIO-0 y VCC.
Si no siente la necesidad de utilizar el adaptador hembra Micro-USB a DIP, puede soldar cables entre la fuente de alimentación de 5 V al módulo regulador de 3,3 V. Prefiero usar el adaptador MicroUSB hembra para poder usar cualquier cargador de teléfono celular genérico y cable MicroUSB.
Paso 3: construcción del circuito
Suelde todos los componentes y piezas en la placa de circuito impreso de acuerdo con el diagrama de circuito de la página anterior y corte la placa de circuito impreso a medida.
Coloque la placa de circuito impreso dentro de una caja que se ajuste a la placa de circuito impreso y al altavoz opcional. En mi caso, todas las piezas encajarían dentro de una pequeña caja de salida de teléfono, aunque tengo que calentar un poco la tapa para crear un bulto y que encaje el módulo ESP-01.
Paso 4: flasheo del ESP-01
En este paso, flashearemos el ESP-01 con el boceto arduino. Si nunca ha actualizado el módulo ESP-01, puede seguir mis instrucciones para comenzar:
Puedes encontrar mi boceto en mi página de github:
En el boceto, como mínimo debe cambiar la siguiente información relacionada con su red / configuración 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";
En mi red doméstica, tengo 2 puntos de acceso diferentes que transmiten 2 SSID diferentes, y este esquema permitiría la redundancia al conectarse al siguiente SSID si se pierde la comunicación con el AP actual. Si solo tiene un SSID, complete ssid1 y ssid2 con el mismo valor.
Una vez que haya realizado la modificación, cargue el boceto en el ESP-01 y conecte el ESP-01 en la placa de interfaz.
Paso 5: ejecución de prueba
Para probar si nuestro proyecto funciona, lo más fácil sería monitorear los mensajes MQTT en la red. Para hacer eso, debe abrir una sesión SSH al broker mosquitto y emitir el siguiente comando:
mosquitto_sub -v -t '#'
El comando anterior nos permitiría ver todos los mensajes MQTT que ingresan al corredor.
Ahora enciende nuestro circuito, y si todo funciona, en unos segundos deberías ver al menos el siguiente mensaje MQTT:
stat / SumpWaterSensor / LWT en línea
Ahora pruebe el sensor de agua sumergiendo los 2 cables sensores en una taza de agua, y debería ver este mensaje:
tele / SumpWaterSensor WET
Y si saca los cables del agua, debería ver este mensaje:
tele / SumpWaterSensor DRY
Si ve esos mensajes, su proyecto es un éxito.
También incluí varios temas útiles de MQTT en el boceto que puede usar:
"stat / SumpWaterSensorInfo": este mensaje se envía cada minuto para proporcionar tiempo de actividad y otra información.
"cmnd / SumpWaterSensorInfo": ESP-01 enviará información si recibe este tema con un valor de '1' (ascii = 49)
"cmnd / SumpWaterSensorCPUrestart": ESP-01 se reiniciará si recibe este tema con el valor '1' (ascii = 49)
"cmnd / SumpWaterSensorBeep": ESP-01 hará sonar el altavoz si recibe este tema con un valor de '1' (ascii = 49)
"cmnd / SumpWaterSensorBeepFreq": establece la frecuencia de la alarma del altavoz, valor predeterminado = 900 (Hz)
"cmnd / SumpWaterSensorDebug": habilita y establece el nivel de depuración en serie (el valor predeterminado es 0, sin depuración)
Paso 6: monte el sensor
En mi aplicación, quiero monitorear el nivel de agua dentro del pozo de mi bomba de sumidero y notificarme si el agua llega por encima del interruptor de flotador de la bomba de sumidero, lo que significa que mi bomba de sumidero no está funcionando. Pasé los cables y utilicé ataduras de cables para asegurarlo a lo largo del tubo de drenaje.
Paso 7: toque final
Ahora que tenemos el proyecto funcionando y podemos publicar el mensaje MQTT para el corredor, el siguiente paso es pensar en una idea de qué hacer con eso.
En mi proyecto, uso Node-RED para escuchar / suscribirme al tema MQTT "tele / SumpWaterSensor" y anunciar a varios oradores domésticos de Google si se detecta agua. Además de eso, también vinculé el flujo a un nodo pushbullet para enviar una notificación a mi teléfono Android.
También creé una interfaz web para ver el estado del sensor (encendido / fuera de línea, tiempo de actividad, etc.). A veces vi que se desconectaba varias veces en el transcurso de 1 semana, según las estadísticas, muchas veces se debe a que el ESP-01 se desconecta del wifi o MQTT. Pero no se preocupe demasiado, mi boceto ha incluido una rutina para reiniciar el ESP-01 si sigue fallando al intentar conectarse a WIFI y / o al corredor MQTT.
La imagen de este paso muestra el flujo Node-RED para lograr esto. También puede pegar el flujo de mi página de github en su Node-RED:
El anuncio de Google Home es solo un ejemplo de este proyecto, pero creo que es el más útil y práctico. Siempre puede interactuar con otro oyente MQTT, o incluso usar IFTTT para controlar otros dispositivos cuando se detecta agua.
Divertirse…
Recomendado:
Soporte para botella de agua con recordatorio de agua: 16 pasos
Soporte para botella de agua con recordatorio de agua: ¿Alguna vez te olvidaste de beber tu agua? ¡Sé lo que hago! Por eso se me ocurrió la idea de crear un soporte para botellas de agua que te recuerde que debes beber tu agua. El soporte para botella de agua tiene una función en la que sonará un ruido cada hora para recordarle que
Ahorre agua y dinero con el monitor de agua de la ducha: 15 pasos (con imágenes)
Ahorre agua y dinero con el monitor de agua de la ducha: ¿Qué utiliza más agua, un baño o una ducha? Hace poco estaba pensando en esta pregunta y me di cuenta de que en realidad no sé cuánta agua se usa cuando me ducho. Sé que cuando estoy en la ducha, a veces mi mente divaga, pensando en algo genial
Introducción a Esp 8266 Esp-01 con Arduino IDE - Instalación de placas Esp en Arduino Ide y programación Esp: 4 pasos
Introducción a Esp 8266 Esp-01 con Arduino IDE | Instalación de placas Esp en Arduino Ide y programación de Esp: En este instructables aprenderemos cómo instalar placas esp8266 en Arduino IDE y cómo programar esp-01 y cargar código en él Dado que las placas esp son tan populares, así que pensé en corregir un instructivo para esto y la mayoría de las personas enfrentan problemas
MQTT / Google Home DoorBell con ESP-01: 6 pasos
MQTT / Google Home DoorBell con ESP-01: ¿Alguna vez se perdió de responder a un invitado que tocó el timbre de su puerta solo porque está en una parte de la casa que está demasiado lejos para escuchar el timbre de la puerta? como el sótano, el dormitorio con puertas cerradas, o tal vez estaba viendo la televisión o escuchando música. Si lo desea
Métodos para detectar el nivel de agua Arduino usando un sensor ultrasónico y un sensor de agua Funduino: 4 pasos
Métodos para detectar el nivel de agua Arduino usando un sensor ultrasónico y un sensor de agua Funduino: En este proyecto, le mostraré cómo crear un detector de agua económico usando dos métodos: 1. Sensor ultrasónico (HC-SR04) 2. Sensor de agua Funduino