Përmbajtje:

Sensori WIFI MQTT/Google Home Flood/Water Me ESP-01: 7 Hapa
Sensori WIFI MQTT/Google Home Flood/Water Me ESP-01: 7 Hapa

Video: Sensori WIFI MQTT/Google Home Flood/Water Me ESP-01: 7 Hapa

Video: Sensori WIFI MQTT/Google Home Flood/Water Me ESP-01: 7 Hapa
Video: Detect water THROUGH a material with this sensor 2024, Nëntor
Anonim
Sensori WIFI MQTT/Google Home Flood/Water Me ESP-01
Sensori WIFI MQTT/Google Home Flood/Water Me ESP-01

Në këtë udhëzues, unë do t'ju tregoj se si të ndërtoni një sensor wifi të përmbytjes/ujit me kosto minimale. I gjithë projekti më kushton më pak se 8 dollarë për pjesët që marr nga ebay dhe pjesët e mia ekzistuese të këmbimit.

Në këtë projekt, ne do të përdorim ESP-01 për të siguruar klientin Wifi dhe MQTT për të zbuluar praninë e ujit, dhe opsionalisht përdorim altoparlantin/zilen e lidhur drejtpërdrejt për të siguruar alarm të lokalizuar.

Aplikimi im specifik për projektin është zbulimi i përmbytjes/ujit brenda pompës sime, në rast të dështimit të pompës së gropës. Kur uji zbulohet nga 2 tela të hapur, ai do t'i dërgonte mesazh ndërmjetësit MQTT. Ndërmjetësi MQTT pastaj do ta transmetojë mesazhin në NodeRED. Me marrjen e mesazhit MQTT, NodeRED do të dërgonte njoftim në pajisjet e shumta të shtëpisë google dhe gjithashtu do të dërgonte opsionale mesazh në celular/shfletues përmes pushbullet

Tani sigurisht që ky projekt do të funksionojë vetëm nëse energjia elektrike në shtëpi është e ndezur. Në udhëzuesin tjetër, unë do të integroj qarkun rezervë të baterisë. Por nëse e bëni furnizimin me energji në të njëjtën mënyrë siç bëra unë, mund të lidhni vetëm një bankë të energjisë USB për rezervimin e baterisë. Nëse keni një bankë energjie që ju lejon të ngarkoni dhe furnizoni energji në të njëjtën kohë, atëherë jeni gati.

Unë përdor RaspberryPi ZeroW për të pritur serverin Mosquitto MQTT dhe NodeRED. Ka funksionuar për më shumë se një vit pa asnjë problem.

Referencat: Raspberry Pi: https://www.switchdoc.com/2016/02/tutorial-installi… Instalo NodeRED në Raspberry Pi:

Hapi 1: Pjesët që do t'ju nevojiten

Pjesë që do t'ju duhen
Pjesë që do t'ju duhen
Pjesë që do t'ju duhen
Pjesë që do t'ju duhen
Pjesë që do t'ju duhen
Pjesë që do t'ju duhen

Lista e Pjesëve:

(1) ESP-01

(2) Rezistencë 10K ohm

(1) transistor NPN i përgjithshëm i sinjalit të vogël (kam përdorur 2N3904)

(2) tela të gjatë

(1) Furnizim gjenerik 5V (ky qark kërkon më pak se 300mA rrymë)

(1) Moduli rregullator 3.3V AMS1117

(1) Përshtatës mikro-USB në DIP Konektor Femër Konvertues PCB DIY

(1) Kabllo USB-A në MicroUSB.

(1) Fole IC me 8 kunja-mund të hiqet nëse doni të lidhni ESP-01 direkt në bordin e qarkut. Pritini urat plastike që krijojnë hendekun midis rreshtave, dhe pastaj ngjitini 2 rreshtat së bashku, shihni foton.

(1) Mbulim i vogël për projektin

Më poshtë janë pjesët opsionale nëse keni nevojë për një alarm të lokalizuar duke përdorur altoparlant/zile

(1) Transistor PNP Generic, zgjidhni sipas kërkesës së altoparlantit/rrymës/fuqisë. Në rastin tim unë përdor 2N2907 pasi altoparlanti im është vetëm 0.3W (8 ohm), do të siguronte fuqi të mjaftueshme për të drejtuar altoparlantin. Ju mund të zgjidhni një transistor dhe altoparlant më të madh nëse doni tingull më të fortë.

(1) Kryetari, shihni shënimin në PNP Transistor më lart

(1) Rezistencë 100 - 110 ohm

Hapi 2: Diagrami i Qarkut

Diagrami i qarkut
Diagrami i qarkut

Hapi i parë do të ishte krijimi i qarkut të treguar në diagram.

Unë ndërtova furnizimin me energji 3.3VDC duke përdorur një karikues të vjetër 5V të celularëve të shoqëruar me rregullatorin AMS1117 3.3VDC. Për prizën ESP-01, unë përdor një prizë IC standarde me 8 kunja, dhe prerjen e urave plastike që krijojnë hendekun midis rreshtave, dhe pastaj ngjit 2 rreshtat së bashku.

Qarku që kam projektuar është të ndiejë praninë e ujit midis dy telave. Kur uji arrin majën e të dy telave, do të krijojë një rezistencë prej afërsisht 10K deri 20K Ohm. Pastaj në seri me 10K ohm R1, ai siguron një rrymë të vogël në bazën e Q1 duke bërë që Q1 të ngopet, duke shtrënguar GPIO-2 në tokë. R1 është e nevojshme për të siguruar mbrojtje për Q1 në rast se ka një aksident të shkurtër në telat e ndjesisë.

R2 është një rezistencë tërheqëse për të lejuar që ESP-01 të fillojë nga ndezja.

Tani për altoparlantin/zilen opsionale, nëse ju nevojitet vetëm ESP-01 për të folur MQTT dhe nuk doni të zbatoni këtë alarm të lokalizuar, mund të hiqni R2, Q2, Altoparlantin dhe të vendosni një rezistencë tërheqëse 10K midis GPIO-0 dhe KQV -ja

Nëse nuk ndjeni nevojën e përdorimit të përshtatësit femëror Micro-USB në DIP, mund të lidhni telat midis PS 5V në modulin rregullator 3.3V. Unë preferoj të përdor përshtatësin femëror MicroUSB kështu që mund të përdor çdo karikues gjenerik të celularëve dhe kabllo MicroUSB.

Hapi 3: Ndërtimi i qarkut

Ndërtimi i qarkut
Ndërtimi i qarkut
Ndërtimi i qarkut
Ndërtimi i qarkut
Ndërtimi i qarkut
Ndërtimi i qarkut

Ngjitni të gjithë përbërësit dhe pjesët në PCB sipas diagramit të qarkut në faqen e mëparshme dhe shkurtoni PCB në madhësi.

Vendoseni PCB -në brenda një rrethimi që i përshtatet PCB -së dhe altoparlantit opsional. Në rastin tim, të gjitha pjesët do të futeshin brenda një kutie të vogël të daljes së telefonit, megjithëse më duhet të ngroh pak kapakun për të krijuar një fryrje në mënyrë që moduli ESP-01 të përshtatet.

Hapi 4: Ndezje e ESP-01

Në këtë hap, ne do të ndezim ESP-01 me një skicë arduino. Nëse nuk e keni ndezur kurrë modulin ESP-01, mund të ndiqni udhëzimet e mia për të filluar:

Mund ta gjeni skicën time në faqen time në github:

Në skicë, të paktën duhet të ndryshoni informacionin e mëposhtëm që ka të bëjë me rrjetin/konfigurimin tuaj në shtëpi:

#define MQTT_SERVER "10.0.0.30" const char* ssid1 = "SSID"; const char* password1 = "MYSSIDpassword"; const char* ssid2 = "SSID1"; const char* password2 = "MYSSIDpassword";

Në rrjetin tim në shtëpi, kam 2 pika të ndryshme aksesi që transmetojnë 2 SSID të ndryshme, dhe kjo skicë do të lejonte tepricë duke u lidhur me SSID -in tjetër nëse komunikimi me AP -në aktuale humbet. Nëse keni vetëm një SSID, plotësoni ssid1 dhe ssid2 me të njëjtën vlerë.

Pasi të keni bërë modifikimin, ngarkoni skicën në ESP-01 dhe futeni ESP-01 në bordin e ndërfaqes.

Hapi 5: Test i ekzekutuar

Për të testuar nëse projekti ynë funksionon, më e lehtë do të ishte monitorimi i mesazheve MQTT në rrjet. Për ta bërë këtë, duhet të hapni një sesion SSH për ndërmjetësin e mushkonjave dhe të lëshoni komandën e mëposhtme:

mosquitto_sub -v -t '#'

Komanda e mësipërme do të na lejojë të shohim të gjitha mesazhet MQTT që vijnë në ndërmjetës.

Tani ndizni qarkun tonë, dhe nëse gjithçka funksionon, në pak sekonda duhet të paktën të shihni mesazhin e mëposhtëm MQTT:

stat/SumpWaterSensor/LWT Online

Tani testoni sensorin e ujit duke zhytur 2 telat ndijues në një filxhan me ujë dhe do të shihni këtë mesazh:

tele/SumpWaterSensor WET

Dhe nëse i merrni telat nga uji, duhet të shihni këtë mesazh:

tele/SumpWaterSensor DRY

Nëse i shihni ato mesazhe, projekti juaj është një sukses.

Unë gjithashtu përfshiva disa tema të dobishme MQTT në skicë që mund të përdorni:

"stat/SumpWaterSensorInfo": ky mesazh dërgohet çdo minutë për të siguruar kohën e duhur dhe informacione të tjera.

"cmnd/SumpWaterSensorInfo": ESP-01 do të dërgojë informacion nëse e merr këtë temë me vlerën '1' (ascii = 49)

"cmnd/SumpWaterSensorCPUrestart": ESP-01 do të riniset nëse e merr këtë temë me vlerën '1' (ascii = 49)

"cmnd/SumpWaterSensorBeep": ESP-01 do t'i tingëllojë altoparlantit nëse e merr këtë temë me vlerën '1' (ascii = 49)

"cmnd/SumpWaterSensorBeepFreq": Vendos frekuencën e alarmit të altoparlantit, parazgjedhje = 900 (Hz)

"cmnd/SumpWaterSensorDebug": Aktivizo dhe cakto nivelin e korrigjimit serik (parazgjedhja është 0 - pa korrigjim)

Hapi 6: Montoni sensorin

Montoni sensorin
Montoni sensorin
Montoni sensorin
Montoni sensorin

Në aplikimin tim, unë dua të monitoroj mirë nivelin e ujit brenda pompës sime, dhe të më njoftoni nëse uji arrin mbi ndërprerësin e notimit të pompës së pompës, që do të thotë se pompa ime e gropës nuk po funksionon. I drejtova telat dhe përdor lidhëse teli për ta siguruar atë përgjatë tubit të kullimit.

Hapi 7: Prekja përfundimtare

Prekja përfundimtare
Prekja përfundimtare

Tani që ne e kemi punuar projektin dhe në gjendje të publikojmë mesazhin MQTT tek ndërmjetësi, hapi tjetër është të mendojmë se çfarë të bëjmë me këtë.

Në projektin tim, unë përdor Node-RED për të dëgjuar/regjistruar temën MQTT "tele/SumpWaterSensor" dhe njoftoj disa folës të Google në shtëpi nëse zbulohet uji. Përveç kësaj, unë gjithashtu e lidhja rrjedhën me një nyje pushbullet për të dërguar njoftim në telefonin tim android.

Unë gjithashtu krijova një web front-end për të parë statusin e sensorit (on/offline, uptime, etj). Ndonjëherë pashë që del jashtë linje disa herë gjatë 1 jave, nga statistikat, shumë herë është për shkak të shkëputjes së ESP-01 nga wifi ose MQTT. Por mos u shqetësoni shumë, skica ime ka përfshirë rutinën për të rinisur ESP-01 nëse vazhdon të dështojë në përpjekjen për t'u lidhur me ndërmjetësin WIFI dhe/ose MQTT.

Imazhi në këtë hap, tregon rrjedhën Nyje-KUQ për ta arritur këtë. Ju gjithashtu mund të ngjitni rrjedhën nga faqja ime github në Nyjen tuaj-KUQ:

Njoftimi i Google në shtëpi është vetëm një shembull për këtë projekt, por mendoj se është më i dobishmi dhe praktiku. Ju gjithmonë mund të lidheni me dëgjues të tjerë MQTT, ose edhe duke përdorur IFTTT për të drejtuar pajisje të tjera pasi uji të zbulohet.

Argëtohu…

Recommended: