Obsah:

MQTT/Google Home Flood/Water WIFI Sensor with ESP-01: 7 Steps
MQTT/Google Home Flood/Water WIFI Sensor with ESP-01: 7 Steps

Video: MQTT/Google Home Flood/Water WIFI Sensor with ESP-01: 7 Steps

Video: MQTT/Google Home Flood/Water WIFI Sensor with ESP-01: 7 Steps
Video: Arduino UNO & ESP8266 and control using smartphone 2024, Júl
Anonim
MQTT/Google Home Flood/Water WIFI Sensor with ESP-01
MQTT/Google Home Flood/Water WIFI Sensor with ESP-01

V tomto návode vám ukážem, ako vytvoriť wifi snímač povodne/vody s minimálnymi nákladmi. Celý projekt ma stojí menej ako 8 dolárov za súčiastky, ktoré získavam z ebay a moje existujúce náhradné diely.

V tomto projekte použijeme ESP-01 na zabezpečenie klienta Wifi a MQTT na detekciu prítomnosti vody a voliteľne použijeme priamo pripojený reproduktor/bzučiak na poskytnutie lokalizovaného alarmu.

Mojou konkrétnou aplikáciou pre projekt je detekovať povodeň/vodu vo vnútri mojej jímky, v prípade poruchy jímky. Keď je voda detekovaná 2 otvorenými vodičmi, odošle správu maklérovi MQTT. Maklér MQTT by potom poslal správu NodeRED. Po prijatí správy MQTT by NodeRED odoslal oznámenie na viacero domácich zariadení Google a tiež voliteľne odoslal správu na mobilný telefón/prehliadač prostredníctvom služby pushbullet

Teraz by tento projekt samozrejme fungoval iba vtedy, ak je zapnutá domáca elektrina. V ďalšom pokyne integrujem záložný obvod batérie. Ak však napájací zdroj vyrábate rovnakým spôsobom ako ja, môžete jednoducho pripojiť napájaciu banku USB na zálohovanie batérie. Ak máte powerbanku, ktorá vám umožní nabíjať a dodávať energiu súčasne, máte všetko pripravené.

Na hostovanie servera Mosquitto MQTT a NodeRED používam RaspberryPi ZeroW. Funguje viac ako rok bez akýchkoľvek problémov.

Referencie: Raspberry Pi: https://www.switchdoc.com/2016/02/tutorial-installi… Nainštalujte NodeRED na Raspberry Pi:

Krok 1: Diely, ktoré budete potrebovať

Diely, ktoré budete potrebovať
Diely, ktoré budete potrebovať
Diely, ktoré budete potrebovať
Diely, ktoré budete potrebovať
Diely, ktoré budete potrebovať
Diely, ktoré budete potrebovať

Zoznam položiek:

(1) ESP-01

(2) 10K ohmový odpor

(1) generátor NPN generátora malého signálu (použil som 2N3904)

(2) dlhé drôty

(1) 5V generický napájací zdroj (tento obvod vyžaduje prúd menej ako 300mA)

(1) Modul regulátora 3,3 V AMS1117

(1) Adaptér micro-USB na DIP adaptér s vnútorným konektorom na dosku pre PCB

(1) Kábel USB-A na MicroUSB.

(1) 8-pólová zásuvka IC-možno vynechať, ak chcete spájkovať ESP-01 priamo na dosku s plošnými spojmi. Odrežte plastové mostíky, ktoré vytvárajú medzeru medzi radmi, a potom prilepte 2 rady k sebe, viď foto.

(1) Malý kryt pre projekt

Nasledujú voliteľné časti, ak potrebujete lokalizovaný alarm pomocou reproduktora/bzučiaka

(1) Generický PNP tranzistor, zvoľte podľa požiadavky reproduktora/bzučiaka/výkonu. V mojom prípade používam 2N2907, pretože môj reproduktor má iba 0,3 W (8 ohmov), poskytol by dostatok energie na pohon reproduktora. Ak chcete hlasnejší zvuk, môžete si vybrať väčší tranzistor a reproduktor.

(1) Reproduktor, pozri poznámku k tranzistoru PNP vyššie

(1) Rezistor 100 - 110 ohmov

Krok 2: Schéma zapojenia

Schéma zapojenia
Schéma zapojenia

Prvým krokom by bolo vytvorenie obvodu zobrazeného na diagrame.

Napájanie 3,3 V DC som postavil pomocou starej 5 V nabíjačky pre mobilné telefóny spojenej s regulátorom AMS1117 3,3 V DC. Pre zásuvku ESP-01 používam 8-kolíkovú štandardnú zásuvku IC a orezávam plastové mostíky, ktoré vytvárajú medzeru medzi radmi, a potom 2 rady zlepím.

Okruh, ktorý som navrhol, má snímať prítomnosť vody medzi dvoma vodičmi. Keď voda dosiahne hrot oboch drôtov, vytvorí to odpor približne 10K až 20K ohm. Potom v sérii s 10K ohm R1 poskytuje malý prúd do základne Q1, ktorý spôsobuje saturáciu Q1, čím upína GPIO-2 k zemi. R1 je potrebný na zabezpečenie ochrany Q1 v prípade náhodného skratu na snímacích vodičoch.

R2 je vyťahovací odpor, ktorý umožňuje spusteniu ESP-01 z blesku.

Teraz k voliteľnému reproduktoru/bzučiaku, ak na ovládanie MQTT potrebujete iba ESP-01 a nechcete implementovať tento lokalizovaný alarm, môžete odstrániť R2, Q2, reproduktor a medzi GPIO-0 umiestniť 10K výsuvný odpor a VCC.

Ak necítite potrebu používať adaptér Micro-USB na DIP, môžete spájkovať vodiče medzi 5V PS a 3,3V modulom regulátora. Dávam prednosť použitiu adaptéra MicroUSB pre ženy, aby som mohol použiť akúkoľvek generickú nabíjačku mobilných telefónov a kábel MicroUSB.

Krok 3: Budovanie obvodu

Budovanie okruhu
Budovanie okruhu
Budovanie okruhu
Budovanie okruhu
Budovanie okruhu
Budovanie okruhu

Spájkujte všetky súčiastky a diely na dosku plošných spojov podľa schémy zapojenia na predchádzajúcej strane a rozrežte dosku plošných spojov.

Dosku plošných spojov umiestnite do skrinky, do ktorej sa zmestí doska s plošnými spojmi a voliteľný reproduktor. V mojom prípade by sa všetky diely zmestili do malého výstupného boxu telefónu, aj keď musím trochu zahriať kryt, aby sa vytvorila vydutina, aby sa modul ESP-01 zmestil.

Krok 4: Blikanie ESP-01

V tomto kroku budeme ESP-01 blikať pomocou arduino skice. Ak ste nikdy nepoužili modul ESP-01, môžete začať podľa môjho návodu:

Môj náčrt nájdete na mojej stránke github:

V náčrte musíte minimálne zmeniť nasledujúce informácie týkajúce sa vašej domácej siete/nastavenia:

#define MQTT_SERVER "10.0.0.30" const char* ssid1 = "SSID"; const char* heslo1 = "MYSSIDpassword"; const char* ssid2 = "SSID1"; const char* heslo2 = "MYSSIDpassword";

V mojej domácej sieti mám 2 rôzne prístupové body, ktoré vysielajú 2 rôzne SSID, a tento náčrt by umožnil redundanciu pripojením k ďalšiemu SSID v prípade straty komunikácie s aktuálnym prístupovým bodom. Ak máte iba jeden SSID, vyplňte ssid1 aj ssid2 rovnakou hodnotou.

Akonáhle vykonáte úpravu, nahrajte skicu do ESP-01 a zapojte ESP-01 do dosky rozhrania.

Krok 5: Testovací beh

Na otestovanie, či náš projekt funguje, by bolo najľahšie monitorovať správy MQTT v sieti. Ak to chcete urobiť, musíte otvoriť reláciu SSH maklérovi komárov a zadať nasledujúci príkaz:

