Sisukord:

MQTT/Google Home Flood/Water WIFI sensor koos ESP-01: 7 sammuga
MQTT/Google Home Flood/Water WIFI sensor koos ESP-01: 7 sammuga

Video: MQTT/Google Home Flood/Water WIFI sensor koos ESP-01: 7 sammuga

Video: MQTT/Google Home Flood/Water WIFI sensor koos ESP-01: 7 sammuga
Video: Zigbee leak detector with wired sensor, use for DIY projects 2024, Juuli
Anonim
MQTT/Google Home Flood/Water WIFI sensor koos ESP-01-ga
MQTT/Google Home Flood/Water WIFI sensor koos ESP-01-ga

Selles juhendis näitan teile, kuidas ehitada wifi üleujutus-/veeandur minimaalsete kuludega. Kogu projekt maksab mulle ebayst ostetud osade ja olemasolevate varuosade eest vähem kui 8 dollarit.

Selles projektis kasutame ESP-01, et pakkuda Wifi ja MQTT klienti vee olemasolu tuvastamiseks, ja valikuliselt kasutada otse ühendatud kõlarit/suminat, et anda lokaalne häire.

Minu konkreetne rakendus projektis on kogumispumba rikke korral avastada üleujutus/vesi minu kraanipumba kaevus. Kui vesi avastatakse kahe avatud juhtme abil, saadab see sõnumi MQTT maaklerile. Seejärel edastab MQTT maakler sõnumi NodeREDile. MQTT -sõnumi saamisel saadaks NodeRED teadaande mitmetele Google'i koduseadmetele ja lisaks soovi korral sõnumi mobiiltelefonile/brauserile pushbulleti kaudu

Loomulikult töötab see projekt ainult siis, kui kodune elekter on sisse lülitatud. Järgmises juhendis integreerin aku varuahela. Aga kui teete toiteallika samamoodi nagu mina, saate aku varundamiseks lihtsalt ühendada USB-toitepanga. Kui teil on toitepank, mis võimaldab teil samaaegselt laadida ja toita, siis olete valmis.

Mosquitto MQTT serveri ja NodeREDi hostimiseks kasutan RaspberryPi ZeroW. See on töötanud üle aasta ilma probleemideta.

Viited: Raspberry Pi: https://www.switchdoc.com/2016/02/tutorial-installi… Installige NodeRED Raspberry Pi-le:

Samm: osad, mida vajate

Osad, mida vajate
Osad, mida vajate
Osad, mida vajate
Osad, mida vajate
Osad, mida vajate
Osad, mida vajate

Osade nimekiri:

(1) ESP-01

(2) 10K oomi takisti

(1) väikese signaaliga üldine NPN -transistor (ma kasutasin 2N3904)

(2) pikad juhtmed

(1) 5 V üldine toiteallikas (see vooluahel nõuab vähem kui 300 mA voolu)

(1) 3.3V regulaatorimoodul AMS1117

(1) Mikro-USB-DIP-adapteri emase pistiku PCB-muunduri DIY-komplekt

(1) USB-A-MicroUSB kaabel.

(1) 8-kontaktiline IC-pistikupesa-võib välja jätta, kui soovite ESP-01 otse trükkplaadile joota. Lõigake plastist sillad, mis loovad ridade vahele lõhe, ja seejärel liimige 2 rida kokku, vt foto.

(1) Väike ümbris projekti jaoks

Allpool on valikulised osad, kui vajate kõlarit/helisignaali kasutades lokaliseeritud häiret

(1) Üldine PNP -transistor, valige vastavalt kõlari/summeri voolu/võimsuse nõudele. Minu puhul kasutan 2N2907, kuna minu kõlar on ainult 0,3 W (8 oomi), annaks see kõlari juhtimiseks piisavalt energiat. Kui soovite tugevamat heli, võite valida suurema transistori ja kõlari.

(1) Kõlar, vt ülaltoodud märkust PNP -transistori kohta

(1) 100 - 110 oomi takisti

2. samm: vooluahela skeem

Lülitusskeem
Lülitusskeem

Esimene samm oleks skeemil näidatud vooluahela loomine.

Ehitasin 3,3 V alalisvoolu toiteallika, kasutades vana 5 V mobiililaadijat koos AMS1117 3,3 V alalisvoolu regulaatoriga. Pistikupesa ESP-01 puhul kasutan 8-kontaktilist standardset IC-pistikupesa ja lõikan ridade vahele lõhe tekitavad plastist sillad ning seejärel liimin 2 rida kokku.

Minu kavandatud vooluahel on tajuda vee olemasolu kahe juhtme vahel. Kui vesi jõuab mõlema juhtme otsa, tekitaks see takistuse ligikaudu 10K kuni 20K oomi. Seejärel annab see järjestikku 10K oomi R1-ga Q1 alusele väikese voolu, mis põhjustab Q1 küllastumise, kinnitades GPIO-2 maapinnale. R1 on vajalik Q1 kaitseks juhuks, kui andurijuhtmetes tekib juhuslik lühis.

R2 on tõmbetakistus, mis võimaldab ESP-01 välklambist käivitada.

Nüüd valikulise kõlari/helisignaali puhul, kui vajate lihtsalt MQTT kõnelemiseks ESP-01 ja te ei soovi seda lokaliseeritud häiret rakendada, saate eemaldada R2, Q2, kõlari ja asetada 10K tõmbetakisti GPIO-0 vahele ja VCC.

Kui te ei tunne vajadust kasutada naissoost Micro-USB-DIP-adapterit, võite jootma juhtmed 5 V PS ja 3,3 V regulaatorimooduli vahel. Ma eelistan kasutada naissoost MicroUSB -adapterit, et saaksin kasutada mis tahes üldist mobiiltelefoni laadijat ja MicroUSB -kaablit.

Samm: vooluringi ehitamine

Ringraja ehitamine
Ringraja ehitamine
Ringraja ehitamine
Ringraja ehitamine
Ringraja ehitamine
Ringraja ehitamine

Jootke kõik komponendid ja osad trükkplaadile vastavalt eelmise lehekülje skeemile ja lõigake trükkplaat soovitud suuruseks.

Asetage trükkplaat korpusesse, mis sobiks trükkplaadile ja valikulisele kõlarile. Minu puhul mahuksid kõik osad telefoni väikese pistikupesa sisse, ehkki ma pean kaant veidi üles soojendama, et tekitada punn, nii et ESP-01 moodul sobiks.

Samm 4: ESP-01 vilkumine

Selles etapis vilgutame ESP-01 arduino visandiga. Kui te pole ESP-01 moodulit kunagi vilgutanud, võite alustamiseks järgida minu juhiseid:

Minu visandi leiate minu githubi lehelt:

Visandis peate vähemalt muutma järgmist koduvõrgu/seadistusega seotud teavet:

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

Minu koduvõrgus on mul 2 erinevat pääsupunkti, mis edastavad 2 erinevat SSID -d, ja see visand võimaldaks koondamist, ühendades järgmise SSID -ga, kui side praeguse AP -ga katkeb. Kui teil on ainult üks SSID, täitke ssid1 ja ssid2 sama väärtusega.

Kui olete muudatuse teinud, laadige eskiis üles ESP-01-sse ja ühendage ESP-01 liideseplaadiga.

Samm: testkäivitus

Meie projekti toimimise kontrollimiseks oleks kõige lihtsam jälgida võrgus MQTT -sõnumeid. Selleks peate avama sääsemaaklerile SSH -seansi ja andma järgmise käsu:

mosquitto_sub -v -t '#'

Ülaltoodud käsk võimaldab meil näha kõiki vahendajale saabuvaid MQTT -sõnumeid.

Nüüd lülitage meie ahel sisse ja kui kõik töötab, peaksite mõne sekundi jooksul nägema vähemalt järgmist MQTT -teadet:

stat/SumpWaterSensor/LWT Online

Katsetage nüüd veeandurit, kastes kaks anduritraadi tassi vette ja peaksite nägema seda teadet:

tele/SumpWaterSensor WET

Ja kui võtate juhtmed veest välja, peaksite nägema seda teadet:

tele/SumpWaterSensor DRY

Kui näete neid sõnumeid, on teie projekt edukas.

Lisasin visandisse ka mitu kasulikku MQTT teemat, mida saate kasutada:

"stat/SumpWaterSensorInfo": see teade saadetakse iga minuti tagant, et pakkuda tööaega ja muud teavet.

"cmnd/SumpWaterSensorInfo": ESP-01 saadab teabe välja, kui saab selle teema väärtusega "1" (ascii = 49)

"cmnd/SumpWaterSensorCPUrestart": ESP-01 taaskäivitub, kui saab selle teema väärtusega "1" (ascii = 49)

"cmnd/SumpWaterSensorBeep": ESP-01 annab kõlarile heli, kui see saab selle teema väärtusega "1" (ascii = 49)

"cmnd/SumpWaterSensorBeepFreq": määrab kõlarite alarmi sageduse, vaikimisi = 900 (Hz)

"cmnd/SumpWaterSensorDebug": lubab ja määrab seeria silumise taseme (vaikimisi on 0 - silumine puudub)

Samm: paigaldage andur

Paigaldage andur
Paigaldage andur
Paigaldage andur
Paigaldage andur

Tahan oma rakenduses jälgida oma veepumba kaevu sees olevat veetaset ja teavitada mind, kui vesi jõuab kraanipumba ujuklüliti kohale, mis tähendab, et minu kogumispump ei tööta. Ma juhtisin juhtmeid ja kasutasin traadisidemeid selle kinnitamiseks mööda äravoolutoru.

Samm: viimane puudutus

Viimane puudutus
Viimane puudutus

Nüüd, kui oleme saanud projekti toimima ja võime avaldada MQTT -sõnumi maaklerile, on järgmine samm mõelda, mida sellega teha.

Oma projektis kasutan Node-RED-i, et kuulata/tellida "tele/SumpWaterSensor" MQTT teemat ja teatada mitmele Google'i kodukõlarile, kui vett avastatakse. Lisaks sellele sidusin voo ka tõukejõu sõlmega, et saata märguanne oma Android -telefonile.

Samuti lõin veebi kasutajaliidese, et näha anduri olekut (sisse/välja, tööaeg jne). Mõnikord nägin, et see läheb 1 nädala jooksul paar korda võrguühenduseta, statistika põhjal, sageli on see tingitud sellest, et ESP-01 on wifi või MQTT-st lahti ühendatud. Kuid ärge liiga muretsege, minu visand sisaldab rutiini ESP-01 taaskäivitamiseks, kui see jätkuvalt ebaõnnestub WIFI ja/või MQTT maakleriga ühenduse loomisel.

Selle sammu pilt näitab selle saavutamiseks sõlme-punast voogu. Samuti saate minu githubi lehelt voo oma Node-RED-i kleepida:

Google'i kodu teadaanne on selle projekti jaoks vaid üks näide, kuid minu arvates on see kõige kasulikum ja praktilisem. Saate alati liituda teise MQTT kuulajaga või isegi kasutada IFTTT -d teiste seadmete juhtimiseks vee tuvastamisel.

Lõbutse hästi…

Soovitan: