Tartalomjegyzék:

Vízszivárgás -érzékelő az ESP8266 + Micropython + Domoticz készüléken: 16 lépés (képekkel)
Vízszivárgás -érzékelő az ESP8266 + Micropython + Domoticz készüléken: 16 lépés (képekkel)

Videó: Vízszivárgás -érzékelő az ESP8266 + Micropython + Domoticz készüléken: 16 lépés (képekkel)

Videó: Vízszivárgás -érzékelő az ESP8266 + Micropython + Domoticz készüléken: 16 lépés (képekkel)
Videó: xComfort Water Guard vízszivárgásérzékelő 2024, Július
Anonim
Vízszivárgás -érzékelő az ESP8266 + Micropython + Domoticz készüléken
Vízszivárgás -érzékelő az ESP8266 + Micropython + Domoticz készüléken
Vízszivárgás -érzékelő az ESP8266 + Micropython + Domoticz készüléken
Vízszivárgás -érzékelő az ESP8266 + Micropython + Domoticz készüléken

Egy ideje a feleségem megkért, hogy készítsek vízszivárgás -érzékelőt. Félt, hogy a kazánház tömlője szivároghat, és a víz elárasztja az újonnan lerakott fapadlót. És én igazi mérnökként elvállaltam egy ilyen érzékelőt.

15 éves orvosi mérnöki tapasztalatomból tudom, hogy a víz észlelésének legegyszerűbb módja a vízzel rövidre zárt fémcsapok. A legegyszerűbb érzékelők működési elve az, hogy a víznek két (vagy több) fémcsapot rövidre kell zárnia, és amint ez megtörténik, riasztást vált ki.

1. lépés: Hardver

Hardver
Hardver

Ehhez a projekthez szükségünk van:

1. ESP8266 - 01 modul

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

Szükségünk van erre a modulra, hogy csökkentsük az akkumulátor feszültségét az ESP8266 számára elfogadható szintre. Az adatlap szerint 3V - 3,6V bemenetnek kell lennie. Ez a modul 3.3V -ot biztosít.

3. Akkumulátor. 3, 7 V-os 400 mAh-es Li-ion akkumulátort használok. Valójában bármilyen más megfelelő áramforrást is használhat. Az 18650 akkumulátor is jó választás. Amikor akkumulátort választ, ne feledje, hogy az ESP körülbelül 200 mA -t "eszik", miközben csatlakozik a WiFi hálózathoz, és körülbelül 60 mA -t használ, amikor a tábla adatokat tölt fel a szerverre.

4. TP4056 Lipo akkumulátor töltőlap.

5. Pololu mini nyomógombos főkapcsoló Nagyon érdekes apró tábla. Ez lehetővé teszi, hogy csak akkor kapcsoljuk át az ESP modult, ha vizet észlel. Nem kell bekapcsolva tartani az ESP -t. Tehát jó az akkumulátor töltésének csökkentésére.

6. Ház7. Kettős mikrokapcsoló BE-KI. Az egyik vonal a készülék bekapcsolását szolgálja. A második sor tesztelésre szolgál - rövidzárlatot okoz víz nélkül, csak hogy tudassa velünk, hogy az eszköz működik -e vagy sem.

8. Raspberry Pi mikroszámítógép

Raspberry Pi Zero -t használok. Elég erős a Domoticz szerver futtatásához.

2. lépés: Szoftver

A számítógépen:

1. esptool telepítve, a modulok és a firmware villogásához

2. Ampy telepítve, a program villogására

3 Python 3.6 vagy újabb ajánlott

4. Bármilyen kódszerkesztőt szeretne. A legegyszerűbb - Python IDLE, amelyet rendszerint a Python segítségével telepítenek. Én a Pycharm / Atomot vagy az Anaconda Spyder On raspberry Pi -t használom

5. Domoticz szerver telepítve a Raspberry Pi -re (vagy közönséges PC -re Windows vagy Linux alatt)

3. lépés: A Raspberry Pi előkészítése - a Domoticz telepítése

Tehát vegye az RPi -t, és telepítse a Domoticz szerver futtatására alkalmas operációs rendszert.

Ezeket az utasításokat követheti.

A Raspbian Stretch with Desktop alkalmazást innen használom:

A következő lépés a Domoticz szerver telepítése a számítógépre. Használhatja az utasításokat itt vagy itt:). Ne félj, nem olyan nehéz. Nyilvánvalóan a terminálon kell futtatnia:

curl -L install.domoticz.com | sudo bash

És ennyi:) többé -kevésbé. Domoticz beállítás

Most, hogy a szerverünk készen áll, elérhetjük azt bármely webböngészőből, beleértve a táblagépet is, a következő URL megadásával: https:// IP_domoticz: 8080

4. lépés: Domoticz beállítás

Domoticz beállítás
Domoticz beállítás

Most, hogy a szerverünk készen áll, elérhetjük azt bármely webböngészőből, beleértve a táblagépet is, a következő URL megadásával: https:// IP_domoticz: 8080

5. lépés: Az alkalmazás beállításainak módosítása

Állítsa be az alkalmazás beállításait
Állítsa be az alkalmazás beállításait
Állítsa be az alkalmazás beállításait
Állítsa be az alkalmazás beállításait

Különféle alkalmazásbeállítások adhatók meg a Setup | Beállítások menü.

A Beállítások menü különböző lapokkal lehetővé teszi a rendszer jobb működéséhez szükséges személyes paraméterek megadását. Miután megadta az adatokat a mezőkben, el kell mentenie őket a piros "Beállítások alkalmazása" gomb megnyomásával. E művelet után az első belépéskor üres jelszómezők hosszú csillaggal jelennek meg, még akkor is, ha nem használták őket.

Miután elvégezte a fő beállításokat a "Rendszer" oldalon, kattintson az "Értesítések" gombra. Itt módosítanunk kell, hogy milyen értesítéseket fogunk használni.

6. lépés: Értesítések beállítása

Beállítási értesítések
Beállítási értesítések

Értesítések küldhetők például egy kapcsoló megnyomásakor, túl magas áramfogyasztásnál, magas hőmérsékletnél és még sok más lehetőségnél.

Esetünkben értesítéseket kell küldeni, amint az érzékelőt víz érzékelte. Tehát csak kapcsolja be azokat, amelyeket használni szeretne. Szintén általában API kulcsra van szükség az értesítések működéséhez. Egy kicsit előre haladva azt mondom, hogy kipróbáltam a Pushover -t, a Pushsafer -t és a Pushbullet -t. És maradtam a Pushovernél. Később elmondom, miért.

Néhány szó az értesítések működéséről. Rendelkeznie kell fiókkal a Pushbullet, Pushover vagy más, használni kívánt oldalakon. Ezenkívül szüksége lesz egy alkalmazásra a mobiltelefonján vagy a számítógépén.

Szerezze be az API -kulcsot, és illessze be a fenti oldalra. Az értesítést a "Teszt" gombra kattintva tesztelheti. Ha az API kulcs helyes, akkor teszt értesítéseket kell kapnia a mobiltelefonjára.

Amint az érzékelő vizet érzékel, az ESP bekapcsol, és JSON formátumban elküldi a kérést a Domoticz szervernek. Mint ha az esemény kiváltásának feltételei (értesítés küldése mobiltelefonra) teljesülnek, a Domoticz elküldi az értesítést.

Később visszatérek az "eseményekre".

7. lépés: A kommunikáció beállítása a hardvereszköz (ek) hez

A kommunikáció beállítása a hardver eszköz (ek) hez
A kommunikáció beállítása a hardver eszköz (ek) hez
A kommunikáció beállítása a hardver eszköz (ek) hez
A kommunikáció beállítása a hardver eszköz (ek) hez
A kommunikáció beállítása a hardver eszköz (ek) hez
A kommunikáció beállítása a hardver eszköz (ek) hez

Mielőtt használhatná a Domoticz alkalmazást eszközök vezérlésére vagy érzékelők olvasására, be kell állítania a kommunikációt a hardvereszközökkel. Válassza a Beállítás | Hardver lehetőséget a hardver hozzáadásához. Az eszközök csak a megfelelő hardver hozzáadása után jelennek meg.

A Domoticz alkalmazás natív módon számos hardvereszközt támogat. Esetünkben az árvízérzékelő olvasásához hozzá kell adnunk az úgynevezett "Dummy" hardvert a hardver listából.

Hardver hozzáadása után megjelenik az összes meghatározott hardver áttekintése. A hardver letiltható vagy törölhető.

Az új hardvernek szerepelnie kell a listán, és ott kell lennie a "Virtuális érzékelők létrehozása" gombnak.

Kattintson erre a gombra, és válassza az Érzékelő típusa "Riasztás" lehetőséget. Most hozzá kell adnunk az eszközt a Domoticz -hoz, hogy aktívvá váljon.

8. lépés: Adja hozzá az eszközt a Domoticzban, hogy aktívvá váljon

Adja hozzá az eszközt a Domoticzban, hogy aktívvá váljon
Adja hozzá az eszközt a Domoticzban, hogy aktívvá váljon
Adja hozzá az eszközt a Domoticzban, hogy aktívvá váljon
Adja hozzá az eszközt a Domoticzban, hogy aktívvá váljon
Adja hozzá az eszközt a Domoticzban, hogy aktívvá váljon
Adja hozzá az eszközt a Domoticzban, hogy aktívvá váljon

Kérjük, vegye figyelembe az "IDX" alatti számot. Ez az egyedi hivatkozás erre az eszközre, és szükségünk lesz rá később a Python -szkriptünkben, hogy kezeljük az értesítést. Ebben az esetben az IDX szám 1.

Engedélyezze az eszközt a bal oldali zöld nyílra kattintva (az alábbi képen kék, az eszköz engedélyezése miatt).

Írja be az eszköz nevét, majd kattintson a "Hozzáadás" gombra.

Lépjen a "Segédprogramok" menübe, és ott fel kell tüntetnie az eszközét.

Most be kell programoznunk az "eseményt" az érzékelőnkhöz. Ez azt jelenti, hogy meg kell mondanunk a szervernek, mit tegyünk, ha üzenetet kapott az érzékelő. És mondjuk ez volt a legnehezebb hely számomra:).

9. lépés: Ez nem így működik…

Ez így nem működik…
Ez így nem működik…

Először azzal próbáltam programozni az eseményt a / device / oldalon. Ez lent nem az enyém, de illusztráció.

Ha úgy gondolja, hogy bejelöl néhány jelölőnégyzetet, és ez működni fog, akkor téved:) Ez nem így működik. Azt hiszem, ez a funkció itt még nem fejeződött be. Ne felejtse el - ez nyílt forráskódú szoftver. Ok, néhány óra múlva megtaláltam a megoldást. A "Beállítás" legördülő menü "Események" parancsát kell használnunk.

Az "Események" gombra kattintva létrehozhat saját eseményt. Megteheti, ha megír egy kódot Pythonban vagy LUA -ban, vagy csak a "Blockly" nevű dolog használatával. A Blockly használatát választottam. Kétféleképpen kényszerítheti a szervert arra, amit akar.

10. lépés: Építse fel az eseményt helyes módon 1

Építsd meg az eseményt helyes módon 1
Építsd meg az eseményt helyes módon 1

1. Futtasson külső fájlt az "Események" segítségével, a "Start script" blokkolt üzenettel

Nekem ez tökéletesen működik Windows gépen. De ezzel nem sikerült a Raspberry Pi -n a Raspberry Pi -n. Gyanítom, hogy probléma van az engedélyekkel.

11. lépés: Az esemény építése helyes módon 2

Építs eseményt helyes módon 2
Építs eseményt helyes módon 2

2. Használja az "Értesítés küldése tárgy" üzenetet. Raspbianon működik. Ez az opció támogatja a Pushsafe és Pushover értesítések küldését.

Az első módszer előnye, hogy rugalmasabb. Kiválaszthatja a kijelzőn megjelenő ikont, hangokat és így tovább. Az "eseményem" a fenti képen látható.

Ezután programozzuk az ESP modult.

12. lépés: Az ESP8266-01 modul programozása

Programozás ESP8266-01 modul
Programozás ESP8266-01 modul

Kezdjük az ESP8266 modul villogásával. Általában ezek a modulok gyári firmware -t tartalmaznak. modulokkal kommunikálni lehet úgynevezett AT parancsok használatával. Ezenkívül ez a szoftver nem teszi lehetővé olyan modulok használatát, mint az önálló vezérlők. Ahhoz, hogy önálló vezérlőkként használhassuk őket, törölnünk kell a gyári firmware -t, és telepítenünk kell egy újat.

Ehhez esptoolt használunk. A firmware törléséhez a modult kell csatlakoztatnunk a számítógéphez. Ehhez TTL konverterre és néhány további komponensre van szüksége. De van egyszerűbb módszer is.:) Csak vásároljon az aliexpressen vagy az ebay-en USB-ről ESP8266 ESP-01 Wi-Fi adapter modulra, CH340G illesztőprogrammal.

Csatlakoztassa az ESP8266 modult a TTL átalakítóhoz a képen látható módon, és csatlakoztassa az USB -porthoz.

Ha ugyanaz a konverter van, mint nekem, akkor önmagában a kapcsolót "Prog" állásba kell kapcsolnia. Keresse meg az esptool telepítési helyét (általában valahol, mint a C: / Program Files (x86) Python36-32 / Scripts. Menjen ebbe a mappába, és indítsa el a parancssort. Típus: python esptool.exe --port COM5 erase_flash

Természetesen válassza ki a megfelelő portot. Az én esetemben ez a COM5. Az ESP telepítésének portját a Vezérlőpult - Rendszer - Eszközkezelő segítségével ellenőrizheti.

Telepítse a firmware -t (innen vettem: https://micropython.org/download#esp8266) a következő beírásával:

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

Rendben, most készen állunk a mikropython -szkriptek feltöltésére az ESP8266 -ba.

Ehhez az Adafruit MicroPython Tool -t (ampy) használom.

De manapság van egy másik lehetőség, az Esplorer. Ez egy alkalmazás felhasználói felülettel, amely lehetővé teszi fájlok feltöltését az ESP modulokba.

Itt talál útmutatást az ampy telepítéséhez. Tehát tegye a TTL átalakító kapcsolóját "UART" állásba. Fájlokat kell feltöltenünk:

  • wifimgr.py - wifi menedzser a wifi hálózathoz való csatlakozáshoz
  • main.py - a fő szkriptünk

A parancssorba írja be: ampy --port COM5 a C: / elérési utat a fájlba

Nyomja meg az "enter" gombot. Néhány másodperc múlva üres parancssort kell látnia. Ez azt jelenti, hogy a fájl feltöltésre került. Az ESP fájljainak listáját az ampy paranccsal ellenőrizheti:

ampy --port COM5 ls

Tapasztalatom szerint jobb a main.py feltöltése, miután minden szükséges fájlt feltöltött. ez így van, mert amint feltölti a main.py -t - az ESP8266 modul újraindul, és elkezdi végrehajtani a main.py fájlt. Tehát ebben az esetben, ha másik fájlt próbál feltölteni, néha a feltöltési folyamat sikertelen lesz. De ez nem jelenti azt, hogy minden elveszett:), csak próbáld meg másodszor, és sikerülni fog (ismét, tapasztalataim szerint).

A projekthez tartozó összes fájl elérhető innen:

13. lépés: Csatlakozás a WiFi hálózathoz. Értesítést kapni

Csatlakozzon a WiFi hálózatához. Értesítést kapni
Csatlakozzon a WiFi hálózatához. Értesítést kapni
Csatlakozzon a WiFi hálózatához. Értesítést kapni
Csatlakozzon a WiFi hálózatához. Értesítést kapni

ha minden rendben van, indítsa újra a modult a TTL átalakító visszahelyezésével a számítógép USB -portjába.

Az ESP elindítása után keresse meg a Wifimanager nevű új WiFi hálózatot. Csatlakozzon hozzá számítógépével vagy telefonjával, majd lépjen a 192.168.4.1 IP -címre. Itt csatlakoztathatja az ESP -t a helyi WiFi hálózathoz. Válassza ki a használni kívánt WiFi hálózatot, írja be a jelszót, majd nyomja meg a "Küldés" gombot.

Ha minden rendben van, megjelenik az "ESP sikeresen csatlakozott az XXXX hálózathoz" üzenet. Az ESP most csatlakozik a WiFi hálózathoz, és készen áll. Amint csatlakozott a WiFi -hez, csatlakozik a Domoticz szerverhez. Shorty értesítést kell kapnia a mobiltelefonjára.

A folyamatot a "Beállítás"/"Napló" menüben követheti nyomon.

Vua lia!:) Működik. Most folytathatjuk az összes alkatrész összeszerelését az alábbi tömbvázlat szerint.

14. lépés: Blokkdiagram

Blokk diagramm
Blokk diagramm

Erről a diagramról nincs sok mondanivaló. Nagyon egyszerű. Kapcsolja be az áramellátást az S1 kapcsolóval. A készülék kikapcsolt állapotban áll, amíg a víz rövidre zárja a "Vízérzékelő" csapokat. Ezután a "Pololu board" bekapcsol, és áramot ad a feszültségváltónak. Ez a HT7333 chipen alapuló tápegység modul stabil feszültséget alakít át 3,3 V feszültségre az ESP8266 számára. A következő ESP bekapcsol, és üzenetet küld a Domoticz szervernek.

15. lépés: Eredmény és következtetések

Eredmény és következtetések
Eredmény és következtetések
Eredmény és következtetések
Eredmény és következtetések
Eredmény és következtetések
Eredmény és következtetések
Eredmény és következtetések
Eredmény és következtetések

Működik. Az értesítés küldése akár 10 másodpercet is igénybe vehet: csatlakozás a WiFi -hez, értesítés küldése, riasztási üzenet küldése a telefonra.

Beprogramoztam az érzékelőt, hogy 30 percenként küldjön riasztást, ha vizet észlelt. Az érzékelő legfeljebb 5-6 értesítést küldhet, amíg az akkumulátor le nem merül. Ez az eszköz a vízszint meghatározására is használható. Amit javítani szeretnék.

1. Hogy gyorsabban működjön. Azt hiszem, megpróbálom használni az ESP-Now technológiát, amely lehetővé teszi több ESP közvetlen csatlakoztatását. Ebben az esetben a csatlakoztatás során az energiafogyasztás nagyon alacsony és gyorsabb. Tehát az ötlet az, hogy egy ESP -t használjunk hubként más ESP -k csatlakoztatásához.

2. Végezze el az akkumulátor töltöttségi szintjének riasztását. Most már nem tudhatja, van -e elegendő áram a riasztási üzenet küldéséhez, vagy sem. Azt hiszem, az érzékelő következő generációjában lesz egy speciális gomb az akkumulátor töltöttségének tesztelésére.

A felhasználónak meg kell nyomnia egy gombot, és megjelenik az akkumulátor töltöttségi szintje.

Ajánlott: