Tartalomjegyzék:
- 1. lépés: A riasztórendszer vezérlő doboza
- 2. lépés: A riasztási zóna feszültségének mérése
- 3. lépés: Feszültségosztó létrehozása
- 4. lépés: Csatlakoztassa az LM339 -et
- 5. lépés: A Wemos D1 Mini bekötése
- 6. lépés: Tesztelés és OpenHAB konfiguráció
Videó: Riasztás PIR a WiFi -hez (és otthoni automatizáláshoz): 7 lépés (képekkel)
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:42
Áttekintés
Ez az utasítás lehetővé teszi, hogy az otthoni automatizálási szoftverben megtekinthesse a házriasztó PIR -jeinek (passzív infravörös érzékelői) aktiválásának utolsó dátumát/idejét (és opcionálisan az idők történetét). Ebben a projektben megvitatom az OpenHAB (ingyenes otthoni automatizálási szoftver, amelyet én személyesen használok) használatát, bár minden más otthoni automatizálási szoftverrel vagy alkalmazással, amely támogatja az MQTT -t (szintén ismertetjük ebben a cikkben). Ez az utasítás végigvezeti Önt a szükséges lépéseken az áramköri kártya és a Wemos D1 mini (egy IOT -kártya, amely ESP8266 chipet használ) bekötésére, amely a riasztó vezérlő doboz riasztási zónáiba csapódik be, így amikor egy zóna (amely egy vagy több PIR) aktiválódik, a Wemos vezeték nélküli üzenetet küld az MQTT protokoll használatával az otthoni automatizáló szoftverének, amely megjeleníti az aktiválás utolsó dátumát/idejét. Arduino kód is rendelkezésre áll a Wemos programozásához.
Bevezetés
A fenti képet látom az iPhone -om OpenHAB alkalmazásának egyik képernyőjén keresztül. A dátum/idő szöveg színkóddal van ellátva, hogy gyorsabban ábrázolja a PIR aktiválásának idejét - piros lesz (az utolsó 1 percben aktiválódott), narancssárga (az utolsó 5 percben aktiválódott), zöld (az utolsó 30 percben aktiválódott), kék (az elmúlt egy órán belül aktiválódott) vagy más módon, fekete. A dátumra/időre kattintva megjelenik a PIR -aktiválók előzményképe, ahol az 1 azt jelenti, hogy aktivált, a 0 pedig tétlen. Ennek sokféle felhasználási módja van, például kiegészítheti az otthoni jelenléti megoldást, képes észlelni a mozgást, ha távol vagy, és az OpenHAB szabályokon keresztül, értesítéseket küld a telefonodra, használhatod, mint én, hogy lássam, a gyerekeim felkelés az éjszaka közepén, a hálószobájukon kívül található PIR által kiváltva!
Az OpenHAB egyszerűen az általam használt otthoni automatizálási szoftver, sok más is létezik - és ha támogatják az MQTT -t, akkor könnyen adaptálhatja ezt a projektet az Ön által használt szoftverhez.
Feltételezések
Ez az utasítás azt feltételezi, hogy már rendelkezik (vagy beállít):
- Nyilvánvalóan otthoni riasztórendszer PIR -ekkel (passzív infravörös érzékelők), és hozzáfér a riasztó vezérlő dobozhoz a szükséges vezetékek csatlakoztatásához
- Az OpenHAB (ingyenes nyílt forráskódú otthoni automatizálási szoftver) fut, bár a megbeszéltek szerint minden olyan otthoni automatizálási szoftverrel együtt kell működnie, amely tartalmazhat MQTT kötést. Alternatív megoldásként saját maga is módosíthatja a kódot, hogy megfeleljen saját igényeinek.
- Mosquitto MQTT (vagy hasonló) közvetítő telepítve és kötve OpenHAB -val konfigurálva (az MQTT egy üzenetküldési előfizetés/közzététel típusú protokoll, amely könnyű és kiváló az eszközök közötti kommunikációhoz)
Ha nem futtatja az OpenHAB -ot és egy MQTT -brókert, tekintse meg ezt a kiváló cikket a MakeUseOf webhelyen
Mire van szükségem?
A vezeték nélküli vezérlő létrehozásához a következő részeket kell beszereznie:
- Wemos D1 mini V2 (beépített ESP8266 vezeték nélküli CHIP)
- LM339 összehasonlító (ez ellenőrzi a PIR tétlen és kiváltott állapotát)
- 5 V egyenáramú áramforrás a Wemos számára (VAGY DC-DC buck konverter. Megjegyzés: előfordulhat, hogy az LM7805 feszültségszabályozó nem működik ebben az alkalmazásban, amint ezt a projekt később tárgyalja)
- Két ellenállás egy feszültségosztóhoz (mérete a riasztási feszültségtől függ, a projekt későbbi részében tárgyaljuk)
- Egy 1K ohmos ellenállás, amely lehúzható ellenállóként működik az LM339 teljesítmény szabályozására
- Egy 2N7000 (vagy hasonló) MOSFET az LM339 logikai bekapcsolásához (esetleg opcionális, a projekt későbbi részében tárgyaljuk)
- Megfelelő méretű kenyérlap az áramkör beállításához és teszteléséhez
- Egy csomó kenyeretábla -vezeték, hogy mindent össze lehessen kötni
- Szükséges eszközök: oldalsó vágók, egymagos huzal
- DC multiméter (kötelező!)
1. lépés: A riasztórendszer vezérlő doboza
Először néhány figyelmeztetés és lemondás
Személy szerint Bosch riasztórendszerem van. Nagyon javaslom, hogy töltse le a megfelelő kézikönyvet az adott riasztórendszeréhez, és mielőtt elkezdi, ismerkedjen meg vele, mivel a zónák bekötéséhez le kell kapcsolnia a riasztórendszert. Azt is javaslom, hogy mielőtt elkezdené, olvassa el teljes egészében ezt a cikket!
Az alábbiakban felsorolunk néhány dolgot, amelyeket tudnia kell, mielőtt elkezdené - mindenképpen olvassa el és értse meg mindegyiket, mielőtt folytatja! Nem vállalok felelősséget, ha elrontja a riasztórendszert, és/vagy fizetnie kell a szerelőnek a javításért. Ha azonban elolvassa és megérti az alábbiakat, és megteszi a szükséges óvintézkedéseket, akkor rendben kell lennie:
1. A riasztórendszeremben volt egy tartalék akkumulátor a dobozban, és a fedél belsejében szabotázskapcsoló is volt (amely hozzáférést biztosít a riasztórendszerhez), így a riasztó külső kikapcsolása is, amikor eltávolítja a vezérlő előlapját doboz riasztást váltott ki! Ennek elkerülése érdekében, miközben a projekten dolgoztam, megkerültem a szabotázsvédelmet, kihúzva, majd rövidre zárva a szabotázskapcsolót (a vastag piros huzal, ahogy a fenti képen látható)
2. A riasztórendszer visszakapcsolásakor körülbelül 12 óra elteltével a riasztóközpont sípolni kezdett a hibakódokkal. Miután a hibakódokat a kézikönyvben meghatározta, rájöttem, hogy figyelmeztet, hogy:
- A dátum/idő nincs beállítva (a mester kódra és a kulcsok sorrendjére szükségem volt a kézikönyvből az újrakonfiguráláshoz)
- Hogy a tartalék akkumulátor nem volt csatlakoztatva (egyszerű javítás, csak elfelejtettem visszahelyezni az akkumulátort)
3. A riasztásomban 4 x zóna csatlakozóblokk (Z1 -Z4 jelzéssel) van a PIR -ek számára a fő riasztótáblán, de a riasztórendszerem valójában 8 zónára képes. Minden zónacsatlakozó blokk egyenként 2 x zónát tud futtatni (Z1 Z1 és Z5, Z2 Z2 és Z6 stb.). A riasztórendszer beépített szabotázsvédelemmel megakadályozza, hogy valaki szóljon, felnyitja a riasztórendszer fedelét a fent említett módon, vagy elvágja a vezetékeket a PIR-hez. Megkülönbözteti az egyes zóna szabotázsokat az EOL (sorvég) ellenállásokon keresztül. Ezek kifejezetten méretezett ellenállások, amelyek a "vonal végén" találhatók - más szóval a PIR -ben (vagy a vezérlődoboz szabotázskapcsolójában, vagy sziréna dobozában, vagy bármi, ami ehhez a zónához van kötve). Amint említettük, ezeket az ellenállásokat szabotázsként használják védelem” - technikailag, ha valaki elvágja a kábeleket egy PIR -hez - mivel a riasztórendszer bizonyos ellenállást vár el ettől a PIR -től, akkor ha az ellenállás megváltozik, feltételezi, hogy valaki beavatkozott a rendszerbe, és elindítja a riasztást.
Például:
A riasztómon a "Z4" zónában 2 vezeték van, az egyik a folyosón lévő PIR -hez, a másik pedig a riasztó vezérlő doboz szabotázskapcsolójához. A folyosó PIR belsejében 3300 ohmos ellenállás található. A másik vezeték, amely a vezérlődoboz szabotázskapcsolójához vezet, egy 6800 ohmos soros ellenállással rendelkezik. A riasztórendszer (logikusan) így különbözteti meg a "Z4" és a "Z8" szabotázsokat. Hasonlóképpen, a "Z3" zónában van egy PIR (3300 ohmos ellenállással), valamint a sziréna szabotázs kapcsoló (6800 ohmos ellenállással), amely a "Z7" -t alkotja. A riasztótelepítő előre konfigurálta volna a riasztórendszert, hogy tudja, melyik eszköz van csatlakoztatva az egyes zónákhoz (és módosítsa az EOL ellenállás méretét, hogy megfeleljen, mert a riasztórendszer úgy van programozva, hogy tudja, milyen méretűek a különböző EOL ellenállások.) semmilyen körülmények között ne módosítsa ezen ellenállások értékét!)
Tehát a fentiek alapján, mivel minden zónához több eszköz is csatlakoztatható (különböző ellenállási értékekkel), és emlékezve a V = IR képletre (feszültség = amper x ellenállás), ez azt is jelentheti, hogy minden zóna eltérő feszültségű lehet. Ez elvezet minket a következő lépéshez, az egyes zónák IDLE és TRIGGERED feszültségének méréséhez …
2. lépés: A riasztási zóna feszültségének mérése
Miután hozzáfér a riasztórendszer alaplapjához (és megkerüli a szabotázskapcsolót, ha rendelkezik ilyennel; az előző lépés szerint), kapcsolja be újra a riasztórendszert. Most meg kell mérnünk minden zóna feszültségét, amikor az alapjárat (nincs mozgás a PIR előtt) vs TRIGGERED (A PIR mozgást észlelt) Fogjon egy tollat és papírt, hogy leírhassa a feszültségértékeket.
FIGYELMEZTETÉS: A riasztórendszer nagy része nagy valószínűséggel 12 V egyenárammal működik, azonban kezdeti tápellátása 220 V (vagy 110 V) váltakozó áramú lesz, és a transzformátor átalakítja az áramot egyenáramra. OLVASSA EL a kézikönyvet, és tegyen fokozott elővigyázatosságot annak biztosítására, hogy NEM mérjen váltakozó áramú csatlakozókat !!! A riasztórendszerem képernyőképén látható, hogy ezen az oldalon látható, hogy a kép legalja a hálózati feszültség, 12V DC -re átalakítva. A 12 V egyenáramot a kiemelt piros dobozokban mérjük. Soha ne érintse meg a hálózati tápegységet. Rendkívül óvatosan!
PIR feszültség mérése
4 x PIR -em van a Z1 -től a Z4 -ig. Mérje meg az egyes zónákat az alábbiak szerint.
- Először azonosítsa a GND terminált és a zóna terminálokat a riasztó panelen. Ezeket kiemeltem a Bosch riasztó kézikönyvében látható képen.
- Fogja meg a multimétert, és állítsa a feszültségmérést 20V DC -re. Csatlakoztassa a multiméter fekete (COM) kábelét a riasztó GND termináljához. Helyezze a multiméter piros (+) vezetékét az első zónába - esetemben "Z1" felirattal. Írja le a feszültség leolvasását. Végezze el ugyanezeket a lépéseket a többi zónához. A feszültségmérésem a következő:
- Z1 = 6,65 V
- Z2 = 6,65V
- Z3 = 7,92V
- Z4 = 7,92V
A fentiek szerint az első két zónámhoz csak PIR -ek vannak csatlakoztatva. Az utóbbi két zónába PIR és szabotázsvédelem is be van kötve (Z3 vezérlőszekrény szabotázs, Z4 sziréna szabotázs) Vegye figyelembe a feszültségkülönbségeket.
3. Valószínűleg 2 emberre lesz szüksége a következő lépéshez. Azt is tudnia kell, hogy melyik PIR melyik zónában van. Menjen vissza, és olvassa le az első zóna feszültségét. Most vegyen valakit a házába, hogy sétáljon a PIR előtt, a feszültségnek le kell esnie. Vegye figyelembe az új feszültségleolvasást. Esetemben a feszültségek a következőképpen olvashatók, amikor a PIR -ek aktiválódnak:
- Z1 = 0V
- Z2 = 0V
- Z3 = 4,30V
- Z4 = 4,30V
A fentiek szerint látom, hogy az 1. és 2. zóna aktiválásakor a feszültség 6.65V -ról 0V -ra csökken. A 3. és 4. zóna aktiválásakor azonban a feszültség 7,92 V -ról 4,30 V -ra csökken.
12V -os tápegység mérése
A 12V egyenáramú terminált fogjuk használni a riasztó vezérlő dobozból a projektünk áramellátásához. Meg kell mérnünk a feszültséget a riasztó 12 V egyenáramú táplálásából. Bár már 12 V -ot tartalmaz, pontosabb leolvasást kell tudnunk. Az én esetemben valójában 13,15 V -ot mutat. Ezt írja le, a következő lépésben szüksége lesz erre az értékre.
Miért mérjük a feszültséget?
Az ok, amiért minden egyes PIR feszültségét mérnünk kell, az az általunk létrehozandó áramkör. Ebben a projektben egy LM339 négydimenziós differenciál-összehasonlító chipet (vagy négy op-erősítő komparátort) fogunk használni, mint alapvető elektromos komponenst. Az LM339 4 független feszültség-összehasonlítóval (4 csatorna) rendelkezik, ahol minden csatorna 2 x bemeneti feszültséget vesz fel (egy invertáló (-) és egy nem invertáló (+) bemenet, lásd az ábrát) Ha az invertáló bemeneti feszültség alacsonyabb, mint a nem invertáló feszültséget, akkor a hozzá tartozó kimenet a földhöz kerül. Hasonlóképpen, ha a nem invertáló bemeneti feszültség alacsonyabb, mint az invertáló bemenet, akkor a kimenet Vcc-ig húzódik. Kényelmesen, a házamban 4 x riasztó PIR/zóna van - ezért minden zóna bekötésre kerül az összehasonlító minden csatornájához. Ha több mint 4 x PIR -je van, szüksége lesz egy több csatornás összehasonlítóra, vagy egy másik LM339 -re!
Megjegyzés: Az LM339 nanoerősítőben fogyaszt áramot, így nem befolyásolja a meglévő riasztórendszer EOL ellenállását.
Ha ez zavaró, folytassa a következő lépéssel, mindenképpen értelmesebbé válik, amint bekötjük!
3. lépés: Feszültségosztó létrehozása
Mi az a feszültségosztó?
A feszültségosztó olyan áramkör, amely 2 x (vagy több) ellenállással rendelkezik sorban. Feszültséget biztosítunk (Vin) -ben az első ellenállásba (R1) Az R1 másik lába a második ellenállás első lábához (R2) csatlakozik, az R2 másik vége pedig a GND -hez. Ezután egy kimeneti feszültséget (Vout) veszünk az R1 és R2 közötti kapcsolatból. Ez a feszültség lesz az LM339 referenciafeszültsége. Ha többet szeretne megtudni a feszültségosztók működéséről, tekintse meg az Adohms youtube videóját
(Megjegyzés: az ellenállások nem rendelkeznek polaritással, így mindkét irányban beköthetők.)
Referenciafeszültségünk kiszámítása
Ha feltételezzük, hogy a feszültség csökken, amikor a PIR aktiválódik (ennek kell lennie a legtöbb riasztás esetében), akkor azt próbáljuk elérni, hogy olyan feszültségértéket kapunk, amely nagyjából félúton van a legalacsonyabb üresjárati feszültség és a legmagasabb kiváltott feszültség között, ez lesz a referenciafeszültségünk.
Példaként véve az ébresztőmet…
A zóna üresjárati feszültségei Z1 = 6.65V, Z2 = 6.65V, Z3 = 7.92V, Z4 = 7.92V. A legalacsonyabb üresjárati feszültség tehát 6,65 V
A zóna által kiváltott feszültségek a következők voltak: Z1 = 0V, Z2 = 0V, Z3 = 4.30V, Z4 = 4.30V. A legnagyobb aktivált feszültség tehát 4,30 V
Tehát számot kell választanunk félúton 4,30 V és 6,65 V között (nem kell pontosnak lennie, csak nagyjából). Esetemben a referenciafeszültségnek 5,46 V körül kell lennie. Megjegyzés: Ha a legalacsonyabb üresjárati és a legmagasabb kiváltott feszültség nagyon közel van egymáshoz több zóna miatt, amelyek különböző feszültségek tartományát okozzák, akkor lehet, hogy létre kell hoznia 2 vagy több feszültségosztót.
Ellenállás értékeink kiszámítása a feszültségosztóhoz
Most van egy referenciafeszültségünk, ki kell számolnunk, hogy milyen méretű ellenállásokra van szükségünk egy olyan feszültségosztó létrehozásához, amely biztosítja a referenciafeszültségünket. A riasztásból származó 12V DC feszültségforrást (Vs) fogjuk használni. Azonban az előző lépés szerint, amikor a 12 V egyenáramot mértük, valójában 13,15 V -ot kaptunk. Ki kell számolnunk a feszültségosztót, ezt az értéket használva forrásként.
A Vout kiszámítása ohmos törvény segítségével…
Vout = Vs x R2 / (R1 + R2)
… Vagy használjon online feszültségosztó számológépet:-)
A kívánt kimenet eléréséig kísérleteznie kell az ellenállás értékeivel. Az én esetemben ez R1 = 6,8 k ohm és R2 = 4,7 K ohm esetén működött, hosszú formában számítva az alábbiak szerint:
Vout = Vs x R2 / (R1 + R2)
Vout = 13,15 x 4700 / (6800 + 4700)
Vout = 61, 805/11, 500
Vout = 5,37V
4. lépés: Csatlakoztassa az LM339 -et
Feszültségosztó az LM339 invertáló bemenetekhez
Amint azt korábban az LM339 összehasonlítóval kapcsolatban tárgyaltuk, 2 x bemenetre lesz szükség. Az egyik feszültség lesz minden PIR-től az egyes csatornák nem invertáló (+) termináljához, a másik pedig a referenciafeszültségünk az invertáló (-) terminálhoz. A referenciafeszültségnek táplálni kell mind a 4 összehasonlító invertáló bemenetet. Kapcsolja ki a riasztórendszert, mielőtt végrehajtja ezeket a lépéseket.
- Vegyen vezetéket a riasztóberendezés 12 V egyenáramú blokkjától a kenyérsütő + sínjéhez *
- Húzzon vezetéket a riasztórendszer GND blokkjától a kenyértábláján lévő sínig **
- Telepítse az LM339 összehasonlítót a kenyértábla közepére (a bevágás a legközelebb van az 1 -es csaphoz)
- Telepítse a 2 x ellenállást, hogy létrehozzon egy feszültségosztó áramkört és vezetéket az osztott feszültség kimenethez
- Vezesse a vezetékeket a feszültségosztott Vout -ból minden LM339 invertáló terminálhoz
* TIPP: ha lehet, használjon aligátorcsipeszt az áramellátáshoz, mivel ez megkönnyíti a projekt ON/OFF áramellátását ** FONTOS! MOSFET -re lehet szükség, ha a Wemos -t a Riasztás panelről táplálja! Esetemben az LM339, a Wemos és az Alarm ugyanabból a forrásból kap áramot (azaz: maga a riasztórendszer) Ez lehetővé teszi, hogy egyetlen tápellátással mindenre bekapcsoljam. Mindazonáltal alapértelmezés szerint a Wemos GPIO csapjai "INPUT" csapokként vannak definiálva - vagyis minden feszültséget felvesznek rájuk, és arra a forrásra támaszkodva biztosítják a megfelelő feszültségi szintet (min/max szint), hogy a Wemos nyerjen " t összeomlik vagy kiég. Az én esetemben a riasztórendszer felkapja az energiáját, és nagyon gyorsan elkezdi a rendszerindítást - valójában olyan gyorsan, hogy ezt még azelőtt teszi, hogy a Wemos elindulna, és a GPIO csapokat "INPUT_PULLUP" -nak ("feszültség" felfelé húzva) nyilvánítja. Forgács). Ez nem jelenti azt, hogy a feszültségkülönbségek miatt a Wemos összeomlana, amikor az egész rendszer áramot kap. Az egyetlen megoldás a Wemos manuális kikapcsolása és bekapcsolása lenne. Ennek megoldásához egy MOSFET -et adnak hozzá, amely "logikai kapcsoló" -ként működik az LM339 bekapcsolásához. Ez lehetővé teszi, hogy a Wemos elinduljon, 4 x összehasonlító GPIO csapját "INPUT_PULLUP" -ra állítsa, néhány másodpercet késleltet, majd Ekkor (egy másik, D5 GPIO -tűn keresztül, mint OUTPUT) "HIGH" jelet küld a GP5 DIO tűn keresztül a MOSFET -re, amely logikailag bekapcsolja az LM339 -et. Javaslom a fentiek szerinti bekötést, de HA úgy találja, hogy a Wemos összeomlik, mint én, akkor be kell vennie a MOSFET -et 1 k ohmos lehúzó ellenállással. Ennek módjáról további információt az oktatóanyag végén talál.
Riasztási zónák az LM339 nem invertáló bemenetekre
Most vezetékeket kell vezetnünk a riasztóközpont minden zónájából az LM339 összehasonlító bemenetekhez. A riasztórendszer kikapcsolt állapotában minden zóna számára vezetéket kell vezetni az LM339 összehasonlító minden nem invertáló (+) bemenetére. Például az én rendszeremben:
- A Z1 vezeték az LM339 1+ bemenetre megy
- A Z2 vezeték az LM339 2+ bemenetre megy
- A Z3 vezeték a 3+ LM339 bemenetre megy
- A Z4 vezeték az LM339 4+ bemenetre megy
Ha emlékeztetőt szeretne kapni, olvassa el az LM339 kioldóját a 3. lépésben (ez színkóddal van ellátva a kenyértábla képével). Ha elkészült, a kenyértáblának hasonlónak kell lennie az ebben a lépésben látható képhez.
Kapcsolja be a riasztórendszert, és mérje meg a feszültségosztóból kilépő feszültséget, hogy megbizonyosodjon arról, hogy megegyezik a korábban számított referenciafeszültséggel.
5. lépés: A Wemos D1 Mini bekötése
A Wemos D1 mini bekötése
Most már minden LM339 bemenetről gondoskodunk, most be kell vezetnünk a Wemos D1 mini -t. Minden LM339 kimeneti csap egy Wemos GPIO (általános célú bemenet/kimenet) tűhöz kerül, amelyet kódon keresztül kijelölünk bemeneti húzócsapként. A Wemos legfeljebb 5 V feszültséget vesz igénybe Vcc (bemeneti forrás) feszültségként (bár ezt belsőleg 3,3 V -ra szabályozza) Egy nagyon gyakori LM7805 feszültségszabályozót (EDIT: lásd alább) fogunk használni, hogy a 12V -os sín leereszkedjen a kenyértáblán 5V a Wemos áramellátásához. Az LM7805 adatlapja azt jelzi, hogy a szabályozó mindkét oldalán bekötött kondenzátorra van szükségünk, hogy kiegyenlítsük az áramot, amint az a kenyértábla képén látható. A kondenzátor hosszabb lába pozitív (+), ezért győződjön meg róla, hogy a megfelelő módon van bekötve.
A feszültségszabályozó leveszi a feszültséget (bal oldali tüske), földelést (középső érintkező) és feszültséget (jobb oldali érintkező). Ellenőrizze kétszer a csatlakozót, ha a feszültségszabályozó eltér az LM7805-től.
(EDIT: Úgy találtam, hogy a riasztópanelről érkező erősítők túl magasak voltak az LM7805 kezeléséhez. Ez sok hőt okozott az LM7805 kis hűtőbordájában, és meghibásodott, és a Wemos leállt működik. Az LM7805-öt és a kondenzátorokat DC-DC buck konverterre cseréltem, és azóta nincs probléma. Ezeket nagyon könnyű bekötni. Egyszerűen csatlakoztassa a riasztó bemeneti feszültségét, csatlakoztassa először egy multiméterhez, és használja a potenciométer csavart és állítsa be, amíg a kimeneti feszültség nem lesz ~ 5V)
GPIO bemeneti csapok
Ehhez a projekthez a következő csapokat használjuk:
- Z1 zóna => D1 csap
- Z2 zóna => D2 csap
- Z3 zóna => D3 csap
- Z4 zóna => D5 csap
Csatlakoztassa a kimeneteket az LM339 -ből a kapcsolódó GPIO -tűkhöz a Wemos táblán, az ebben a lépésben látható kenyértábla kép szerint. Ismét színkódoltam a bemeneteket és a megfelelő kimeneteket, hogy könnyebben lássam, mi mire vonatkozik. Az Arduino minden GPIO -csapját „INPUT_PULLUP” -ként definiálják, vagyis normál használat mellett (IDLE) 3,3 V -ra húzzák, és az LM339 lehúzza őket a földre, ha a PIR aktiválódik. A kód észleli a HIGH to LOW változást, és vezeték nélkül üzenetet küld az otthoni automatizáló szoftvernek. Ha problémái vannak ezzel a működéssel, lehetséges, hogy az invertáló és nem invertáló bemeneteit rossz irányba fordítja (ha a PIR feszültsége a bekapcsoláskor magas lesz, mint a legtöbb hobbi PIR esetében, akkor szeretné, ha a kapcsolatok fordítva)
Arduino IDE
Távolítsa el a Wemos -t a kenyértábláról, most fel kell töltenünk egy kódot (alternatív link itt) Nem részletezem, hogyan kell ezt megtenni, mivel rengeteg cikk található a weben a kód Wemos -ra vagy más ESP8266 -ra való feltöltéséről típusú táblák. Csatlakoztassa az USB -kábelt a Wemos kártyához és a számítógéphez, és kapcsolja be az Arduino IDE -t. Töltse le a kódot, és nyissa meg a projektben. Gondoskodnia kell arról, hogy a megfelelő kártya legyen telepítve és betöltve a projekthez, valamint a megfelelő COM port legyen kiválasztva (Eszközök, Port). Szüksége lesz a megfelelő könyvtárak telepítésére is (PubSubClient, ESP8266Wifi) Ahhoz, hogy a Wemos tábla szerepeljen a vázlatában, olvassa el ezt a cikket.
Meg kell változtatnia a következő kódsorokat, és ki kell cserélnie saját SSID -jére és jelszavára a vezeték nélküli kapcsolathoz. Ezenkívül módosítsa az IP -címet, hogy a saját MQTT -brókerére mutasson.
// Wifi
const char* ssid = "saját_wifi_szolida_ideje"; const char* password = "saját_wifi_jelszó_ideje"; // MQTT Broker IPAddress MQTT_SERVER (172, 16, 223, 254)
Miután megváltoztatta, ellenőrizze a kódot, majd töltse fel a Wemos táblára USB -kábelen keresztül.
Megjegyzések:
- Ha különböző GPIO portokat használ, módosítania kell a kódot. Ha nálam több vagy kevesebb zónát használ, akkor módosítania kell a kódot és a TOTAL_ZONES = 4; állandóan megfelel.
- A riasztórendszerem indításakor a riasztórendszer teljesítménytesztet hajtott végre mind a 4 x PIR -nek, amelyek az összes csatlakoztatott GPIO -t a földre húzták, és a Wemos azt gondolta, hogy a zónák aktiválódnak. A kód figyelmen kívül hagyja az MQTT üzenetek küldését, ha mind a 4 zónát egyszerre látja aktívnak, mivel feltételezi, hogy a riasztórendszer bekapcsol.
Alternatív letöltési link a kódhoz ITT
6. lépés: Tesztelés és OpenHAB konfiguráció
MQTT tesztelés
Az MQTT egy "feliratkozás / közzététel" üzenetküldő rendszer. Egy vagy több eszköz beszélhet az "MQTT brókerrel", és "feliratkozhat" egy bizonyos témára. Bármely más eszközről érkező, ugyanazon témához "közzétett" üzeneteket a bróker kiküldi az összes olyan eszközre, amely előfizetett rá. Rendkívül könnyű és egyszerűen használható protokoll, és tökéletes olyan egyszerű indítórendszerként, mint amilyen itt van. A teszteléshez megtekintheti a Wemos -ból az MQTT -brókerhez érkező MQTT -üzeneteket a következő parancs futtatásával a Mosquitto -kiszolgálón (a Mosquitto egyike a sok MQTT Broker szoftvernek). Ez a parancs előfizet a bejövő Keepalive üzenetekre:
mosquitto_sub -v -t openhab/alarm/status
Látnia kell a bejövő üzeneteket, amelyek körülbelül 30 másodpercenként érkeznek a Wemos -ból, "1" számmal (azaz "élek"). Ha állandó "0 -t" lát (vagy nincs válasz), akkor nincs kommunikáció. Amint látja, hogy az 1 -es szám bejön, ez azt jelenti, hogy a Wemos kommunikál az MQTT brókerrel (keresse az "MQTT Last Will and Testament" -t, ha további információra van szüksége ennek működéséről, vagy nézze meg ezt az igazán jó blogbejegyzést)
Miután bebizonyította, hogy a kommunikáció működőképes, tesztelhetjük, hogy egy zónaállapotot az MQTT -n keresztül jelentenek -e. Iratkozzon fel a következő témára (a # helyettesítő karakter)
mosquitto_sub -v -t openhab/alarm/#
A szokásos állapotüzeneteknek be kell jönniük, akárcsak a Wemos IP -címének. Sétáljon a PIR előtt, és látnia kell a zónainformációkat is, jelezve, hogy NYITVA van, majd egy másodperccel később, hogy ZÁRVA van, hasonlóan az alábbiakhoz:
openhab/riasztás/állapot 1
openhab/alarm/zone1 OPEN
openhab/alarm/zone1 ZÁRVA
Ha ez működik, beállíthatjuk az OpenHAB -ot, hogy ez szépen megjelenjen a GUI -ban.
OpenHAB konfiguráció
A következő változtatásokra van szükség az OpenHAB -ban:
'alarm.map' átalakító fájl: (opcionális, teszteléshez)
ZÁRVA = IdleOPEN = IndítottNULL = Ismeretlen- = Ismeretlen
'status.map' átalakító fájl:
0 = Nem sikerült
1 = Online -= LE! NULL = ismeretlen
"items" fájl:
String alarmMonitorState "Alarm Monitor [MAP (status.map):%s]" {mqtt = "<[mqttbroker: openhab/alarm/status: state: default]"} String alarmMonitorIPAddress "Alarm Monitor IP [%s]" {mqtt = "<[mqttbroker: openhab/alarm/ipaddress: state: default]"} Number zone1_Chart_Period "Zone 1 Chart" Contact alarmZone1State "Zone 1 State [MAP (alarm.map):%s]" {mqtt = "<[mqttbroker: openhab/alarm/zone1: state: default "} String alarmZone1Trigger" Lounge PIR [%1 $ ta%1 $ tr] "Number zone2_Chart_Period" Zone 2 Chart "Contact alarmZone2State" Zone 2 State [MAP (alarm.map):% s] "{mqtt =" <[mqttbroker: openhab/alarm/zone2: state: default "} String alarmZone2Trigger" First Hall PIR [%1 $ ta %1 $ tr] "Number zone3_Chart_Period" Zone 3 Chart "Kapcsolat alarmZone3State" Zone 3 Állapot [MAP (alarm.map):%s] "{mqtt =" <[mqttbroker: openhab/alarm/zone3: state: default "} String alarmZone3Trigger" Hálószoba PIR [%1 $ ta%1 $ tr] "Szám zone4_Chart_Period "Zone 4 Chart" Contact alarmZone4State "Zone 4 State [MAP (alarm.map):%s]" {mqtt = "<[mqttbroker: openha b/alarm/zone4: state: default "} String alarmZone4Trigger" Főcsarnok PIR [%1 $ ta %1 $ tr]"
"webhelytérkép" fájl (beleértve az rrd4j grafikont):
Szövegelem = alarmZone1Trigger valuecolor = [<= 60 = "#ff0000", <= 300 = "#ffa500", <= 600 = "#008000", 3600 = "#000000"] {Frame {Switch item = zone1_Chart_Period label = "Period" mappings = [0 = "Hour", 1 = "Day", 2 = "Week"] Kép url = "https:// localhost: 8080/rrdchart.png" visibility = [zone1_Chart_Period == 0, zone1_Chart_Period = = Nem inicializált] Kép url = "https:// localhost: 8080/rrdchart.png" visibility = [zone1_Chart_Period == 1] Kép url = "https:// localhost: 8080/rrdchart.png" visibility = [zone1_Chart_Period == 2]}} Szövegelem = alarmZone2Trigger valuecolor = [<= 60 = "#ff0000", <= 300 = "#ffa500", <= 600 = "#008000", 3600 = "#000000"] {Frame {Switch item = zone2_Chart_Period label = "Period" leképezések = [0 = "Hour", 1 = "Day", 2 = "Week"] Kép url = "https:// localhost: 8080/rrdchart.png" visibility = [zone2_Chart_Period == 0, zone2_Chart_Period == Nem inicializált] Kép url = "https:// localhost: 8080/rrdchart.png" visibility = [zone2_Chart_Period == 1] Kép url = "https:// localhost: 8080/rrdchart.png" visibility = [zone2_Chart_Period == 2]}} Szövegelem = alarmZone3Trigger valuecolor = [<= 60 = "#ff0000", <= 300 = "#ffa500", <= 600 = "#008000", 3600 = "#000000"] {Frame {Switch item = zone3_Chart_Period label = "Period" leképezések = [0 = "Óra", 1 = "Nap", 2 = "Hét"] Kép url = "https:// localhost: 8080/rrdchart.png" visibility = [zone3_Chart_Period == 0, zone3_Chart_Period == Inicitialized] Kép url = "https:// localhost: 8080/rrdchart.png" visibility = [zone3_Chart_Period == 1] Kép url = "https:// localhost: 8080/rrdchart.png" visibility = [zone3_Chart_Period == 2]}} Szöveg item = alarmZone4Trigger valuecolor = [<= 60 = "#ff0000", <= 300 = "#ffa500", <= 600 = "#008000", 3600 = "#000000"] {Frame {Switch item = zone4_Chart_Period label = " Period "mappings = [0 =" Hour ", 1 =" Day ", 2 =" Week "] Kép url =" https:// localhost: 8080/rrdchart.png "visibility = [zone4_Chart_Period == 0, zone4_Chart_Period == Nem inicializált] Kép url = "https:// localhost: 8080/rrdchart.png" visibility = [zone4_Chart_Period == 1] Kép url = "https:// localhost: 8080/rrdchart.png" visibility = [zone4_Chart_Period == 2] }} // Választható, de hasznos az állapot és az IP -cím diagnosztizálásához ss Text item = alarmMonitorState Szövegelem = alarmMonitorIPAddress
"szabályok" fájl:
szabály "1. riasztási zóna állapotváltozása"
amikor a alarmZone1State tétel OPEN -re változott, majd postUpdate (alarmZone1Trigger, new DateTimeType ()) alarmZone1State.state = ZÁRVA vége
szabály "Riasztási zóna 2 állapotváltozás"
amikor a alarmZone2State tétel OPEN -re változott, majd postUpdate (alarmZone2Trigger, new DateTimeType ()) alarmZone2State.state = ZÁRVA vége
szabály "Riasztási 3. zóna állapotváltozása"
amikor a alarmZone3State tétel OPEN -re változott, majd postUpdate (alarmZone3Trigger, new DateTimeType ()) alarmZone3State.state = ZÁRVA vége
szabály: "4. riasztási zóna állapotváltozása"
amikor a alarmZone4State tétel OPEN -re változott, majd postUpdate (alarmZone4Trigger, new DateTimeType ()) alarmZone4State.state = ZÁRVA vége
Lehet, hogy kissé módosítania kell a fenti OpenHAB konfigurációt, hogy megfeleljen a saját beállításainak.
Ha bármilyen problémája van a PIR -ek aktiválásával, akkor kezdje elölről, és mérje meg az áramkör minden részének feszültségét. Ha elégedett ezzel, ellenőrizze a kábelezést, győződjön meg arról, hogy van közös pont, ellenőrizze a Wemos üzeneteit soros hibakeresési konzolon keresztül, ellenőrizze az MQTT kommunikációt, és ellenőrizze a transzformáció, elemek és webhelytérkép -fájlok szintaxisát.
Sok szerencsét!
Ajánlott:
WI-Fi vezérelt 4CH relé modul az otthoni automatizáláshoz: 7 lépés (képekkel)
WI-Fi vezérlésű 4 csatornás relé modul az otthoni automatizáláshoz: Korábban sok WI-FI-t használtam kikapcsolt kapcsolók alapján. De ezek nem felelnek meg a követelményemnek. Ezért szerettem volna sajátot építeni, amely minden változtatás nélkül helyettesítheti a normál fali kapcsolóaljzatokat. Az ESP8266 chip lehetővé teszi a Wifi használatát
Az LG csatornás felosztásának feltörése az otthoni automatizáláshoz: 8 lépés (képekkel)
Az LG csatornás felosztásának feltörése az otthoni automatizáláshoz: Először is - Ez nem egy újabb infravörös távirányító -emulációs hack. Az én különálló váltakozó áramkörömnek nincs használható interfésze, amelyet bármilyen más vezérléshez terveztek, kivéve a mellékelt, falra szerelt intelligens vezérlőket. Van egy LG Ducted reverse split rendszer az én
Homie eszközök építése IoT vagy otthoni automatizáláshoz: 7 lépés (képekkel)
Homie -eszközök építése IoT -hez vagy otthoni automatizáláshoz: Ez az oktatható anyag a DIY Home Automation sorozatom része, nézze meg a " DIY Home Automation System tervezése " főcikket. Ha még nem tudja, mi az a Homie, tekintse meg a homie-esp8266 + homie-t Marvin Roger-től. Sok sok
ESP8266-01 IoT intelligens időzítő otthoni automatizáláshoz: 9 lépés (képekkel)
ESP8266-01 IoT intelligens időzítő otthoni automatizáláshoz: UPDATES30/09/2018: Firmware frissítve az 1.09-es verzióra. Most a Sonoff Basic támogatásával, 01/10/2018: Az firmware 1.10-es verziója kipróbálható az ESP8266-01 tesztelésére, problémákkal. Az új divatszavak az Internet of Things (IoT) és a Home Automation, úgy döntöttem, hogy
DIY IoT lámpa otthoni automatizáláshoz -- ESP8266 bemutató: 13 lépés (képekkel)
DIY IoT lámpa otthoni automatizáláshoz || ESP8266 bemutató: Ebben az oktatóanyagban egy internethez csatlakoztatott intelligens lámpát készítünk. Ez mélyen behatol a dolgok internetébe, és megnyitja az otthoni automatizálás világát! Ez azt jelenti, hogy választhat