Sisällysluettelo:
- Vaihe 1: Laitteisto
- Vaihe 2: Ohjelmisto
- Vaihe 3: Valmista Raspberry Pi - asenna Domoticz
- Vaihe 4: Domoticzin asennus
- Vaihe 5: Säädä sovellusasetuksia
- Vaihe 6: Asenna ilmoitukset
- Vaihe 7: Määritä tiedonsiirto laitteistoon
- Vaihe 8: Lisää laite Domoticziin tullaksesi aktiiviseksi
- Vaihe 9: Se ei toimi tällä tavalla…
- Vaihe 10: Rakenna tapahtuma oikealla tavalla 1
- Vaihe 11: Rakenna tapahtuma oikealla tavalla 2
- Vaihe 12: ESP8266-01-moduulin ohjelmointi
- Vaihe 13: Yhdistä WiFi -verkkoon. Saada ilmoitus
- Vaihe 14: Lohkokaavio
- Vaihe 15: Tulos ja johtopäätökset
- Vaihe 16: Video
2025 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2025-01-13 06:57
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
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
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
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
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
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
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…
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
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
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
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
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
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
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.