mosquitto_sub -v -t '#'

Vyššie uvedený príkaz by nám umožnil vidieť všetky správy MQTT prichádzajúce do makléra.

Teraz zapnite náš obvod a ak všetko funguje, v priebehu niekoľkých sekúnd by ste mali vidieť aspoň nasledujúcu správu MQTT:

stat/SumpWaterSensor/LWT online

Teraz vyskúšajte snímač vody ponorením dvoch snímacích drôtov do šálky vody a mala by sa vám zobraziť táto správa:

tele/SumpWaterSensor MOKRÝ

A ak vytiahnete drôty z vody, mala by sa vám zobraziť táto správa:

tele/SumpWaterSensor SUCHÝ

Ak vidíte tieto správy, váš projekt je úspešný.

Do náčrtu som zahrnul aj niekoľko užitočných tém MQTT, ktoré môžete použiť:

"stat/SumpWaterSensorInfo": táto správa sa odosiela každú minútu, aby poskytla dobu prevádzky a ďalšie informácie.

"cmnd/SumpWaterSensorInfo": ESP-01 pošle informácie, ak prijme túto tému, s hodnotou '1' (ascii = 49)

"cmnd/SumpWaterSensorCPUrestart": ESP-01 sa reštartuje, ak prijme túto tému s hodnotou '1' (ascii = 49)

"cmnd/SumpWaterSensorBeep": ESP-01 zaznie ako reproduktor, ak prijme túto tému s hodnotou '1' (ascii = 49)

"cmnd/SumpWaterSensorBeepFreq": Nastavuje frekvenciu alarmu reproduktora, predvolené = 900 (Hz)

"cmnd/SumpWaterSensorDebug": Povoliť a nastaviť úroveň sériového ladenia (predvolená hodnota je 0 - žiadne ladenie)

Krok 6: Namontujte snímač

Namontujte snímač
Namontujte snímač
Namontujte snímač
Namontujte snímač

V mojej aplikácii chcem dobre monitorovať hladinu vody vo svojom čerpadle a upozorniť ma, ak voda dosiahne nad plavákový spínač čerpadla, čo znamená, že moje čerpadlo nefunguje. Previedol som drôty a pomocou drôtených úchytiek som to zaistil pozdĺž odtokového potrubia.

Krok 7: Posledný dotyk

Posledný dotyk
Posledný dotyk

Teraz, keď máme projekt funkčný a môžeme publikovať správu MQTT maklérovi, ďalším krokom je premyslieť si, čo s tým urobiť.

V mojom projekte používam Node-RED na počúvanie/prihlásenie sa na tému MQTT „tele/SumpWaterSensor“a v prípade zistenia vody upozorním niekoľko domácich reproduktorov Google. Okrem toho som tiež prepojil tok s uzlom pushbullet a odoslal upozornenie na svoj telefón s Androidom.

Tiež som vytvoril webové rozhranie, aby som videl stav senzora (zapnutý/offline, doba prevádzky atď.). Niekedy som videl, že sa to v priebehu 1 týždňa niekoľkokrát prepne do režimu offline, zo štatistík, mnohokrát je to kvôli odpojeniu ESP-01 od siete Wi-Fi alebo MQTT. Ale nie je dôvod sa znepokojovať, moja skica obsahovala rutinu reštartu ESP-01, ak sa stále nedarí pokúšať sa pripojiť k brokerovi WIFI a/alebo MQTT.

Obrázok v tomto kroku ukazuje tok Node-RED na dosiahnutie tohto cieľa. Tok z mojej stránky github môžete tiež prilepiť do svojho uzla-ČERVENÉ:

Domáce oznámenie Google je len jedným príkladom tohto projektu, ale myslím si, že je to najužitočnejšie a najpraktickejšie. Vždy, keď je zistená voda, môžete sa kedykoľvek prepojiť s iným poslucháčom MQTT alebo dokonca použiť IFTTT na pohon iných zariadení.

Zabavte sa…

Odporúča: