Sisällysluettelo:

Vesivuotoanturi ESP8266 + Micropython + Domoticz -laitteessa: 16 vaihetta (kuvilla)
Vesivuotoanturi ESP8266 + Micropython + Domoticz -laitteessa: 16 vaihetta (kuvilla)

Video: Vesivuotoanturi ESP8266 + Micropython + Domoticz -laitteessa: 16 vaihetta (kuvilla)

Video: Vesivuotoanturi ESP8266 + Micropython + Domoticz -laitteessa: 16 vaihetta (kuvilla)
Video: КАК ПОСТРОИТЬ АВТОДОМ своими руками - подробный обзор ; ГОД ПУТЕШЕСТВИЙ ; ТУРЦИЯ 30.000 КМ 2024, Heinäkuu
Anonim
Vesivuotoanturi ESP8266 + Micropython + Domoticz -laitteessa
Vesivuotoanturi ESP8266 + Micropython + Domoticz -laitteessa
Vesivuotoanturi ESP8266 + Micropython + Domoticz -laitteessa
Vesivuotoanturi ESP8266 + Micropython + Domoticz -laitteessa

Jokin aika sitten vaimoni pyysi minua tekemään vesivuototunnistimen. Hän pelkäsi, että kattilahuoneen letku voi olla vuotava ja vesi tulvisi juuri asetetun puulattian. Ja minä todellisena insinöörinä otin käyttöön tällaisen anturin.

15 vuoden kokemukseltani lääketieteen insinöörinä tiedän, että helpoin tapa havaita vesi on metallinastat, jotka ovat oikosulussa. Yksinkertaisimpien antureiden toimintaperiaate on, että veden täytyy oikosulkea kaksi (tai useampi) metallistappia, ja heti kun se tapahtuu, hälytykset laukeavat.

Vaihe 1: Laitteisto

Laitteisto
Laitteisto

Tätä hanketta varten tarvitsemme:

1. ESP8266 - 01 -moduuli

2. HT7333 3.3V MS Low Dropout Linear Regulator Power Supply -moduuli

Tarvitsemme tämän moduulin vähentääksesi akun jännitettä ESP8266: n hyväksyttävälle tasolle. Tietolomakkeen mukaan tulon tulee olla 3V - 3,6V. Tämä moduuli antaa meille 3.3V.

3. Akku. Käytän 3, 7 V: n 400 mAh: n litiumioniakkua. Itse asiassa voit käyttää mitä tahansa muuta sopivaa virtalähdettä. 18650 -akku on myös hyvä valinta. Kun valitset akkua, muista, että ESP "syö" noin 200 mA, kun se muodostaa yhteyden WiFi -verkkoon, ja noin 60 mA, kun levy lähettää tietoja palvelimelle.

4. TP4056 Lipo -akun latauslevy.

5. Pololu mini -painike Virtakytkin Erittäin mielenkiintoinen pieni levy. Sen avulla voimme vaihtaa ESP -moduulin vain, kun vettä havaitaan. ESP: n ei tarvitse olla päällä. Joten se on hyvä säästää akun varausta.

6. Asuminen7. Kaksinkertainen mikrokytkin ON-OFF. Yksi rivi toimii laitteen kytkemiseksi päälle. Toinen rivi on testausta varten - se oikosulkee ilman vettä, vain ilmoittaaksemme, toimiiko laite vai ei.

8. Raspberry Pi mikrotietokone

Käytän Raspberry Pi Zeroa. Se on riittävän tehokas Domoticz -palvelimen käyttämiseen.

Vaihe 2: Ohjelmisto

Tietokoneessasi:

1. esptool asennettu, moduulien ja laiteohjelmiston poistamiseen

2. Ampy asennettu, ohjelman vilkkumiseen

3 Python 3.6 tai uudempi suositellaan

4. Kaikki haluamasi koodieditorit. Yksinkertaisin - Python IDLE, joka asennetaan normaalisti Pythonin kanssa. Käytän Pycharm / Atomia tai Anaconda Spyder On vadelma Pi: tä

5. Domoticz -palvelin on asennettu Raspberry Pi: hen (tai tavalliseen Windows- tai Linux -tietokoneeseen)

Vaihe 3: Valmista Raspberry Pi - asenna Domoticz

Ota siis RPi ja asenna käyttöjärjestelmä, joka soveltuu Domoticz -palvelimen käyttämiseen.

Voit seurata näitä ohjeita.

Käytän Raspbian Stretch with Desktopia täältä:

Seuraava askel on asentaa Domoticz -palvelin tietokoneellesi. Voit käyttää ohjeita täällä tai täällä:). Älä pelkää, se ei ole niin vaikeaa. On selvää, että sinun on suoritettava päätelaitteesi:

curl -L install.domoticz.com | sudo bash

Ja siinä se on:) enemmän tai vähemmän. Domoticzin asennus

Nyt kun palvelimemme on valmis, voimme käyttää sitä miltä tahansa verkkoselaimelta, myös tabletilta, syöttämällä seuraavan URL -osoitteen: https:// IP_domoticz: 8080

Vaihe 4: Domoticzin asennus

Domoticzin asennus
Domoticzin asennus

Nyt kun palvelimemme on valmis, voimme käyttää sitä miltä tahansa verkkoselaimelta, myös tabletilta, syöttämällä seuraavan URL -osoitteen: https:// IP_domoticz: 8080

Vaihe 5: Säädä sovellusasetuksia

Säädä sovellusasetuksia
Säädä sovellusasetuksia
Säädä sovellusasetuksia
Säädä sovellusasetuksia

On olemassa erilaisia sovellusasetuksia, jotka voidaan määrittää Setup | Asetukset -valikko.

Asetusvalikon eri välilehdillä voit syöttää henkilökohtaisia parametreja, jotka ovat tarpeen järjestelmän paremman toiminnan kannalta. Kun olet syöttänyt tiedot kenttiin, sinun on tallennettava ne painamalla punaista painiketta "Käytä asetuksia". Tämän toimenpiteen jälkeen kaikki salasanakentät, jotka olivat tyhjiä ensimmäisellä käyttökerralla, näkyvät pitkällä tähtimerkkijonolla, vaikka niitä ei olisi käytetty.

Kun olet tehnyt pääasetukset "Järjestelmä" -sivulla, napsauta "Ilmoitukset". Tässä meidän on säädettävä, millaisia ilmoituksia aiomme käyttää.

Vaihe 6: Asenna ilmoitukset

Asennusilmoitukset
Asennusilmoitukset

Ilmoituksia voidaan lähettää esimerkiksi silloin, kun kytkintä painetaan, sähkönkulutus on liian korkea, lämpötila liian korkea ja monia muita vaihtoehtoja.

Meidän tapauksessamme ilmoitukset on lähetettävä heti, kun anturi havaitsi veden. Joten kytke vain ne päälle, joita haluat käyttää. Normaalisti tarvitset API -avaimen, jotta ilmoitus toimisi. Juoksen hieman eteenpäin, sanon, että kokeilin Pushoveria, Pushsaferia ja Pushbulletia. Ja jäin Pushoverin luo. Myöhemmin kerron miksi.

Muutama sana siitä, miten ilmoitukset toimivat. Sinulla on oltava tili Pushbullet-, Pushover- tai muilla sivuilla, joita haluat käyttää. Tarvitset myös sovelluksen matkapuhelimeesi tai tietokoneeseesi.

Hanki API -avain ja lisää se yllä olevalle sivulle. Voit testata ilmoituksen napsauttamalla "Testaa". Jos sovellusliittymän avain on oikea, sinun pitäisi saada testi -ilmoitukset matkapuhelimeesi.

Heti kun anturi tunnistaa veden, ESP kytkeytyy päälle ja lähettää pyynnön Domoticz -palvelimelle JSON -muodossa. Jos olosuhteet tapahtuman käynnistämiseksi (ilmoituksen lähettäminen matkapuhelimeesi) täyttyvät, Domoticz lähettää ilmoituksen.

Palaan myöhemmin "tapahtumiin".

Vaihe 7: Määritä tiedonsiirto laitteistoon

Määritä tiedonsiirto laitteistoon
Määritä tiedonsiirto laitteistoon
Määritä tiedonsiirto laitteistoon
Määritä tiedonsiirto laitteistoon
Määritä tiedonsiirto laitteistoon
Määritä tiedonsiirto laitteistoon

Ennen kuin voit käyttää Domoticz -sovellusta laitteiden ohjaamiseen tai antureiden lukemiseen, sinun on määritettävä tiedonsiirto laitteistolaitteisiin. Lisää laitteisto valitsemalla Asetukset | Laitteisto. Laitteet eivät näy, ennen kuin sopiva laitteisto on lisätty.

Domoticz -sovellus tukee monia laitteita luonnollisesti. Meidän tapauksessamme tulva -anturin lukemiseksi meidän on lisättävä ns. "Nuken" laitteisto laitteistoluettelosta.

Kun laitteisto lisätään, kaikkien määritettyjen laitteiden yleiskatsaus näytetään. Laitteisto voidaan poistaa käytöstä tai poistaa käytöstä.

Uuden laitteiston pitäisi olla luettelossa ja siinä pitäisi olla painike "Luo virtuaalisia antureita".

Napsauta tätä painiketta ja valitse Sensor Type "Alert". Nyt meidän on lisättävä laite Domoticziin aktivoimiseksi.

Vaihe 8: Lisää laite Domoticziin tullaksesi aktiiviseksi

Lisää laite Domoticziin tullaksesi aktiiviseksi
Lisää laite Domoticziin tullaksesi aktiiviseksi
Lisää laite Domoticziin tullaksesi aktiiviseksi
Lisää laite Domoticziin tullaksesi aktiiviseksi
Lisää laite Domoticziin tullaksesi aktiiviseksi
Lisää laite Domoticziin tullaksesi aktiiviseksi

Huomaa numero "IDX" alla. Tämä on ainutlaatuinen viittaus tähän laitteeseen, ja tarvitsemme sitä myöhemmin Python -skriptissämme ilmoituksen käsittelemiseksi. Tässä tapauksessa IDX -numero on 1.

Ota laite käyttöön napsauttamalla vihreää nuolta vasemmalla (alla olevassa kuvassani se on sininen, koska laite on käytössä).

Kirjoita laitteen nimi ja napsauta "lisää".

Siirry valikkoon "Apuohjelmat" ja laitteesi pitäisi näkyä siellä.

Nyt meidän on ohjelmoitava "tapahtuma" anturillemme. Se tarkoittaa, että meidän on kerrottava palvelimelle, mitä tehdä, jos se on saanut viestin anturilta, ja se oli sanottu vaikein paikka minulle:).

Vaihe 9: Se ei toimi tällä tavalla…

Se ei toimi tällä tavalla…
Se ei toimi tällä tavalla…

Aloitin yrittämällä ohjelmoida tapahtuman / laite / -sivulla. Tämä alla ei ole minun, mutta se on hyvä havainnollistaa.

Jos uskot, että tarkistat joitain valintaruutuja ja se toimii, olet väärässä:) Se ei toimi tällä tavalla. Luulen, että tämä ominaisuus ei ole vielä valmis. Älä unohda - se on avoimen lähdekoodin ohjelmisto, okei, löysin ratkaisun muutaman tunnin kuluttua. Meidän on käytettävä avattavan "Asetukset" -valikon "Tapahtumat" -painiketta.

Napsauttamalla "Tapahtumat" voit luoda oman tapahtumasi. Voit tehdä sen ostamalla koodin kirjoittamisen Pythonissa tai LUA: ssa tai käyttämällä vain nimeä "Blockly". Päätin käyttää Blocklyä. On kaksi tapaa pakottaa palvelin tekemään mitä haluat.

Vaihe 10: Rakenna tapahtuma oikealla tavalla 1

Rakenna tapahtuma oikealla tavalla 1
Rakenna tapahtuma oikealla tavalla 1

1. Suorita ulkoinen tiedosto tapahtumien kautta käyttämällä Blockly -viestiä "Start script"

Tämä toimii minulle täysin Windows -koneella. Mutta en onnistunut tässä Raspbianissa Raspberry Pi -laitteessani. Epäilen, että käyttöoikeuksissa on ongelma.

Vaihe 11: Rakenna tapahtuma oikealla tavalla 2

Rakenna tapahtuma oikealla tavalla 2
Rakenna tapahtuma oikealla tavalla 2

2. Käytä Lähetä ilmoitus aiheella -viestiä. Se toimii Raspbianissa. Tämä vaihtoehto tukee ilmoitusten lähettämistä Pushsafeen ja Pushoveriin.

Ensimmäisen tavan käytön etuna on, että se on joustavampi. Voit valita näytössä näkyvän kuvakkeen, äänet ja niin edelleen. "Tapahtumani" näkyy yllä olevassa kuvassa.

Seuraavaksi ohjelmoidaan ESP -moduuli.

Vaihe 12: ESP8266-01-moduulin ohjelmointi

Ohjelmointi ESP8266-01-moduuli
Ohjelmointi ESP8266-01-moduuli

Aloitetaan ESP8266 -moduulin vilkkumisesta. Yleensä näissä moduuleissa on tehtaan laiteohjelmisto. moduulien kanssa on mahdollista kommunikoida käyttämällä ns. AT -komentoja. Ja myös tämä ohjelmisto ei salli erillisten ohjainten kaltaisten moduulien käyttöä. Jotta voimme käyttää niitä itsenäisinä ohjaimina, meidän on poistettava tehdasohjelmisto ja asennettava uusi.

Tätä varten käytämme esptoolia. Meidän on liitettävä moduuli tietokoneeseen laiteohjelmiston poistamiseksi. Tätä varten tarvitset TTL -muuntimen + muutamia lisäosia. Mutta on olemassa helpompi tapa:). Osta vain aliexpressistä tai ebaysta USB: ltä ESP8266 ESP-01 Wi-Fi-sovitimoduuli ja CH340G-ohjain.

Liitä ESP8266 -moduuli TTL -muuntimeen kuvan osoittamalla tavalla ja liitä se USB -porttiin.

Jos sinulla on sama muunnin kuin minulla, sinun on itse vaihdettava kytkin "Prog" -asentoon. Etsi, mihin esptool on asennettu (yleensä jonnekin, kuten C: / Program Files (x86) Python36-32 / Scripts. Siirry tähän kansioon, käynnistä komentokehote siellä. Tyyppi: python esptool.exe --port COM5 erase_flash

Tietysti valitse oikea portti. Minun tapauksessani se on COM5. Voit tarkistaa portin, johon ESP on asennettu, Ohjauspaneeli - Järjestelmä - Laitehallinta.

Asenna laiteohjelmisto (otin sen täältä: https://micropython.org/download#esp8266) kirjoittamalla:

python esptool.exe --portti COM5 --baud 460800 write_flash --flash_size = tunnista 0 C: / path_to_firmware / esp8266-20180511-v1.9.4.bin

Ok, nyt olemme valmiita lataamaan mikropython -komentosarjat ESP8266 -laitteeseen.

Käytän tähän Adafruit MicroPython -työkalua (ampy).

Mutta nykyään on toinen vaihtoehto nimeltä Esplorer. Tämä sovellus, jossa on käyttöliittymä, mahdollistaa tiedostojen lataamisen ESP -moduuleihin.

Ohjeet ampyn asentamiseen löydät täältä. Aseta TTL -muuntimen kytkin "UART" -asentoon. Meidän on ladattava tiedostoja:

  • wifimgr.py - wifi -hallinta wifi -verkkoon yhdistämistä varten
  • main.py - pääskriptimme

Kirjoita komentorivityypiksi: ampy --port COM5 kirjoita tiedostoon C: / polku

Paina "enter". Muutaman sekunnin kuluttua sinun pitäisi nähdä tyhjä komentorivi. Se tarkoittaa, että tiedosto on ladattu. Voit tarkistaa ESP: n tiedostojen luettelon ampy -komennolla:

ampy --port COM5 ls

Kokemukseni mukaan on parempi ladata main.py sen jälkeen, kun olet ladannut kaikki tarvittavat tiedostot. se on niin, koska heti kun lähetät main.py - ESP8266 -moduuli käynnistyy uudelleen ja alkaa suorittaa main.py -tiedostoa. Joten tässä tapauksessa, jos yrität ladata toisen tiedoston, joskus latausprosessi epäonnistuu. Mutta se ei tarkoita, että kaikki on menetetty:), yritä vain toista kertaa, ja onnistut (jälleen kokemukseni mukaan).

Kaikki tämän projektin tiedostot ovat saatavilla täältä:

Vaihe 13: Yhdistä WiFi -verkkoon. Saada ilmoitus

Muodosta yhteys WiFi -verkkoon. Saada ilmoitus
Muodosta yhteys WiFi -verkkoon. Saada ilmoitus
Muodosta yhteys WiFi -verkkoon. Saada ilmoitus
Muodosta yhteys WiFi -verkkoon. Saada ilmoitus

jos kaikki on kunnossa, käynnistä moduuli uudelleen asettamalla TTL -muunnin uudelleen tietokoneen USB -porttiin.

Kun ESP käynnistyy, etsi uusi WiFi -verkko nimeltä "Wifimanager". Muodosta yhteys tietokoneella tai puhelimella ja siirry sitten IP -osoitteeseen 192.168.4.1.. Täällä voit liittää ESP: n paikalliseen WiFi -verkkoon. Valitse käytettävä WiFi -verkko, kirjoita salasana ja paina "Lähetä".

Jos kaikki on oikein, näet viestin "ESP onnistui yhdistämään XXXX -verkkoon". ESP on nyt yhdistetty WiFi -verkkoon ja valmis. Heti kun se on muodostanut yhteyden WiFi -verkkoon, se muodostaa yhteyden Domoticz -palvelimeen. Shorty, sinun on saatava ilmoitus matkapuhelimeesi.

Voit seurata prosessia kohdasta "Asennus"/"Loki".

Vau lia!:) Se toimii. Nyt voimme jatkaa kaikkien osien kokoamista yhteen alla olevan lohkokaavion mukaisesti.

Vaihe 14: Lohkokaavio

Lohkokaavio
Lohkokaavio

Tästä kaaviosta ei ole paljon sanottavaa. Erittäin yksinkertainen. Kytke virta S1 -kytkimellä. Laite on pois päältä, kunnes vesi oikosulkee "Water sensor" -nastat. Sitten "Pololu board" kytkeytyy päälle ja antaa jännitteen muuntimelle virran. Tämä HT7333 -siruun perustuva tehomoduuli muuntaa jännitteen vakaaksi 3,3 V: ksi ESP8266: lle. Seuraavaksi ESP kytkeytyy päälle ja lähettää viestin Domoticz -palvelimelle.

Vaihe 15: Tulos ja johtopäätökset

Tulos ja johtopäätökset
Tulos ja johtopäätökset
Tulos ja johtopäätökset
Tulos ja johtopäätökset
Tulos ja johtopäätökset
Tulos ja johtopäätökset
Tulos ja johtopäätökset
Tulos ja johtopäätökset

Se toimii. Ilmoituksen lähettäminen kesti jopa 10 sekuntia: yhteys WiFi -verkkoon, ilmoituksen lähettäminen, hälytysviestin vastaanottaminen puhelimeesi.

Olen ohjelmoinut anturin lähettämään hälytyksiä 30 sekunnin välein, jos vettä havaitaan. Anturi voi lähettää jopa 5-6 ilmoitusta, kunnes akku tyhjenee. Tällaista laitetta voidaan käyttää myös vedenpinnan määrittämiseen. Mitä haluaisin parantaa.

1. Jotta se toimisi nopeammin. Luulen, että yritän käyttää ESP-Now-tekniikkaa, jonka avulla voin yhdistää useita ESP-laitteita suoraan. Tässä tapauksessa virrankulutus yhteyden aikana on erittäin pieni ja nopeampi. Joten ajatuksena on käyttää yhtä ESP: tä kuin keskittyä muiden ESP: iden liittämiseen.

2. Ota käyttöön akun varaustason hälytys. Nyt et voi tietää, onko tarpeeksi virtaa hälytysviestin lähettämiseen vai ei. Uskon, että tämän anturin seuraavan sukupolven yhteydessä on erityinen painike akun latauksen testaamiseksi.

Käyttäjän on painettava painiketta, ja akun varaustaso näytetään.

Suositeltava: