Innholdsfortegnelse:
- Trinn 1: Deler du trenger
- Trinn 2: Kretsdiagram
- Trinn 3: Bygg kretsen
- Trinn 4: Blinker ESP-01
- Trinn 5: Testkjøring
- Trinn 6: Monter sensoren
- Trinn 7: Final Touch
Video: MQTT/Google Home Flood/Water WIFI-sensor med ESP-01: 7 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:22
I denne instruksen vil jeg vise deg hvordan du bygger wifi flom-/vannsensor med minimale kostnader. Hele prosjektet koster meg mindre enn $ 8 for deler som jeg kjøper fra ebay og mine eksisterende reservedeler.
I dette prosjektet vil vi bruke ESP-01 til å tilby Wifi og MQTT-klient for å oppdage tilstedeværelse av vann, og eventuelt bruke direkte tilkoblet høyttaler/summer for å gi lokal alarm.
Min spesifikke søknad for prosjektet er å oppdage flom/vann inne i sumppumpebrønnen, i tilfelle sumppumpefeil. Når vann oppdages av to åpne ledninger, vil det sende melding til MQTT -megler. MQTT -megler vil deretter videresende meldingen til NodeRED. Ved mottak av MQTT -melding ville NodeRED sende kunngjøring til flere Google Home -enheter og eventuelt sende melding til mobiltelefon/nettleser via pushbullet
Nå ville selvfølgelig dette prosjektet bare fungere hvis strømmen i hjemmet er PÅ. I den neste instruksen vil jeg integrere batteribackupkretsen. Men hvis du lager strømforsyningen på samme måte som jeg gjorde, kan du bare koble til en USB-strømbank for batteribackup. Hvis du har en powerbank som lar deg lade og levere strøm samtidig, er du klar.
Jeg bruker RaspberryPi ZeroW til å være vert for Mosquitto MQTT -server og NodeRED. Det har kjørt i over et år uten problemer.
Referanser: Raspberry Pi: https://www.switchdoc.com/2016/02/tutorial-installi…Install NodeRED på Raspberry Pi:
Trinn 1: Deler du trenger
Deleliste:
(1) ESP-01
(2) 10K ohm motstand
(1) generisk NPN -transistor med lite signal (jeg brukte 2N3904)
(2) lange ledninger
(1) 5V generisk strømforsyning (denne kretsen krever mindre enn 300mA strøm)
(1) 3.3V regulatormodul AMS1117
(1) Micro-USB til DIP-adapter hunnkontakt PCB-omformer DIY-sett
(1) USB-A til MicroUSB-kabel.
(1) 8-pinners IC-kontakt-kan utelates hvis du vil lodde ESP-01 direkte til kretskortet. Klipp plastbroene som skaper gapet mellom radene, og lim deretter de 2 radene sammen, se bildet.
(1) Lite kabinett for prosjektet
Nedenfor er valgfrie deler hvis du trenger en lokal alarm ved hjelp av høyttaler/summer
(1) Generisk PNP -transistor, velg i henhold til krav til høyttaler/summer strøm/watt. I mitt tilfelle bruker jeg 2N2907 siden høyttaleren min bare er 0,3 W (8 ohm), ville den gi nok strøm til å drive høyttaleren. Du kan velge en større transistor og høyttaler hvis du vil ha sterkere lyd.
(1) Høyttaler, se merknad om PNP -transistor ovenfor
(1) 100 - 110 ohm Motstand
Trinn 2: Kretsdiagram
Det første trinnet vil være å lage kretsen vist i diagrammet.
Jeg bygde 3.3VDC strømforsyningen ved hjelp av en gammel 5V mobiltelefonlader kombinert med AMS1117 3.3VDC regulator. For ESP-01-kontakten bruker jeg en 8-pinners standard IC-kontakt, og kutter plastbroene som skaper gapet mellom radene, og limer deretter de 2 radene sammen.
Kretsen jeg designet er å kjenne tilstedeværelsen av vann mellom de to ledningene. Når vann når tuppen av begge ledningene, vil det skape en motstand på omtrent 10K til 20K ohm. Deretter i serie med 10K ohm R1, gir den en liten strøm til bunnen av Q1 som får Q1 til å mette, og klemmer GPIO-2 til bakken. R1 er nødvendig for å gi Q1 beskyttelse i tilfelle det oppstår en utilsiktet kortslutning på sansetrådene.
R2 er en opptrekksmotstand som lar ESP-01 starte opp fra blits.
Nå for den valgfrie høyttaleren/summeren, hvis du bare trenger ESP-01 for å snakke MQTT og ikke vil implementere denne lokaliserte alarmen, kan du fjerne R2, Q2, høyttaler og plassere en 10K pull-up-motstand mellom GPIO-0 og VCC.
Hvis du ikke føler behov for å bruke den kvinnelige Micro-USB til DIP-adapteren, kan du lodde ledninger mellom 5V PS og 3.3V regulatormodulen. Jeg foretrekker å bruke den kvinnelige MicroUSB -adapteren, slik at jeg kan bruke hvilken som helst generisk mobiltelefonlader og MicroUSB -kabel.
Trinn 3: Bygg kretsen
Lodd alle komponenter og deler til PCB i henhold til kretsdiagrammet på forrige side, og kutt PCB i størrelse.
Plasser kretskortet i et kabinett som passer til kretskortet og høyttaleren (tilleggsutstyr). I mitt tilfelle ville alle delene passe inn i en liten telefonuttak, selv om jeg må varme opp dekselet litt for å lage en bule slik at ESP-01-modulen passer.
Trinn 4: Blinker ESP-01
I dette trinnet vil vi blinke ESP-01 med arduino-skisse. Hvis du aldri har blinket ESP-01-modulen, kan du følge instruksjonene mine for å komme i gang:
Du finner skissen min på github-siden min:
På skissen må du minst endre følgende informasjon om hjemmenettverket/oppsettet ditt:
#define MQTT_SERVER "10.0.0.30" const char* ssid1 = "SSID"; const char* password1 = "MYSSIDpassword"; const char* ssid2 = "SSID1"; const char* password2 = "MYSSIDpassword";
I hjemmenettverket mitt har jeg 2 forskjellige tilgangspunkt som sender 2 forskjellige SSID -er, og denne skissen ville tillate redundans ved å koble til neste SSID hvis kommunikasjonen til den nåværende AP -en går tapt. Hvis du bare har én SSID, fyller du ut både ssid1 og ssid2 med samme verdi.
Når du har gjort endringen, laster du opp skissen til ESP-01, og plugger inn ESP-01 i grensesnittkortet.
Trinn 5: Testkjøring
For å teste om prosjektet vårt fungerer, er det enkleste å overvåke MQTT -meldinger i nettverket. For å gjøre det, må du åpne en SSH -økt for myggmegleren og utstede følgende kommando:
mygg_sub -v -t '#'
Kommandoen ovenfor vil tillate oss å se alle MQTT -meldinger som kommer inn i megleren.
Slå nå på kretsen vår, og hvis alt fungerer, bør du i det minste se følgende MQTT -melding om noen få sekunder:
stat/SumpWaterSensor/LWT Online
Test nå vannsensoren ved å dyppe de to sansetrådene i en kopp vann, og du bør se denne meldingen:
tele/SumpWaterSensor WET
Og hvis du tar ledningene opp av vannet, bør du se denne meldingen:
tele/SumpWaterSensor DRY
Hvis du ser disse meldingene, er prosjektet ditt en suksess.
Jeg inkluderte også flere nyttige MQTT -emner i skissen som du kan bruke:
"stat/SumpWaterSensorInfo": denne meldingen sendes hvert minutt for å gi oppetid og annen informasjon.
"cmnd/SumpWaterSensorInfo": ESP-01 sender ut informasjon hvis den mottar dette emnet med verdien '1' (ascii = 49)
"cmnd/SumpWaterSensorCPUrestart": ESP-01 starter på nytt hvis den mottar dette emnet med verdien '1' (ascii = 49)
"cmnd/SumpWaterSensorBeep": ESP-01 vil gi høyttaleren lyd hvis den mottar dette emnet med verdien '1' (ascii = 49)
"cmnd/SumpWaterSensorBeepFreq": Angir frekvensen for høyttaleralarmen, standard = 900 (Hz)
"cmnd/SumpWaterSensorDebug": Aktiver og angi serielt feilsøkingsnivå (standard er 0 - ingen feilsøking)
Trinn 6: Monter sensoren
I søknaden min ønsker jeg å overvåke vannivået inne i sumppumpen godt, og varsle meg hvis vann når over sumpumpens flytebryter, noe som betyr at sump -pumpen min ikke fungerer. Jeg kjørte ledningene og bruker stålbånd for å feste det langs avløpsrøret.
Trinn 7: Final Touch
Nå som vi har fått prosjektet til å fungere og kan publisere MQTT -melding til megler, er neste trinn å tenke på hva vi skal gjøre med det.
I prosjektet mitt bruker jeg Node-RED til å lytte/abonnere på "tele/SumpWaterSensor" MQTT-emnet og kunngjøre for flere Google-høyttalere hvis det oppdages vann. I tillegg til det, koblet jeg også strømmen til en pushbullet -node for å sende varsel til min Android -telefon.
Jeg opprettet også en web-front-end for å se sensorens status (på/frakoblet, oppetid osv.). Noen ganger så jeg at den går frakoblet noen ganger i løpet av 1 uke, fra statistikken, mange ganger skyldes det at ESP-01 ble koblet fra wifi eller MQTT. Men ikke så bekymret, skissen min har inkludert rutine for å starte ESP-01 på nytt hvis den ikke fortsetter å prøve å koble til WIFI og/eller MQTT-megler.
Bildet på dette trinnet viser Node-RED-strømmen for å oppnå dette. Du kan også lime inn strømmen fra github-siden min i Node-RED:
Googles hjemmemeddelelse er bare ett eksempel på dette prosjektet, men jeg tror det er det mest nyttige og praktiske. Du kan alltid koble til en annen MQTT -lytter, eller til og med bruke IFTTT til å kjøre andre enheter når det oppdages vann.
Ha det gøy…
Anbefalt:
Wifi Smart Switch ESP8266 Fungerer med Alexa og Google Home Automation: 7 trinn
Wifi Smart Switch ESP8266 Fungerer med Alexa og Google Home Automation: I globaliseringens verden ønsker alle den nyeste og smarte teknologien. WiFi Smart Switch, som gjør livet ditt mer intelligent og praktisk
ESP 32 Camera Streaming Video Over WiFi - Komme i gang med ESP 32 CAM Board: 8 trinn
ESP 32 Camera Streaming Video Over WiFi | Komme i gang med ESP 32 CAM Board: ESP32-CAM er en veldig liten kameramodul med ESP32-S-brikken som koster omtrent $ 10. I tillegg til OV2640 -kameraet og flere GPIO -er for å koble til eksterne enheter, har det også et microSD -kortspor som kan være nyttig for å lagre bilder tatt med t
Komme i gang med Esp 8266 Esp-01 Med Arduino IDE - Installere Esp -kort i Arduino Ide og Programmering Esp: 4 trinn
Komme i gang med Esp 8266 Esp-01 Med Arduino IDE | Installere Esp Boards i Arduino Ide og Programmering Esp: I denne instruksjonene skal vi lære hvordan du installerer esp8266 boards i Arduino IDE og hvordan du programmerer esp-01 og laster opp kode i den. Siden esp boards er så populære, så jeg tenkte på å rette opp en instruks for dette og de fleste mennesker står overfor problemer
Sonoff B1 Firmware Home Automation Openhab Google Home: 3 trinn
Sonoff B1 Firmware Home Automation Openhab Google Home: Jeg liker Tasmota -fastvaren for Sonoff -switchene mine. Men a var egentlig ikke fornøyd med Tasmota-fastvaren på min Sonoff-B1. Jeg lyktes ikke fullt ut med å integrere det i Openhab og kontrollere det via Google Home. Derfor skrev jeg mitt eget firma
MQTT/Google Home DoorBell Bruke ESP-01: 6 trinn
MQTT/Google Home DoorBell Bruke ESP-01: Har du noen gang savnet å svare på en gjest som ringte på døren din bare fordi du er i en del av huset som er for langt til å høre på dørklokken? som kjeller, soverom med lukket dør, eller kanskje du så på TV eller lyttet til musikk. Hvis