Sadržaj:

MQTT/Google kućni senzor za poplavu/vodu WIFI senzor s ESP-01: 7 koraka
MQTT/Google kućni senzor za poplavu/vodu WIFI senzor s ESP-01: 7 koraka

Video: MQTT/Google kućni senzor za poplavu/vodu WIFI senzor s ESP-01: 7 koraka

Video: MQTT/Google kućni senzor za poplavu/vodu WIFI senzor s ESP-01: 7 koraka
Video: Микроволновый zigbee датчик присутствия YXZBRB58 - обзор и тестирование 2024, Srpanj
Anonim
MQTT/Google kućni senzor za poplavu/vodu WIFI senzor s ESP-01
MQTT/Google kućni senzor za poplavu/vodu WIFI senzor s ESP-01

U ovom uputstvu pokazat ću vam kako izgraditi WiFi senzor za poplavu/vodu 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 ćemo projektu koristiti ESP-01 za pružanje Wifi i MQTT klijenta za otkrivanje prisutnosti vode, a opcionalno ćemo koristiti izravno spojeni zvučnik/zujalicu za pružanje lokaliziranog alarma.

Moja specifična prijava za projekt je otkrivanje poplave/vode unutar bunara pumpe u jamu, u slučaju kvara pumpe u koritu. Kad dvije vode otkriju vodu, poslale bi poruku MQTT posredniku. 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 opcijski 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 rezervni krug baterije. Ali ako napajanje napravite na isti način na koji sam ja učinio, 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 poslužitelja 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

Dijelovi koji će vam trebati
Dijelovi koji će vam trebati
Dijelovi koji će vam trebati
Dijelovi koji će vam trebati
Dijelovi koji će vam trebati
Dijelovi koji će vam trebati

Popis dijelova:

(1) ESP-01

(2) 10K ohmski otpornik

(1) generički NPN tranzistor s malim signalom (koristio sam 2N3904)

(2) duge žice

(1) Općenito napajanje od 5 V (ovaj krug zahtijeva struju manju od 300 mA)

(1) 3.3V regulatorni modul AMS1117

(1) Komplet "Uradi sam" mikro-USB na DIP adapter ženski priključak PCB pretvarač

(1) Kabel USB-A na MicroUSB.

(1) 8-polna IC utičnica-može se izostaviti ako želite lemiti ESP-01 izravno na pločicu. Izrežite plastične mostove koji stvaraju razmak između redova, a zatim zalijepite dva reda zajedno, pogledajte fotografiju.

(1) Mali ograđeni prostor za projekt

Dolje se nalaze dodatni dijelovi ako vam je potreban lokalizirani alarm pomoću zvučnika/zujalice

(1) Generički 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 od 100 - 110 ohma

Korak 2: Dijagram kruga

Kružni dijagram
Kružni dijagram

Prvi korak bio bi stvaranje kruga prikazanog na dijagramu.

Napravio sam napajanje od 3.3VDC pomoću starog punjača za 5V mobitela zajedno s 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.

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 s 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 osjetnim žicama.

R2 je pull-up otpornik koji omogućuje pokretanje ESP-01 iz bljeskalice.

Sada za opcijski zvučnik/zujalicu, ako vam je samo potreban ESP-01 za govor MQTT-a i 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-DIP adaptera, možete lemiti žice između 5V PS na 3.3V regulator modulu. Više volim koristiti ženski MicroUSB adapter pa mogu koristiti bilo koji generički punjač za mobitel i MicroUSB kabel.

Korak 3: Izgradnja kruga

Izgradnja kruga
Izgradnja kruga
Izgradnja kruga
Izgradnja kruga
Izgradnja kruga
Izgradnja kruga

Lemite sve komponente i dijelove u tiskanu ploču prema shemi kola na prethodnoj stranici i izrežite tiskanu ploču na veličinu.

Postavite PCB u kućište koje odgovara PCB -u i opcijskom zvučniku. U mom slučaju svi bi dijelovi stali u malu telefonsku utičnicu, iako moram malo zagrijati poklopac kako bih stvorio izbočinu kako bi ESP-01 modul stao.

Korak 4: Bljeskanje ESP-01

U ovom koraku blicat ćemo ESP-01 sa arduino skicom. Ako nikada niste bljeskali ESP-01 modul, možete slijediti moje upute za početak:

Moju skicu možete pronaći na mojoj stranici na githubu:

Na skici morate najmanje 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* lozinka1 = "MYSSID lozinka"; const char* ssid2 = "SSID1"; const char* lozinka2 = "MYSSID lozinka";

U mojoj kućnoj mreži imam 2 različite pristupne točke koje emitiraju 2 različita SSID -a, a ova skica bi omogućila redundanciju povezivanjem na sljedeći SSID ako se izgubi komunikacija s trenutnom pristupnom točkom. Ako imate samo jedan SSID, popunite ssid1 i ssid2 istom vrijednošću.

Nakon što ste izvršili izmjene, prenesite skicu u ESP-01 i priključite ESP-01 u ploču sučelja.

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:

komarac_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 radi, u 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 SUHO

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 se poruka š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, zadano = 900 (Hz)

"cmnd/SumpWaterSensorDebug": Omogućivanje i postavljanje serijske razine otklanjanja pogrešaka (zadano je 0 - bez otklanjanja pogrešaka)

Korak 6: Montirajte senzor

Montirajte senzor
Montirajte senzor
Montirajte senzor
Montirajte senzor

U svojoj prijavi želim dobro nadzirati razinu vode unutar pumpe u koritu i obavijestiti me ako voda dosegne iznad prekidača pumpe u koritu, što znači da mi crpka u koritu ne radi. Provukao sam žice i pričvrstio ih žičanim vezicama duž odvodne cijevi.

Korak 7: Završni dodir

Završni dodir
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đer sam izradio web-prednji dio za prikaz statusa senzora (uključeno/offline, vrijeme rada itd.). Ponekad sam vidio da se isključuje nekoliko puta u toku jednog tjedna, prema statistikama, mnogo puta je to zbog isključivanja ESP-01 s WiFi-a 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čeni: