Kazalo:

MQTT/Googlov senzor WIFI za domačo poplavo/vodo z ESP-01: 7 korakov
MQTT/Googlov senzor WIFI za domačo poplavo/vodo z ESP-01: 7 korakov

Video: MQTT/Googlov senzor WIFI za domačo poplavo/vodo z ESP-01: 7 korakov

Video: MQTT/Googlov senzor WIFI za domačo poplavo/vodo z ESP-01: 7 korakov
Video: Микроволновый zigbee датчик присутствия YXZBRB58 - обзор и тестирование 2024, Julij
Anonim
MQTT/Googlov senzor WIFI za dom na domu/voda z ESP-01
MQTT/Googlov senzor WIFI za dom na domu/voda z ESP-01

V tem navodilu vam bom pokazal, kako z minimalnimi stroški sestaviti senzor za poplavo/vodo wifi. Celoten projekt me stane manj kot 8 USD za dele, ki jih kupim na ebayu, in moje obstoječe nadomestne dele.

V tem projektu bomo uporabili ESP-01 za zagotavljanje odjemalca Wifi in MQTT za zaznavanje prisotnosti vode, po izbiri pa tudi neposredno priključen zvočnik/zvočni signal za lokaliziran alarm.

Moja posebna aplikacija za projekt je odkrivanje poplav/vode v vrtini črpalke v primeru okvare črpalke. Ko voda odkrije 2 odprti žici, bi poslala sporočilo posredniku MQTT. Posrednik MQTT bi nato poslal sporočilo NodeRED. Po prejemu sporočila MQTT bi NodeRED poslal obvestilo na več Googlovih domačih naprav in po želji poslal sporočilo na mobilni telefon/brskalnik prek pushbulleta

Seveda bi ta projekt deloval le, če je domača električna energija VKLJUČENA. V naslednjih navodilih bom vključil rezervno vezje baterije. Če pa napajanje naredite na enak način kot jaz, lahko preprosto priključite USB-banko za napajanje baterije. Če imate banko moči, ki omogoča polnjenje in napajanje hkrati, ste pripravljeni.

RaspberryPi ZeroW uporabljam za gostovanje strežnika Mosquitto MQTT in NodeRED. Deluje že več kot eno leto brez težav.

Reference: Raspberry Pi: https://www.switchdoc.com/2016/02/tutorial-installi… Namestite NodeRED na Raspberry Pi:

1. korak: Deli, ki jih boste potrebovali

Deli, ki jih boste potrebovali
Deli, ki jih boste potrebovali
Deli, ki jih boste potrebovali
Deli, ki jih boste potrebovali
Deli, ki jih boste potrebovali
Deli, ki jih boste potrebovali

Seznam delov:

(1) ESP-01

(2) 10K ohmski upor

(1) generični NPN tranzistor z majhnim signalom (uporabil sem 2N3904)

(2) dolge žice

(1) 5V generično napajanje (to vezje potrebuje manj kot 300 mA tok)

(1) 3.3V regulatorni modul AMS1117

(1) DIY komplet za pretvornik mikro-USB v DIP ženski konektor za pretvornik PCB

(1) Kabel USB-A do MicroUSB.

(1) 8-polna IC vtičnica-se lahko izpusti, če želite spajkati ESP-01 neposredno na vezje. Izrežite plastične mostove, ki ustvarjajo vrzel med vrsticami, nato pa 2 vrsti zlepite skupaj, glejte fotografijo.

(1) Majhen prostor za projekt

Spodaj so dodatni deli, če potrebujete lokaliziran alarm z zvočnikom/zvočnikom

(1) Splošni tranzistor PNP, izberite glede na zahteve glede zvoka/brenčalnika/moči. V mojem primeru uporabljam 2N2907, saj je moj zvočnik le 0,3 W (8 ohmov), bi zagotovil dovolj energije za pogon zvočnika. Če želite glasnejši zvok, lahko izberete večji tranzistor in zvočnik.

(1) Zvočnik, glej opombo o tranzistorju PNP zgoraj

(1) 100 - 110 ohmski upor

2. korak: Shema vezja

Shema vezja
Shema vezja

Prvi korak bi bil ustvariti vezje, prikazano na diagramu.

Napajalnik 3.3VDC sem zgradil s starim 5V polnilnikom za mobilni telefon, povezan z regulatorjem AMS1117 3.3VDC. Za vtičnico ESP-01 uporabljam 8-polno standardno IC vtičnico in izrežem plastične mostove, ki ustvarjajo vrzel med vrstami, nato pa dve vrsti zlepimo skupaj.

Vezje, ki sem ga zasnoval, je zaznati prisotnost vode med obema žicama. Ko voda doseže vrh obeh žic, bi ustvarila upornost od približno 10K do 20K ohmov. Nato zaporedno z 10K ohmom R1 zagotavlja majhen tok do osnove Q1, zaradi česar se Q1 nasiči in pritrdi GPIO-2 na tla. R1 je potreben za zaščito Q1 v primeru nenamernega kratkega stika na zaznavnih žicah.

R2 je vlečni upor, ki omogoča zagon ESP-01 iz bliskavice.

Zdaj za izbirni zvočnik/brenčalo, če potrebujete samo ESP-01 za govor MQTT in ne želite izvesti tega lokaliziranega alarmiranja, lahko odstranite R2, Q2, zvočnik in postavite 10K vlečni upor med GPIO-0 in VCC.

Če ne čutite potrebe po uporabi adapterja Micro-USB-DIP za ženske, lahko žice spajate med 5V PS in modulom regulatorja 3.3V. Raje uporabljam ženski adapter MicroUSB, tako da lahko uporabim kateri koli generični polnilec za mobilni telefon in kabel MicroUSB.

3. korak: Izdelava vezja

Gradnja vezja
Gradnja vezja
Gradnja vezja
Gradnja vezja
Gradnja vezja
Gradnja vezja

Spajajte vse komponente in dele v tiskano vezje v skladu s shemo vezja na prejšnji strani in izrežite tiskano vezje po velikosti.

PCB postavite v ohišje, ki ustreza PCB -ju in dodatnemu zvočniku. V mojem primeru bi se vsi deli prilegali majhni telefonski vtičnici, čeprav moram malo segreti pokrov, da ustvarim izboklino, da bo modul ESP-01 ustrezal.

4. korak: Utripanje ESP-01

V tem koraku bomo utripali ESP-01 s skico arduino. Če še nikoli niste bliskali z modulom ESP-01, lahko za začetek sledite mojim navodilom:

Mojo skico najdete na moji strani github:

Na skici morate vsaj spremeniti naslednje podatke, ki se nanašajo na vaše domače omrežje/nastavitev:

#define MQTT_SERVER "10.0.0.30" const char* ssid1 = "SSID"; const char* geslo1 = "MYSSID geslo"; const char* ssid2 = "SSID1"; const char* geslo2 = "geslo MYSSID";

V domačem omrežju imam dve različni dostopni točki, ki oddajata 2 različna SSID -ja, ta skica pa bi omogočila redundanco s povezavo z naslednjim SSID -om, če se izgubi komunikacija s trenutno dostopno točko. Če imate samo en SSID, napolnite ssid1 in ssid2 z isto vrednostjo.

Ko naredite spremembo, naložite skico v ESP-01 in priključite ESP-01 v vmesniško ploščo.

5. korak: Testni zagon

Če želite preveriti, ali naš projekt deluje, bi bilo najlažje spremljati sporočila MQTT v omrežju. Če želite to narediti, posredniku mosquitto odprite sejo SSH in izdajte naslednji ukaz:

mosquitto_sub -v -t '#'

Zgornji ukaz bi nam omogočil, da vidimo vsa sporočila MQTT, ki prihajajo v posrednika.

Zdaj vklopite naše vezje in če vse deluje, bi morali v nekaj sekundah videti vsaj naslednje sporočilo MQTT:

stat/SumpWaterSensor/LWT na spletu

Zdaj preizkusite senzor vode, tako da potopite 2 žici zaznavanja v skodelico vode, in prikazalo bi se to sporočilo:

tele/SumpWaterSensor WET

In če vzamete žice iz vode, bi morali videti to sporočilo:

tele/SumpWaterSensor DRY

Če vidite ta sporočila, je vaš projekt uspešen.

V skico sem vključil tudi nekaj uporabnih tem MQTT, ki jih lahko uporabite:

"stat/SumpWaterSensorInfo": to sporočilo se pošlje vsako minuto za zagotovitev neprekinjenega delovanja in drugih informacij.

"cmnd/SumpWaterSensorInfo": ESP-01 bo poslal informacije, če prejme to temo z vrednostjo '1' (ascii = 49)

"cmnd/SumpWaterSensorCPUrestart": ESP-01 se bo znova zagnal, če prejme to temo z vrednostjo '1' (ascii = 49)

"cmnd/SumpWaterSensorBeep": ESP-01 se oglasi zvočnikom, če prejme to temo z vrednostjo '1' (ascii = 49)

"cmnd/SumpWaterSensorBeepFreq": nastavi frekvenco alarma zvočnika, privzeto = 900 (Hz)

"cmnd/SumpWaterSensorDebug": Omogoči in nastavi serijsko raven odpravljanja napak (privzeto je 0 - brez odpravljanja napak)

Korak 6: Namestite senzor

Namestite senzor
Namestite senzor
Namestite senzor
Namestite senzor

V svoji vlogi želim spremljati nivo vode v črpalki zbiralnika in me obvestiti, če voda seže nad plavajoče stikalo črpalke, kar pomeni, da črpalka ne deluje. Vodil sem žice in jih z žičnimi vezmi pritrdil vzdolž odtočne cevi.

7. korak: Končni dotik

Končni dotik
Končni dotik

Zdaj, ko je projekt uspešen in lahko posreduje sporočilo MQTT posredniku, je naslednji korak, da se zamislimo, kaj storiti s tem.

V svojem projektu uporabljam Node-RED za poslušanje/naročanje na temo "tele/SumpWaterSensor" MQTT in več Googlovim domačim zvočnikom oznanim, če zazna vodo. Poleg tega sem tok povezal tudi z vozliščem pushbullet za pošiljanje obvestil na telefon Android.

Ustvaril sem tudi spletni vmesnik za prikaz stanja senzorja (vklopljen/brez povezave, čas delovanja itd.). Včasih sem videl, da v enem tednu nekajkrat izgine iz statistike, velikokrat je to posledica tega, da se ESP-01 odklopi od wifi ali MQTT. Ampak ne skrbite preveč, moja skica je vključevala rutino za ponovni zagon ESP-01, če se še naprej ne uspe povezati z WIFI in/ali posrednikom MQTT.

Slika na tem koraku prikazuje tok Node-RED, da to dosežete. Pretok z moje strani github lahko prilepite tudi v svoj Node-RED:

Googlova domača objava je le en primer tega projekta, vendar se mi zdi najbolj uporaben in praktičen. Vedno se lahko povežete z drugim poslušalcem MQTT ali celo uporabite IFTTT za pogon drugih naprav ob zaznani vodi.

Zabavaj se…

Priporočena: