Sadržaj:
- Korak 1: Dijelovi koji će vam trebati
- Korak 2: Dijagram kola
- Korak 3: Izgradnja kruga
- Korak 4: Treptanje ESP-01
- Korak 5: Probni rad
- Korak 6: Montirajte senzor
- Korak 7: Završni dodir
Video: MQTT/Google početni WIFI senzor za poplavu/vodu sa ESP-01: 7 koraka
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:05
U ovom uputstvu pokazat ću vam kako izgraditi WiFi senzor poplave/vode uz minimalne troškove. Cijeli projekt košta me manje od 8 USD za dijelove koje nabavljam na ebayu i moje postojeće rezervne dijelove.
U ovom projektu ćemo koristiti ESP-01 za pružanje Wifi i MQTT klijenta za otkrivanje prisutnosti vode, a opcionalno ćemo koristiti i direktno spojen zvučnik/zujalicu za pružanje lokaliziranog alarma.
Moja specifična primjena za projekt je otkrivanje poplave/vode unutar bunara pumpe u koritu, u slučaju kvara pumpe u koritu. Kada dvije vode otkriju vodu, poslale bi poruku MQTT brokeru. MQTT posrednik bi zatim prenio poruku NodeRED -u. Nakon primanja MQTT poruke, NodeRED bi poslao najavu na više google kućnih uređaja, a opcionalno i poruku na mobitel/preglednik putem pushbulleta
Naravno, ovaj projekt bi funkcionirao samo ako je kućna struja UKLJUČENA. U sljedećim uputama integrirat ću rezervno kolo baterije. Ali ako napajanje napravite na isti način kao i ja, možete jednostavno priključiti USB bateriju za rezervno napajanje baterije. Ako imate banku napajanja koja vam omogućuje istovremeno punjenje i napajanje, sve je spremno.
Koristim RaspberryPi ZeroW za hostiranje Mosquitto MQTT servera i NodeRED -a. Radi već više od godinu dana bez ikakvih problema.
Reference: Raspberry Pi: https://www.switchdoc.com/2016/02/tutorial-installi…Instalirajte NodeRED na Raspberry Pi:
Korak 1: Dijelovi koji će vam trebati
Lista dijelova:
(1) ESP-01
(2) 10K ohm otpornik
(1) generički NPN tranzistor sa malim signalom (koristio sam 2N3904)
(2) duge žice
(1) Općenito napajanje od 5 V (ovo kolo zahtijeva struju manju od 300 mA)
(1) 3.3V regulator modul AMS1117
(1) Micro-USB na DIP adapter ženski konektor PCB pretvarač DIY komplet
(1) Kabel USB-A na MicroUSB.
(1) 8-polna IC utičnica-može se izostaviti ako želite lemiti ESP-01 direktno na ploču. Izrežite plastične mostove koji stvaraju razmak između redova, a zatim zalijepite dva reda zajedno, pogledajte fotografiju.
(1) Malo kućište za projekat
Ispod su opcijski dijelovi ako vam je potreban lokalizirani alarm pomoću zvučnika/zujalice
(1) Opći PNP tranzistor, odaberite prema zahtjevu zvučnika/zujalice/snazi. U mom slučaju koristim 2N2907 budući da je moj zvučnik samo 0,3 W (8 ohma), pružio bi dovoljno snage za pogon zvučnika. Možete odabrati veći tranzistor i zvučnik ako želite jači zvuk.
(1) Zvučnik, pogledajte napomenu o PNP tranzistoru gore
(1) Otpornik 100 - 110 ohma
Korak 2: Dijagram kola
Prvi korak bio bi stvaranje kruga prikazanog na dijagramu.
Napravio sam napajanje od 3.3VDC koristeći stari 5V punjač za mobitele zajedno sa AMS1117 3.3VDC regulatorom. Za utičnicu ESP-01 koristim 8-polnu standardnu IC utičnicu i režem plastične mostove koji stvaraju razmak između redova, a zatim lijepim 2 reda zajedno.
Krug koji sam dizajnirao treba osjetiti prisutnost vode između dvije žice. Kad voda dosegne vrh obje žice, stvorila bi otpor od približno 10K do 20K ohma. Zatim u seriji sa 10K ohm R1, daje malu struju na bazu Q1 uzrokujući zasićenje Q1, pričvršćujući GPIO-2 na masu. R1 je neophodan za zaštitu Q1 u slučaju slučajnog kratkog spoja na osjetljivim žicama.
R2 je pull-up otpornik koji omogućuje ESP-01 pokretanje iz blica.
Sada za opcionalni zvučnik/zujalicu, ako vam je potreban samo ESP-01 da biste govorili MQTT, a ne želite implementirati ovo lokalizirano alarmiranje, možete ukloniti R2, Q2, zvučnik i postaviti 10K pull-up otpornik između GPIO-0 i VCC.
Ako ne osjećate potrebu za korištenjem ženskog Micro-USB na DIP adaptera, možete lemiti žice između 5V PS na modulu regulatora 3.3V. Više volim koristiti ženski MicroUSB adapter tako da mogu koristiti bilo koji generički punjač za mobitel i MicroUSB kabel.
Korak 3: Izgradnja kruga
Lemite sve komponente i dijelove u PCB prema shemi kola na prethodnoj stranici i izrežite PCB prema veličini.
Postavite PCB u kućište koje odgovara PCB -u i opcionalnom zvučniku. U mom slučaju, svi bi dijelovi stali u malu utičnicu za telefon, iako moram malo zagrijati poklopac da bih stvorio izbočinu kako bi ESP-01 modul stao.
Korak 4: Treptanje ESP-01
U ovom koraku blicat ćemo ESP-01 sa arduino skicom. Ako nikada niste bljeskali ESP-01 modul, možete slijediti moja uputstva za početak:
Moju skicu možete pronaći na mojoj github stranici:
Na skici, najmanje morate promijeniti sljedeće podatke koji se odnose na vašu kućnu mrežu/postavljanje:
#define MQTT_SERVER "10.0.0.30" const char* ssid1 = "SSID"; const char* password1 = "MYSSIDpassword"; const char* ssid2 = "SSID1"; const char* password2 = "MYSSIDpassword";
U mojoj kućnoj mreži imam 2 različite pristupne tačke koje emituju 2 različita SSID -a, a ova skica bi omogućila redundanciju povezivanjem na sljedeći SSID ako se izgubi komunikacija sa trenutnom pristupnom tačkom. Ako imate samo jedan SSID, popunite ssid1 i ssid2 istom vrijednošću.
Nakon što izvršite izmjenu, otpremite skicu u ESP-01 i uključite ESP-01 u ploču za sučelje.
Korak 5: Probni rad
Da bismo provjerili funkcionira li naš projekt, najlakše bi bilo nadzirati MQTT poruke u mreži. Da biste to učinili, morate otvoriti SSH sesiju posredniku komaraca i izdati sljedeću naredbu:
mosquitto_sub -v -t '#'
Gornja naredba omogućila bi nam da vidimo sve MQTT poruke koje dolaze u brokera.
Sada uključite naš krug i ako sve funkcionira, za nekoliko sekundi trebali biste barem vidjeti sljedeću MQTT poruku:
stat/SumpWaterSensor/LWT na mreži
Sada testirajte senzor vode tako što ćete umočiti 2 žice za osjet u čašu vode i trebali biste vidjeti ovu poruku:
tele/SumpWaterSensor WET
A ako izvadite žice iz vode, trebali biste vidjeti ovu poruku:
tele/SumpWaterSensor DRY
Ako vidite te poruke, vaš je projekt uspješan.
U skicu sam uključio i nekoliko korisnih tema o MQTT -u koje možete koristiti:
"stat/SumpWaterSensorInfo": ova poruka se šalje svake minute radi pružanja neprekidnog rada i drugih informacija.
"cmnd/SumpWaterSensorInfo": ESP-01 će poslati informacije ako primi ovu temu s vrijednošću '1' (ascii = 49)
"cmnd/SumpWaterSensorCPUrestart": ESP-01 će se ponovno pokrenuti ako primi ovu temu s vrijednošću '1' (ascii = 49)
"cmnd/SumpWaterSensorBeep": ESP-01 će oglasiti zvučnik ako primi ovu temu s vrijednošću '1' (ascii = 49)
"cmnd/SumpWaterSensorBeepFreq": Postavlja frekvenciju alarma zvučnika, zadana vrijednost = 900 (Hz)
"cmnd/SumpWaterSensorDebug": Omogućava i postavlja nivo serijskog otklanjanja grešaka (zadano je 0 - bez otklanjanja grešaka)
Korak 6: Montirajte senzor
U svojoj aplikaciji želim nadzirati nivo vode unutar pumpe u koritu i obavijestiti me ako voda dosegne iznad prekidača pumpe u koritu, što znači da mi pumpa u bazenu ne radi. Prošao sam žice i pomoću žičanih vezica pričvrstio ih duž odvodne cijevi.
Korak 7: Završni dodir
Sada kada je projekt uspješan i u stanju objaviti MQTT poruku posredniku, sljedeći korak je razmišljanje o tome što s tim učiniti.
U svom projektu koristim Node-RED za slušanje/pretplatu na temu "tele/SumpWaterSensor" MQTT i najava nekoliko google kućnih zvučnika ako se otkrije voda. Osim toga, također sam povezao tok s čvorom pushbullet za slanje obavijesti na svoj android telefon.
Takođe sam kreirao web front-end da vidim status senzora (uključeno/van mreže, vreme rada itd.). Ponekad sam vidio da se isključuje nekoliko puta u toku jedne sedmice, prema statistikama, mnogo puta je to zbog isključivanja ESP-01 sa wifi-ja ili MQTT-a. No, ne brinite previše, moja skica uključuje rutinu za ponovno pokretanje ESP-01 ako i dalje ne uspije u pokušaju povezivanja na WIFI i/ili MQTT posrednika.
Slika na ovom koraku prikazuje tok NOD-RED kako bi se to postiglo. Također možete zalijepiti tok s moje github stranice na svoj Node-RED:
Googleova kućna najava samo je jedan primjer za ovaj projekt, ali mislim da je najkorisnija i najpraktičnija. Uvijek se možete povezati s drugim slušateljem MQTT -a ili čak koristiti IFTTT za pogon drugih uređaja nakon otkrivanja vode.
Zabavi se…
Preporučuje se:
TM4C123G LaunchPad početni vodič: 7 koraka
TM4C123G LaunchPad početni vodič: Kao uvod u ugrađeno programiranje, razvojne ploče poput TM4C123G lansirne ploče pružaju jednostavan način za postavljanje hardvera dovoljno za početak programiranja. Međutim, proces postavljanja razvojnog okruženja za vašu ploču može biti
Podsjetnik za vodu Držač boce za vodu: 16 koraka
Podsjetnik za vodu Držač boce za vodu: Jeste li ikada zaboravili popiti vodu? Znam da znam! Zato sam došao na ideju da napravim držač za boce za vodu koji će vas podsjetiti da pijete vodu. Nosač boce za vodu ima funkciju u kojoj će se svaki sat oglašavati buka koja vas podsjeća na
Uradi sam jeftino UV svjetlo za poplavu za lijepljenje PMMA mikrofluidnih čipova bez ljepila: 11 koraka
Uradi sam, jeftino UV reflektorsko svjetlo za lijepljenje PMMA mikrofluidnih čipova bez ljepila: Mikrofluidni uređaji proizvedeni od termoplastike sve se više koriste zbog krutosti, prozirnosti, smanjene propusnosti plina, biokompatibilnosti i lakšeg prevođenja u metode masovne proizvodnje, poput brizganja. Metode lijepljenja za
Ok Google Google Waterer/pištolj za vodu: 20 koraka
U redu, Google Plant Waterer/vodeni pištolj: Ovo je zabavan projekt koji koristi Google Home ili bilo koji telefon s Google pomoćnikom za prskanje vode po nekome ili zalijevanje nekih biljaka. Također ima mnogo potencijalnih primjena za druge namjene, kao što su svjetla, grijanje, ventilatori itd. Ako vam se ovo sviđa
Alarm za poplavu podruma iznimno male snage s ESP8266: 3 koraka
Alarm za poplavu podruma iznimno niske snage s ESP8266: Zdravo, dobrodošli u moju prvu instrukciju. Podrum moje kuće svakih nekoliko godina poplavi se iz različitih razloga, poput velikih ljetnih oluja, velikih podzemnih voda ili čak pucanja cijevi. Iako to nije lijepo mjesto, moje centralno grijanje b