INHOUDSOPGAWE:

MQTT/Google Home Flood/Water WIFI-sensor met ESP-01: 7 stappe
MQTT/Google Home Flood/Water WIFI-sensor met ESP-01: 7 stappe

Video: MQTT/Google Home Flood/Water WIFI-sensor met ESP-01: 7 stappe

Video: MQTT/Google Home Flood/Water WIFI-sensor met ESP-01: 7 stappe
Video: Plant watering system with new Blynk update 2024, Julie
Anonim
MQTT/Google Home Flood/Water WIFI-sensor met ESP-01
MQTT/Google Home Flood/Water WIFI-sensor met ESP-01

In hierdie instruksies sal ek u wys hoe u 'n wifi -vloed-/watersensor kan bou met minimale koste. Die hele projek kos my minder as $ 8 vir onderdele wat ek van ebay en my bestaande onderdele koop.

In hierdie projek gebruik ons ESP-01 om Wifi- en MQTT-kliënt te voorsien om die teenwoordigheid van water op te spoor, en gebruik ook 'n direk gekoppelde luidspreker/gonser om 'n gelokaliseerde alarm te verskaf.

My spesifieke aansoek vir die projek is om vloed/water in my bakpomp goed op te spoor, in die geval van 'n mislukking in die pomp. As water deur twee oop drade bespeur word, stuur dit 'n boodskap aan die MQTT -makelaar. Die MQTT -makelaar stuur die boodskap dan aan NodeRED. By ontvangs van MQTT -boodskap stuur NodeRED 'n aankondiging na verskeie Google -huistoestelle en stuur dit ook na selfoon/blaaier via pushbullet

Natuurlik werk hierdie projek slegs as die huis se elektrisiteit aan is. In die volgende instruksies sal ek die battery -rugsteunkring integreer. Maar as u die kragtoevoer op dieselfde manier as ek maak, kan u net 'n USB-kragbank aansluit vir battery-rugsteun. As u 'n kragbank het waarmee u terselfdertyd krag kan laai en voorsien, dan is u gereed.

Ek gebruik RaspberryPi ZeroW om Mosquitto MQTT -bediener en NodeRED aan te bied. Dit werk al meer as 'n jaar sonder probleme.

Verwysings: Raspberry Pi: https://www.switchdoc.com/2016/02/tutorial-installi… Installeer NodeRED op Raspberry Pi:

Stap 1: Onderdele wat u benodig

Onderdele wat u benodig
Onderdele wat u benodig
Onderdele wat u benodig
Onderdele wat u benodig
Onderdele wat u benodig
Onderdele wat u benodig

Onderdele lys:

(1) ESP-01

(2) 10K ohm Weerstand

(1) generiese NPN -transistor met klein seine (ek het 2N3904 gebruik)

(2) lang drade

(1) 5V generiese kragtoevoer (hierdie stroombaan benodig minder as 300mA stroom)

(1) 3.3V reguleermodule AMS1117

(1) Mikro-USB na DIP-adapter vroulike aansluiting PCB-omskakelaar DIY-kit

(1) USB-A na MicroUSB-kabel.

(1) 8-pins IC-aansluiting-kan weggelaat word as u ESP-01 direk aan die printplaat wil soldeer. Sny die plastiekbrue wat die gaping tussen die rye skep, en plak dan die 2 rye saam, sien foto.

(1) Klein omhulsel vir die projek

Hieronder is opsionele onderdele as u 'n gelokaliseerde alarm benodig met luidspreker/gonser

(1) Algemene PNP -transistor, kies volgens luidspreker/zoemerstroom/wattvereiste. In my geval gebruik ek 2N2907, aangesien my luidspreker slegs 0,3 W (8 ohm) is, sou dit genoeg krag bied om die luidspreker aan te dryf. U kan 'n groter transistor en luidspreker kies as u 'n harder klank wil hê.

(1) Luidspreker, sien aantekening oor PNP Transistor hierbo

(1) 100 - 110 ohm Weerstand

Stap 2: Kringdiagram

Stroombaandiagram
Stroombaandiagram

Die eerste stap is om die stroombaan in die diagram te skep.

Ek het die 3.3VDC -kragtoevoer gebou met 'n ou 5V -selfoonlaaier, tesame met AMS1117 3.3VDC -reguleerder. Vir die ESP-01-aansluiting gebruik ek 'n 8-pins standaard IC-aansluiting en sny die plastiekbrue wat die gaping tussen die rye skep, en plak dan die 2 rye vas.

Die kring wat ek ontwerp het, is om die teenwoordigheid van water tussen die twee drade te voel. As water die punt van albei drade bereik, sal dit 'n weerstand van ongeveer 10K tot 20K ohm skep. Dan, in serie met die 10K ohm R1, gee dit 'n klein stroom aan die basis van die Q1, wat veroorsaak dat Q1 versadig word, wat die GPIO-2 vasklem. R1 is nodig om Q1 te beskerm as daar 'n toevallige korting op die sensordrade is.

R2 is 'n optrekweerstand waarmee ESP-01 vanaf flits kan begin.

Nou vir die opsionele luidspreker/zoemer, as u net ESP-01 nodig het om MQTT te praat en nie hierdie gelokaliseerde alarm wil implementeer nie, kan u R2, Q2, luidspreker verwyder en 'n 10K optrekweerstand tussen GPIO-0 plaas en VCC.

As u nie die behoefte het om die vroulike Micro-USB na DIP-adapter te gebruik nie, kan u drade tussen die 5V PS aan die 3.3V-reguleermodule soldeer. Ek verkies om die vroulike MicroUSB -adapter te gebruik, sodat ek enige generiese selfoonlaaier en MicroUSB -kabel kan gebruik.

Stap 3: Bou die kring

Bou die kring
Bou die kring
Bou die kring
Bou die kring
Bou die kring
Bou die kring

Soldeer alle komponente en dele volgens 'n stroombaan -diagram op die vorige bladsy in 'n PCB en sny die printplaat op maat.

Plaas die PCB in 'n omhulsel wat by die PCB en die opsionele luidspreker pas. In my geval pas al die onderdele in 'n klein telefoonbus, alhoewel ek die deksel 'n bietjie moet verhit om 'n bult te skep sodat die ESP-01-module kan pas.

Stap 4: Flits die ESP-01

In hierdie stap flits ons die ESP-01 met 'n arduino-skets. As u nog nooit die ESP-01-module geblits het nie, kan u my instruksies volg om aan die gang te kom:

U kan my skets op my github-bladsy vind:

In die skets moet u ten minste die volgende inligting rakende u tuisnetwerk/opstelling verander:

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

In my tuisnetwerk het ek 2 verskillende toegangspunte wat 2 verskillende SSID's uitsaai, en hierdie skets sal ontslag moontlik maak deur aan te sluit by die volgende SSID as die kommunikasie met die huidige AP verlore gaan. As u slegs een SSID het, vul beide ssid1 en ssid2 met dieselfde waarde in.

Sodra u die wysiging aangebring het, laai die skets op in ESP-01 en steek die ESP-01 in die koppelvlakbord.

Stap 5: toetslopie

Om te toets of ons projek werk, is die maklikste om MQTT -boodskappe in die netwerk te monitor. Om dit te kan doen, moet u 'n SSH -sessie vir die muskietmakelaar oopmaak en die volgende opdrag gee:

mosquitto_sub -v -t '#'

Met die bogenoemde opdrag kan ons alle MQTT -boodskappe in die makelaar sien kom.

Skakel nou ons stroombaan aan, en as alles werk, moet u binne 'n paar sekondes ten minste die volgende MQTT -boodskap sien:

stat/SumpWaterSensor/LWT Online

Toets nou die watersensor deur die twee voeldrade in 'n koppie water te dompel, en u moet hierdie boodskap sien:

tele/SumpWaterSensor WET

En as u die drade uit die water haal, moet u hierdie boodskap sien:

tele/SumpWaterSensor DRY

As u hierdie boodskappe sien, is u projek 'n sukses.

Ek het ook 'n paar nuttige MQTT -onderwerpe in die skets ingesluit wat u kan gebruik:

"stat/SumpWaterSensorInfo": hierdie boodskap word elke minuut gestuur om uptime en ander inligting te verskaf.

"cmnd/SumpWaterSensorInfo": ESP-01 stuur inligting as dit hierdie onderwerp ontvang met die waarde '1' (ascii = 49)

"cmnd/SumpWaterSensorCPUrestart": ESP-01 sal weer begin as dit hierdie onderwerp ontvang met die waarde '1' (ascii = 49)

"cmnd/SumpWaterSensorBeep": ESP-01 sal die spreker laat klink as dit hierdie onderwerp met die waarde '1' ontvang (ascii = 49)

"cmnd/SumpWaterSensorBeepFreq": Stel die frekwensie van die luidsprekeralarm in, standaard = 900 (Hz)

"cmnd/SumpWaterSensorDebug": Aktiveer en stel seriële ontfoutingsvlak in (standaard is 0 - geen ontfouting)

Stap 6: Monteer die sensor

Monteer die sensor
Monteer die sensor
Monteer die sensor
Monteer die sensor

In my aansoek wil ek die watervlak binne -in my bakpomp goed monitor, en my in kennis stel as water bokant die dryfskakelaar vir die pomp kom, wat beteken dat my sumpomp nie werk nie. Ek het die drade gehardloop en met draadbinders vasgemaak om dit langs die afvoerpyp vas te maak.

Stap 7: Final Touch

Finale aanraking
Finale aanraking

Noudat ons die projek laat werk het en die MQTT -boodskap aan die makelaar kon publiseer, is die volgende stap om te dink wat u daarmee moet doen.

In my projek gebruik ek Node-RED om na die "tele/SumpWaterSensor" MQTT-onderwerp te luister/in te teken en aan verskeie Google-luidsprekers aan te kondig as daar water opgespoor word. Daarbenewens het ek die stroom ook gekoppel aan 'n pushbullet -knoop om kennisgewing na my Android -telefoon te stuur.

Ek het ook 'n webfront gemaak om die status van die sensor te sien (aan/af, uptyd, ens.). Soms het ek gesien dat dit in die loop van 'n week 'n paar keer vanlyn is, vanweë die statistieke, omdat ESP-01 ontkoppel is van die wifi of MQTT. Maar ek hoef nie bekommerd te wees nie; my skets bevat roetine om die ESP-01 weer te begin as dit nie probeer om aan te sluit by WIFI- en/of MQTT-makelaar nie.

Die beeld op hierdie stap toon die Node-ROOI-vloei om dit te bereik. U kan ook die vloei van my github-bladsy in u Node-RED plak:

Google se huisaankondiging is slegs een voorbeeld vir hierdie projek, maar ek dink dit is die nuttigste en praktiesste. U kan altyd koppel aan 'n ander MQTT -luisteraar, of selfs IFTTT gebruik om ander toestelle aan te dryf wanneer water opgespoor word.

Hê pret…

Aanbeveel: