Cuprins:
- Pasul 1: părți de care veți avea nevoie
- Pasul 2: Diagrama circuitului
- Pasul 3: Construirea circuitului
- Pasul 4: intermitent ESP-01
- Pasul 5: Test Run
- Pasul 6: Montați senzorul
- Pasul 7: Atingere finală
Video: Senzor WIFI MQTT / Google Home Flood / Water cu ESP-01: 7 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:43
În acest instructable, vă voi arăta cum să construiți un senzor wifi de inundații / apă cu un cost minim. Întregul proiect mă costă mai puțin de 8 USD pentru piesele pe care le achiziționez de pe eBay și piesele de schimb existente.
În acest proiect, vom folosi ESP-01 pentru a furniza clientului Wifi și MQTT pentru a detecta prezența apei și, opțional, vom utiliza difuzoare / buzzer conectate direct pentru a furniza alarma localizată.
Aplicația mea specifică pentru proiect este de a detecta inundațiile / apa din puțul pompei mele, în cazul defectării pompei. Când apa este detectată de 2 fire deschise, aceasta va trimite un mesaj brokerului MQTT. Brokerul MQTT transmite apoi mesajul către NodeRED. La primirea mesajului MQTT, NodeRED ar trimite un anunț către mai multe dispozitive de acasă Google și, de asemenea, opțional, va trimite un mesaj către telefonul mobil / browser prin pushbullet
Acum, desigur, acest proiect ar funcționa numai dacă electricitatea locuinței este pornită. În următorul instructabil voi integra circuitul de rezervă al bateriei. Dar dacă realizați sursa de alimentare la fel cum am făcut-o, puteți conecta doar o bancă de alimentare USB pentru backupul bateriei. Dacă aveți o bancă de energie care vă permite să încărcați și să furnizați energie în același timp, atunci sunteți gata.
Folosesc RaspberryPi ZeroW pentru a găzdui serverul Mosquitto MQTT și NodeRED. Funcționează de peste un an fără nicio problemă.
Referințe: Raspberry Pi: https://www.switchdoc.com/2016/02/tutorial-installi… Instalați NodeRED pe Raspberry Pi:
Pasul 1: părți de care veți avea nevoie
Lista de componente:
(1) ESP-01
(2) Rezistor de 10K ohm
(1) tranzistor NPN generic cu semnal mic (am folosit 2N3904)
(2) fire lungi
(1) Alimentare generică de 5V (acest circuit necesită curent mai mic de 300mA)
(1) Modul regulator 3.3V AMS1117
(1) Micro-USB la adaptor DIP conector feminin PCB convertor kit DIY
(1) Cablu USB-A la MicroUSB.
(1) Priză IC cu 8 pini - poate fi omisă dacă doriți să lipiți ESP-01 direct pe placa de circuit. Tăiați podurile de plastic care creează decalajul dintre rânduri, apoi lipiți cele două rânduri împreună, vedeți fotografia.
(1) Incintă mică pentru proiect
Mai jos sunt piese opționale, dacă aveți nevoie de o alarmă localizată folosind difuzor / buzzer
(1) Tranzistor PNP generic, alegeți în funcție de cerința curentului / puterii difuzorului / sonorului. În cazul meu, folosesc 2N2907, deoarece difuzorul meu are doar 0,3 W (8 ohmi), ar oferi suficientă putere pentru a conduce difuzorul. Puteți alege un tranzistor și difuzor mai mari dacă doriți un sunet mai puternic.
(1) Difuzor, vezi nota de mai sus despre tranzistorul PNP
(1) Rezistor 100-110 ohmi
Pasul 2: Diagrama circuitului
Primul pas ar fi crearea circuitului prezentat în diagramă.
Am construit sursa de alimentare de 3,3VDC utilizând un vechi încărcător de telefon mobil de 5V cuplat cu regulatorul AMS1117 de 3,3VDC. Pentru mufa ESP-01, folosesc o mufă IC standard cu 8 pini și tăiem podurile de plastic care creează decalajul dintre rânduri, apoi lipim cele două rânduri împreună.
Circuitul pe care l-am proiectat este să simtă prezența apei între cele două fire. Când apa ajunge la vârful ambelor fire, ar crea o rezistență de aproximativ 10K la 20K ohm. Apoi, în serie cu 10K ohm R1, furnizează un curent mic la baza Q1, determinând Q1 să se satureze, fixând GPIO-2 la sol. R1 este necesar pentru a oferi protecție Q1 în cazul în care există un scurtcircuit accidental pe firele de detectare.
R2 este un rezistor pull-up pentru a permite ESP-01 să pornească de la bliț.
Acum, pentru difuzorul / buzzerul opțional, dacă aveți nevoie doar de ESP-01 pentru a vorbi MQTT și nu doriți să implementați această alarmă localizată, puteți elimina R2, Q2, difuzorul și puteți plasa un rezistor de 10K între GPIO-0 și VCC.
Dacă nu simțiți nevoia de a utiliza adaptorul Micro-USB la DIP de sex feminin, puteți lipi firele între 5V PS și modulul regulator de 3,3V. Prefer să folosesc adaptorul MicroUSB feminin, astfel încât să pot folosi orice încărcător generic de telefon mobil și cablu MicroUSB.
Pasul 3: Construirea circuitului
Lipiți toate componentele și piesele în PCB conform schemei de circuite din pagina anterioară și tăiați PCB-ul la dimensiune.
Așezați PCB-ul într-o carcasă care să se potrivească PCB-ului și difuzorului opțional. În cazul meu, toate piesele s-ar potrivi într-o mică priză de telefon, deși trebuie să încălzesc puțin capacul pentru a crea o umflătură, astfel încât să se potrivească modulul ESP-01.
Pasul 4: intermitent ESP-01
În acest pas, vom aprinde ESP-01 cu schiță arduino. Dacă nu ați lansat niciodată modulul ESP-01, puteți urma instrucțiunile mele pentru a începe:
Puteți găsi schița mea în pagina mea github:
În schiță, cel puțin trebuie să modificați următoarele informații referitoare la rețeaua / configurarea dvs. de acasă:
#define MQTT_SERVER "10.0.0.30" const char * ssid1 = "SSID"; const char * password1 = "MYSSIDpassword"; const char * ssid2 = "SSID1"; const char * password2 = "MYSSIDpassword";
În rețeaua mea de acasă, am 2 puncte de acces diferite care difuzează 2 SSID-uri diferite, iar această schiță ar permite redundanța prin conectarea la următorul SSID dacă se pierde comunicația cu AP-ul curent. Dacă aveți un singur SSID, completați atât ssid1, cât și ssid2 cu aceeași valoare.
Odată ce ați făcut modificarea, încărcați schița în ESP-01 și conectați ESP-01 la placa de interfață.
Pasul 5: Test Run
Pentru a testa dacă proiectul nostru funcționează, cel mai ușor ar fi să monitorizăm mesajele MQTT din rețea. Pentru a face acest lucru, trebuie să deschideți o sesiune SSH către brokerul mosquitto și să lansați următoarea comandă:
mosquitto_sub -v -t '#'
Comanda de mai sus ne-ar permite să vedem toate mesajele MQTT care vin în broker.
Acum porniți circuitul nostru și, dacă totul funcționează, în câteva secunde ar trebui să vedeți cel puțin următorul mesaj MQTT:
stat / SumpWaterSensor / LWT Online
Acum testați senzorul de apă prin scufundarea celor 2 fire de detectare într-o ceașcă de apă și ar trebui să vedeți acest mesaj:
tele / SumpWaterSensor WET
Și dacă scoateți firele din apă, ar trebui să vedeți acest mesaj:
tele / SumpWaterSensor DRY
Dacă vedeți aceste mesaje, proiectul dvs. este un succes.
De asemenea, am inclus mai multe subiecte utile MQTT în schiță pe care le puteți folosi:
„stat / SumpWaterSensorInfo”: acest mesaj este trimis în fiecare minut pentru a oferi disponibilitate și alte informații.
„cmnd / SumpWaterSensorInfo”: ESP-01 va trimite informații dacă primește acest subiect cu valoarea „1” (ascii = 49)
"cmnd / SumpWaterSensorCPUrestart": ESP-01 va reporni dacă primește acest subiect cu valoarea '1' (ascii = 49)
„cmnd / SumpWaterSensorBeep”: ESP-01 va suna difuzorul dacă primește acest subiect cu valoarea „1” (ascii = 49)
„cmnd / SumpWaterSensorBeepFreq”: setează frecvența alarmei difuzorului, implicit = 900 (Hz)
"cmnd / SumpWaterSensorDebug": activați și setați nivelul de depanare serial (implicit este 0 - fără depanare)
Pasul 6: Montați senzorul
În aplicația mea, vreau să monitorizez nivelul apei din interiorul pompei de bazin și să mă anunț dacă apa ajunge deasupra întrerupătorului plutitor al pompei de bazin, ceea ce înseamnă că pompa mea de bazin nu funcționează. Am rulat firele și am folosit legături pentru a le fixa de-a lungul conductei de scurgere.
Pasul 7: Atingere finală
Acum că proiectul funcționează și putem publica mesajul MQTT către broker, următorul pas este să ne gândim la ce să facem cu asta.
În proiectul meu, folosesc Node-RED pentru a asculta / abona la subiectul „tele / SumpWaterSensor” MQTT și a anunța mai multe difuzoare de acasă Google dacă este detectată apă. În plus, am legat fluxul de un nod pushbullet pentru a trimite notificări către telefonul meu Android.
De asemenea, am creat un front-end web pentru a vedea starea senzorului (pornit / offline, timp de funcționare etc.). Uneori am văzut că se deconectează de câteva ori în decursul unei săptămâni, din statistici, de multe ori se datorează deconectării ESP-01 de la wifi sau MQTT. Dar nu vă faceți griji, schița mea a inclus rutină pentru a reporni ESP-01 dacă continuă să nu reușească să se conecteze la brokerul WIFI și / sau MQTT.
Imaginea de pe acest pas, arată fluxul Node-RED pentru a realiza acest lucru. De asemenea, puteți lipi fluxul de pe pagina mea github în Node-RED:
Anunțul Google la domiciliu este doar un exemplu pentru acest proiect, dar cred că este cel mai util și practic. Puteți oricând să vă interfațați cu alt ascultător MQTT sau chiar să utilizați IFTTT pentru a conduce alte dispozitive după detectarea apei.
A se distra…
Recomandat:
Senzor de ușă și blocare alimentat de baterie, solar, ESP8266, ESP-Now, MQTT: 4 pași (cu imagini)
Senzor de ușă și blocare alimentat de baterie, Solar, ESP8266, ESP-Now, MQTT: În acest manual vă arăt cum am realizat un senzor alimentat cu baterie pentru a monitoriza ușa și blocarea stării magaziei de biciclete la distanță. Am alimentare cu rețea electrică, de aceea am alimentat cu baterie. Bateria este încărcată de un mic panou solar. Modulul este d
Noțiuni introductive despre Esp 8266 Esp-01 cu Arduino IDE - Instalarea plăcilor Esp în Arduino Ide și programarea Esp: 4 pași
Noțiuni introductive despre Esp 8266 Esp-01 cu Arduino IDE | Instalarea plăcilor Esp în Arduino Ide și programarea Esp: În acest instructables vom învăța cum să instalați plăci esp8266 în Arduino IDE și cum să programați esp-01 și să încărcați codul în acesta. aceasta și majoritatea oamenilor se confruntă cu probleme
ESP-NOW Home Automation Esp8266 Raspberry Pi MQTT: 4 pași
ESP-NOW Home Automation Esp8266 Raspberry Pi MQTT: În acest instructable vă arăt cum am folosit ESP-NOW în sistemul meu de automatizare la domiciliu. În schemă puteți vedea fluxurile de comunicații Vă arăt: modul în care expeditorul lucrează receptorul lucrează comunicarea în serie cu un Raspberry Pi Nu arăt
MQTT / Google Home DoorBell Utilizarea ESP-01: 6 pași
MQTT / Google Home DoorBell Utilizarea ESP-01: Ți-a lipsit vreodată să răspunzi unui invitat care ți-a sunat la ușă doar pentru că te afli într-o parte a casei care este prea departe pentru a auzi sunetul soneriei? cum ar fi subsolul, dormitorul cu ușă închisă sau poate vă uitați la televizor sau ascultați muzică. Dacă doriți
Senzor de temperatură și umiditate IoT WiFi. Partea: 8 IoT, Home Automation: 9 pași
Senzor de temperatură și umiditate WiFi IoT. Partea: 8 IoT, Home Automation: Preambul Acest articol documentează rezistența practică și dezvoltarea ulterioară a unui Instructable anterior: „Pimping” primul dispozitiv WiFi IoT. Partea 4: IoT, Home Automation incluzând toate funcționalitățile software necesare pentru a permite succesul