Kazalo:
- 1. korak: Deli, ki jih boste potrebovali
- 2. korak: Shema vezja
- 3. korak: Izdelava vezja
- 4. korak: Utripanje ESP-01
- 5. korak: Testni zagon
- Korak 6: Namestite senzor
- 7. korak: Končni dotik
Video: MQTT/Googlov senzor WIFI za domačo poplavo/vodo z ESP-01: 7 korakov
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:04
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
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
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
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
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
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:
Raspberry Pi Alexa+Googlov pametni zvočnik: 6 korakov
Raspberry Pi Alexa+Google Smart Speaker: V tem projektu vas bom naučil, kako narediti proračunski pametni zvočnik. Stroški tega projekta naj bi stali le okoli 30 do 50 dolarjev, odvisno od materialov in dodatnih delov
Stikalo za luč WiFi za domačo avtomatizacijo z ESP-01 in relejskim modulom s pritiskom na gumb: 7 korakov
Stikalo za luč WiFi za domačo avtomatizacijo z ESP-01 in relejskim modulom s pritiskom na gumb: V prejšnjih navodilih smo programirali ESP-01 s Tasmoto s pomočjo bliskavice ESP in priključili ESP-01 na naša omrežja wifi. Zdaj ga lahko začnemo programirati za vklop/izklop stikala luči z uporabo WiFi ali potisnega gumba
Stikalo za luč WiFi za domačo avtomatizacijo z ESP-01: 8 korakov
Domača avtomatizacija WiFi stikalo za luč z ESP-01: S tem neuničljivim, vas bom popeljal skozi korake pri izdelavi prvega stikala za luč za wifi. Nato bomo naredili senzorje in sčasoma prešli na nastavitve in konfiguracije pomočnika za dom
Pošiljanje podatkov brezžičnega senzorja temperature in vlažnosti IoT za velike razdalje v Googlov list: 39 korakov
Pošiljanje podatkov brezžičnega senzorja temperature in vlažnosti IoT za velike razdalje v Googlov list: tukaj uporabljamo senzor temperature in vlažnosti NCD, vendar koraki ostajajo enaki za kateri koli izdelek ncd, zato če imate druge brezžične senzorje ncd, si oglejte poleg poleg. S prekinitvijo tega besedila morate
Googlov domači brezžični polnilni leseni nosilec za avtomobilski telefon: 7 korakov (s slikami)
Googlov brezžični polnilni leseni avtomobilski nosilec za avto: Dobrodošli! Ste kdaj želeli Googlu postaviti vprašanje med vožnjo, ne da bi odprli telefon? Pomočnik Google je odlična aplikacija s kul funkcijami, vendar zahteva, da imate odklenjen telefon in odprto aplikacijo, ali pa držite domačo tipko