Sisällysluettelo:

MQTT/Googlen kotitulva/vesi WIFI-anturi ESP-01: 7 askeleella
MQTT/Googlen kotitulva/vesi WIFI-anturi ESP-01: 7 askeleella

Video: MQTT/Googlen kotitulva/vesi WIFI-anturi ESP-01: 7 askeleella

Video: MQTT/Googlen kotitulva/vesi WIFI-anturi ESP-01: 7 askeleella
Video: Julkishallinnon API-linjausten valmistelun käynnistystilaisuus 2024, Marraskuu
Anonim
MQTT/Googlen kodin tulva/vesi WIFI-anturi, jossa ESP-01
MQTT/Googlen kodin tulva/vesi WIFI-anturi, jossa ESP-01

Tässä ohjeessa näytän sinulle, kuinka rakentaa wifi -tulva-/vesianturi pienin kustannuksin. Koko projekti maksaa minulle alle 8 dollaria osista, jotka hankin ebaystä ja olemassa olevista varaosistani.

Tässä projektissa käytämme ESP-01: tä Wifi- ja MQTT-asiakkaan tunnistamaan veden läsnäolo, ja vaihtoehtoisesti käytämme suoraan kytkettyä kaiutinta/summeria paikallisen hälytyksen tuottamiseen.

Erityinen sovellukseni hankkeelle on havaita tulva/vesi öljypohjapumpun kaivosta, jos öljypumppu vioittuu. Kun vesi havaitaan kahdella avoimella johdolla, se lähettää viestin MQTT -välittäjälle. MQTT -välittäjä välittää viestin NodeREDille. Vastaanotettuaan MQTT -viestin NodeRED lähettäisi ilmoituksen useille Google -kodin laitteille ja valinnaisesti myös viestin matkapuhelimeen/selaimeen pushbulletin kautta

Tietysti tämä projekti toimii vain, jos kodin sähkö on päällä. Seuraavassa ohjeessa integroin akun varapiirin. Mutta jos teet virtalähteen samalla tavalla kuin minä, voit kytkeä USB-virtapankin akun varmuuskopiointia varten. Jos sinulla on virtapankki, jonka avulla voit ladata ja syöttää virtaa samanaikaisesti, olet valmis.

Käytän RaspberryPi ZeroW: tä Mosquitto MQTT -palvelimen ja NodeRED -palvelimen isännöintiin. Se on toiminut yli vuoden ilman ongelmia.

Viitteet: Raspberry Pi: https://www.switchdoc.com/2016/02/tutorial-installi…Asenna NodeRED Raspberry Pi: lle:

Vaihe 1: Tarvitsemasi osat

Tarvitsemasi osat
Tarvitsemasi osat
Tarvitsemasi osat
Tarvitsemasi osat
Tarvitsemasi osat
Tarvitsemasi osat

Osaluettelo:

(1) ESP-01

(2) 10K ohmin vastus

(1) pieni signaalin yleinen NPN -transistori (käytin 2N3904)

(2) pitkät johdot

(1) 5 V: n yleinen virtalähde (tämä piiri vaatii alle 300 mA: n virran)

(1) 3,3 V: n säätömoduuli AMS1117

(1) Mikro-USB-DIP-sovitin naarasliitin PCB-muunnin DIY-sarja

(1) USB-A-MicroUSB-kaapeli.

(1) 8-nastainen IC-liitäntä-voidaan jättää pois, jos haluat juottaa ESP-01: n suoraan piirilevyyn. Leikkaa muovisillat, jotka muodostavat rivien väliin raon, ja liimaa sitten 2 riviä yhteen, katso kuva.

(1) Pieni kotelo hankkeelle

Alla on valinnaisia osia, jos tarvitset paikallisen hälytyksen kaiuttimen/summerin avulla

(1) Yleinen PNP -transistori, valitse kaiuttimen/summerin virran/tehovaatimuksen mukaan. Minun tapauksessani käytän 2N2907: tä, koska kaiutin on vain 0,3 W (8 ohmia), se antaisi tarpeeksi virtaa kaiuttimen ajamiseen. Voit valita suuremman transistorin ja kaiuttimen, jos haluat kovempaa ääntä.

(1) Kaiutin, katso yllä oleva huomautus PNP -transistorista

(1) 100-110 ohmin vastus

Vaihe 2: Piirikaavio

Piirikaavio
Piirikaavio

Ensimmäinen askel olisi luoda kaaviossa esitetty piiri.

Rakensin 3.3VDC -virtalähteen käyttämällä vanhaa 5V: n matkapuhelinlaturia ja AMS1117 3.3VDC -säädintä. ESP-01-pistorasiassa käytän 8-nastaista vakiomallista IC-pistorasiaa ja leikkaan muovisiltoja, jotka muodostavat rivien välisen raon, ja liimaan sitten 2 riviä yhteen.

Suunnittamani piiri on tunnistaa veden läsnäolo kahden johdon välillä. Kun vesi saavuttaa molempien johtojen kärjen, se muodostaisi noin 10K - 20K ohmin vastuksen. Sitten sarjaan 10K ohmin R1 kanssa se antaa pienen virran Q1: n pohjaan, mikä saa Q1: n kyllästymään ja kiinnittää GPIO-2: n maahan. R1 on tarpeen suojaamaan Q1: tä siltä varalta, että tunnistusjohtimissa on tahaton oikosulku.

R2 on vetovastus, joka mahdollistaa ESP-01: n käynnistymisen salamasta.

Jos tarvitset lisävarusteena saatavaa kaiutinta/summeria, jos tarvitset vain ESP-01: n MQTT: n puhumiseen etkä halua toteuttaa tätä paikallista hälytystä, voit poistaa R2, Q2, kaiuttimen ja sijoittaa 10K: n vetovastus GPIO-0: n väliin ja VCC.

Jos et tunne tarvetta käyttää naaraspuolista Micro-USB-DIP-sovitinta, voit juottaa johdot 5 V: n PS: n ja 3,3 V: n säätömoduulin välillä. Käytän mieluiten naaraspuolista MicroUSB -sovitinta, jotta voin käyttää mitä tahansa yleistä matkapuhelinlaturia ja MicroUSB -kaapelia.

Vaihe 3: Piirin rakentaminen

Piirin rakentaminen
Piirin rakentaminen
Piirin rakentaminen
Piirin rakentaminen
Piirin rakentaminen
Piirin rakentaminen

Juotos kaikki komponentit ja osat piirilevyyn edellisen sivun piirikaavion mukaisesti ja leikkaa piirilevy sopivaan kokoon.

Aseta piirilevy kotelon sisään, joka sopii piirilevyyn ja valinnaiseen kaiuttimeen. Minun tapauksessani kaikki osat mahtuisivat pieneen puhelimen pistorasiaan, vaikka minun on lämmitettävä kansi hieman, jotta muodostuu pullistuma, jotta ESP-01-moduuli mahtuu.

Vaihe 4: ESP-01 vilkkuu

Tässä vaiheessa salataan ESP-01 arduino-luonnoksella. Jos et ole koskaan väläyttänyt ESP-01-moduulia, voit aloittaa ohjeiden noudattamisen:

Luonnokseni löytyy github-sivultani:

Luonnoksessa sinun on muutettava vähintään seuraavat kotiverkkoasi/kokoonpanoasi koskevat tiedot:

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

Kotiverkossani minulla on 2 eri tukiasemaa, jotka lähettävät 2 eri SSID: tä, ja tämä luonnos sallii redundanssin muodostamalla yhteyden seuraavaan SSID: hen, jos yhteys nykyiseen tukiasemaan katkeaa. Jos sinulla on vain yksi SSID, täytä sekä ssid1 että ssid2 sama arvo.

Kun olet tehnyt muutokset, lataa luonnos ESP-01: een ja liitä ESP-01 liitäntäkorttiin.

Vaihe 5: Koeajo

Jos haluat testata, toimiiko projektimme, helpoin olisi seurata MQTT -viestejä verkossa. Tätä varten sinun on avattava SSH -istunto mosquitto -välittäjälle ja annettava seuraava komento:

mosquitto_sub -v -t '#'

Yllä olevan komennon avulla voimme nähdä kaikki välittäjään tulevat MQTT -viestit.

Käynnistä nyt piiri, ja jos kaikki toimii, muutaman sekunnin kuluttua sinun pitäisi nähdä ainakin seuraava MQTT -viesti:

stat/SumpWaterSensor/LWT Online

Testaa nyt vesi -anturi upottamalla kaksi anturijohtoa kuppiin vettä, ja näet seuraavan viestin:

tele/SumpWaterSensor WET

Ja jos otat johdot vedestä, sinun pitäisi nähdä tämä viesti:

tele/SumpWaterSensor DRY

Jos näet nämä viestit, projektisi on onnistunut.

Sisällysin luonnokseen myös useita hyödyllisiä MQTT -aiheita, joita voit käyttää:

"stat/SumpWaterSensorInfo": tämä viesti lähetetään joka minuutti käyttöajan ja muiden tietojen antamiseksi.

"cmnd/SumpWaterSensorInfo": ESP-01 lähettää tietoja, jos se saa tämän aiheen arvolla "1" (ascii = 49)

"cmnd/SumpWaterSensorCPUrestart": ESP-01 käynnistyy uudelleen, jos se vastaanottaa tämän aiheen arvolla "1" (ascii = 49)

"cmnd/SumpWaterSensorBeep": ESP-01 antaa kaiuttimesta äänimerkin, jos se vastaanottaa tämän aiheen arvolla "1" (ascii = 49)

"cmnd/SumpWaterSensorBeepFreq": Asettaa kaiutinhälytyksen taajuuden, oletus = 900 (Hz)

"cmnd/SumpWaterSensorDebug": Ota sarjavianmääritystaso käyttöön ja aseta (oletus on 0 - ei virheenkorjausta)

Vaihe 6: Asenna anturi

Asenna anturi
Asenna anturi
Asenna anturi
Asenna anturi

Sovelluksessani haluan valvoa öljypumpun kaivon sisällä olevaa vettä ja ilmoittaa minulle, jos vesi saavuttaa öljypumpun uimurikytkimen, mikä tarkoittaa, että öljypumppu ei toimi. Ajoin johdot ja kiinnitin sen nippusiteillä tyhjennysputkea pitkin.

Vaihe 7: Viimeinen kosketus

Viimeinen kosketus
Viimeinen kosketus

Nyt kun projekti on saatu toimimaan ja voimme julkaista MQTT -viestin välittäjälle, seuraava askel on miettiä, mitä tehdä sen kanssa.

Projektissani käytän Node-RED: ää kuuntelemaan/tilaamaan "tele/SumpWaterSensor" MQTT -aihetta ja ilmoittamaan useille Googlen kotikaiuttimille, jos vettä havaitaan. Tämän lisäksi liitin virran myös pushbullet -solmuun, jotta voin lähettää ilmoituksen Android -puhelimeeni.

Olen myös luonut web-käyttöliittymän nähdäksesi anturin tilan (päällä/offline, käyttöaika jne.). Joskus näin, että se menee offline-tilaan muutaman kerran 1 viikon aikana, tilastojen perusteella, usein se johtuu siitä, että ESP-01 irrotetaan wifi-yhteydestä tai MQTT: stä. Mutta ei liikaa huolta, luonnoksessani on rutiini ESP-01: n käynnistämiseksi uudelleen, jos se epäonnistuu jatkuvasti yrittäessään muodostaa yhteyttä WIFI- ja/tai MQTT-välittäjään.

Tämän vaiheen kuva näyttää solmun-PUNAN virtauksen tämän saavuttamiseksi. Voit myös liittää virran github-sivultani solmu-PUNAISEEN:

Googlen kotisivuilmoitus on vain yksi esimerkki tästä projektista, mutta mielestäni se on hyödyllisin ja käytännöllisin. Voit aina liittyä toiseen MQTT -kuuntelijaan tai jopa käyttää IFTTT: tä muiden laitteiden ajamiseen veden havaitessa.

Pidä hauskaa…

Suositeltava: