Taula de continguts:
- Pas 1: parts que necessitareu
- Pas 2: diagrama del circuit
- Pas 3: Construir el circuit
- Pas 4: Intermitent de l'ESP-01
- Pas 5: prova d'execució
- Pas 6: munteu el sensor
- Pas 7: toc final
Vídeo: Sensor WIFI d’inundació / aigua MQTT / Google Home amb ESP-01: 7 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:12
En aquest instructiu, us mostraré com construir sensor d'inundació / aigua wifi amb un cost mínim. Tot el projecte em costa menys de 8 dòlars per a les peces que adquireixo a eBay i les meves peces de recanvi existents.
En aquest projecte, utilitzarem ESP-01 per proporcionar Wifi i client MQTT per detectar presència d’aigua i, opcionalment, utilitzarem un altaveu / buzzer connectat directament per proporcionar una alarma localitzada.
La meva aplicació específica per al projecte és detectar inundacions / aigua dins del pou de la bomba de dipòsit, en cas de fallada de la bomba de dipòsit. Quan 2 cables oberts detecten aigua, enviaria un missatge al corredor MQTT. El corredor MQTT retransmetria el missatge a NodeRED. En rebre el missatge MQTT, NodeRED enviava un anunci a diversos dispositius de Google Home i, opcionalment, també enviava un missatge al mòbil / navegador mitjançant pushbullet
Ara, per descomptat, aquest projecte només funcionaria si l’electricitat de la llar està ENCENDIDA. A la següent instrucció integraré el circuit de còpia de seguretat de la bateria. Però si feu la font d'alimentació de la mateixa manera que ho vaig fer jo, només podeu connectar un banc d'alimentació USB per fer còpia de seguretat de la bateria. Si teniu un banc d’alimentació que us permet carregar i subministrar energia alhora, esteu a punt.
Utilitzo RaspberryPi ZeroW per allotjar el servidor Mosquitto MQTT i NodeRED. Fa més d’un any que funciona sense cap problema.
Referències: Raspberry Pi: https://www.switchdoc.com/2016/02/tutorial-installi… Instal·leu NodeRED a Raspberry Pi:
Pas 1: parts que necessitareu
Llista de peces:
(1) ESP-01
(2) Resistència de 10K ohm
(1) transistor NPN genèric de senyal petit (he utilitzat 2N3904)
(2) cables llargs
(1) Alimentació genèrica de 5V (aquest circuit requereix menys de 300mA de corrent)
(1) Mòdul regulador de 3,3 V AMS1117
(1) Adaptador micro-USB a DIP Connector femella convertidor de PCB Kit de bricolatge
(1) Cable USB-A a MicroUSB.
(1) endoll IC de 8 pins: es pot ometre si voleu soldar ESP-01 directament a la placa de circuit. Talleu els ponts de plàstic que creen l’espai entre les files i, a continuació, enganxeu les dues files juntes, vegeu la foto.
(1) Petit recinte per al projecte
A continuació es mostren parts opcionals si necessiteu una alarma localitzada mitjançant altaveu / timbre
(1) Transistor PNP genèric, trieu segons el requisit de corrent / potència de l'altaveu / zumbador. En el meu cas, faig servir 2N2907, ja que el meu altaveu és de només 0,3 W (8 ohm), proporcionaria prou energia per conduir l’altaveu. Podeu triar un transistor i un altaveu més grans si voleu un so més fort.
(1) Altaveu, vegeu la nota sobre el transistor PNP anterior
(1) Resistència de 100 a 110 ohms
Pas 2: diagrama del circuit
El primer pas seria crear el circuit que es mostra al diagrama.
Vaig construir la font d’alimentació de 3,3VDC mitjançant un carregador de mòbil de 5V antic juntament amb un regulador AMS1117 de 3,3VDC. Per al sòcol ESP-01, faig servir un sòcol IC estàndard de 8 pins i tallo els ponts de plàstic que creen la bretxa entre les files i, a continuació, enganxo les 2 files juntes.
El circuit que vaig dissenyar és detectar la presència d’aigua entre els dos cables. Quan l’aigua arriba a la punta dels dos cables, crearia una resistència d’aproximadament 10K a 20K ohm. Després, en sèrie amb el R1 de 10K ohm, proporciona un petit corrent a la base del Q1 fent que Q1 es saturi, fixant el GPIO-2 a terra. R1 és necessari per proporcionar protecció a Q1 en cas que hi hagi un curtcircuit accidental als cables de detecció.
R2 és una resistència pull-up que permet a ESP-01 arrencar des del flash.
Ara, per a l’altaveu / timbre opcional, si només necessiteu ESP-01 per parlar MQTT i no voleu implementar aquesta alarmant localitzada, podeu eliminar R2, Q2, Speaker i col·locar una resistència de tracció de 10K entre GPIO-0 i VCC.
Si no teniu la necessitat d’utilitzar l’adaptador femella Micro-USB a DIP, podeu soldar els cables entre el PS de 5 V al mòdul de regulador de 3,3 V. Prefereixo utilitzar l'adaptador MicroUSB femella per poder utilitzar qualsevol carregador de mòbil genèric i cable MicroUSB.
Pas 3: Construir el circuit
Soldeu tots els components i les peces al PCB segons el diagrama del circuit de la pàgina anterior i talleu el PCB a mida.
Col·loqueu el PCB dins d’un recinte que s’adapti al PCB i a l’altaveu opcional. En el meu cas, totes les parts cabrien dins d’una petita caixa de corrent del telèfon, tot i que he d’escalfar una mica la tapa per crear una protuberància perquè el mòdul ESP-01 s’adapti.
Pas 4: Intermitent de l'ESP-01
En aquest pas, farem aparèixer l'ESP-01 amb l'esbós arduino. Si mai no heu llançat el mòdul ESP-01, podeu seguir les instruccions per començar:
Podeu trobar el meu esbós a la pàgina de la meva github:
A l’esbós, com a mínim heu de canviar la informació següent relativa a la vostra configuració o configuració de la vostra xarxa 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";
A la meva xarxa domèstica, tinc 2 punts d'accés diferents que emeten 2 SSID diferents, i aquest esbós permetria la redundància connectant-se al següent SSID si es perd la comunicació amb l'AP actual. Si només teniu un SSID, empleneu ssid1 i ssid2 amb el mateix valor.
Un cop feta la modificació, pengeu l’esbós a l’ESP-01 i connecteu l’ESP-01 al tauler d’interfície.
Pas 5: prova d'execució
Per provar si el nostre projecte funciona, el més fàcil seria controlar els missatges MQTT a la xarxa. Per fer-ho, heu d'obrir una sessió SSH al corredor mosquitto i emetre l'ordre següent:
mosquitto_sub -v -t '#'
L'ordre anterior ens permetria veure tots els missatges MQTT que arribaven al broker.
Ara engegueu el nostre circuit i, si tot funciona, en pocs segons hauríeu de veure com a mínim el següent missatge MQTT:
stat / SumpWaterSensor / LWT en línia
Ara proveu el sensor d'aigua submergint els 2 cables de detecció en una tassa d'aigua i hauríeu de veure aquest missatge:
tele / SumpWaterSensor WET
I si traieu els cables de l’aigua, hauríeu de veure aquest missatge:
tele / SumpWaterSensor DRY
Si veieu aquests missatges, el vostre projecte serà un èxit.
També he inclòs diversos temes MQTT útils a l'esbós que podeu utilitzar:
"stat / SumpWaterSensorInfo": aquest missatge s'envia cada minut per proporcionar temps d'activitat i altra informació.
"cmnd / SumpWaterSensorInfo": ESP-01 enviarà informació si rep aquest tema amb el valor de '1' (ascii = 49)
"cmnd / SumpWaterSensorCPUrestart": ESP-01 es reiniciarà si rep aquest tema amb el valor de '1' (ascii = 49)
"cmnd / SumpWaterSensorBeep": ESP-01 farà sonar l'altaveu si rep aquest tema amb el valor de '1' (ascii = 49)
"cmnd / SumpWaterSensorBeepFreq": estableix la freqüència de l'alarma dels altaveus, per defecte = 900 (Hz)
"cmnd / SumpWaterSensorDebug": activeu i configureu el nivell de depuració en sèrie (el valor per defecte és 0 - sense depuració)
Pas 6: munteu el sensor
A la meva aplicació, vull controlar el nivell de l’aigua dins del pou de la bomba de dipòsit i avisar-me si l’aigua arriba per sobre del commutador flotant de la bomba de dipòsit, cosa que significa que la meva bomba de dipòsit no funciona. Vaig passar els cables i fer servir llaços per fixar-lo al llarg del tub de drenatge.
Pas 7: toc final
Ara que el projecte funciona i és capaç de publicar el missatge MQTT al corredor, el següent pas és pensar la idea de què fer-ne.
Al meu projecte, faig servir Node-RED per escoltar / subscriure's al tema MQTT "tele / SumpWaterSensor" i anunciar a diversos altaveus de Google Home si es detecta aigua. A més d’això, també he vinculat el flux a un node pushbullet per enviar notificacions al meu telèfon Android.
També he creat una interfície web per veure l'estat del sensor (activat / fora de línia, temps d'activitat, etc.). De vegades he vist que es desconnecta algunes vegades al llarg d’una setmana, des de les estadístiques, moltes vegades es deu a que l’ESP-01 es desconnecta del wifi o del MQTT. Però no us preocupeu, el meu esbós ha inclòs rutina per reiniciar l'ESP-01 si continua fallant en intentar connectar-se a WIFI i / o broker MQTT.
La imatge d’aquest pas mostra el flux Node-RED per aconseguir-ho. També podeu enganxar el flux de la meva pàgina de github al vostre Node-RED:
L’anunci de Google Home és només un exemple d’aquest projecte, però crec que és el més útil i pràctic. Sempre podeu interactuar amb un altre oient MQTT o fins i tot fer servir IFTTT per conduir altres dispositius quan es detecti aigua.
Diverteix-te…
Recomanat:
Estalvieu aigua i diners amb el monitor d'aigua de la dutxa: 15 passos (amb imatges)
Estalvieu aigua i diners amb el monitor d’aigua de la dutxa: que fa servir més aigua: una banyera o una dutxa? Fa poc pensava en aquesta pregunta i em vaig adonar que en realitat no sé quanta aigua s’utilitza quan em dutxo. Sé que quan estic a la dutxa, de vegades la meva ment vaga, pensant en una ne
Llum d'inundació RGB Hijack amb Arduino o ESP8266: 6 passos (amb imatges)
Llum d’inundació RGB Hijack amb Arduino o ESP8266: així que vaig trobar unes petites llums d’inundació RGB fantàstiques a Amazon i, en mirar les entranyes, em vaig adonar que podeu connectar-les directament a un arduino i esp8266 i controlar-les mitjançant PWM.I ara utilitzeu-ne dos a la meva sala d'estar com a accent
Llum d'inundació LED regulable per bricolatge: 5 passos (amb imatges)
Llum d’inundació LED regulable per bricolatge: les llums d’inundació de vegades tendeixen a deixar de funcionar amb el pas del temps, tot i que actualment utilitzen LED. Això es podria deure a moltes raons, com ara un sobreescalfament o un error al controlador de LED o un error al procés de fabricació. La majoria de nosaltres acabem llençant un prod
Alarma d'inundació de soterrani de baix consum amb ESP8266: 3 passos
Alarma d’inundació de soterrani de baix consum amb ESP8266: Hola, benvingut al meu primer instructable. El soterrani de casa meva s’inunda cada pocs anys per diversos motius, com ara fortes tempestes d’estiu, aigües subterrànies elevades o fins i tot una explosió de canonades. Tot i que no és un lloc agradable, però la meva calefacció central
Mètodes de detecció del nivell d'aigua Arduino mitjançant el sensor d'ultrasons i el sensor d'aigua Funduino: 4 passos
Mètodes per detectar el nivell d'aigua Arduino mitjançant el sensor d'ultrasons i el sensor d'aigua Funduino: en aquest projecte, us mostraré com crear un detector d'aigua econòmic mitjançant dos mètodes: 1. Sensor d'ultrasons (HC-SR04) .2. Sensor d'aigua Funduino