Tartalomjegyzék:
- 1. lépés: Hozza létre az áramkört az interfészhez ESP-01 és ajtócsengőt
- 2. lépés: 3.3VDC tápegység ESP-01-hez
- 3. lépés: Az ESP-01 villogása
- 4. lépés: Tesztfuttatás
- 5. lépés: Az alaplap és a tápegység integrálása a csengőhangba
- 6. lépés: Utolsó érintés
Videó: MQTT/Google Home DoorBell ESP-01 használatával: 6 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:42
Elfelejtette valaha is válaszolni egy vendégnek, aki csengetett a csengőjén, csak azért, mert a ház olyan részében van, amely túl messze van ahhoz, hogy meghallja a csengő hangját? például pincében, zárt ajtós hálószobában, vagy esetleg tévét nézett vagy zenét hallgatott.
Ha hozzám hasonlóan, van egy vagy több Google otthoni hangszórója a ház több pontján, akkor ez az oktatható dolog lehet az, amire szüksége van.
Ebben az utasításban megmutatom, hogyan adhat hozzá MQTT klienst egy meglévő csengőhanghoz, hogy kommunikáljon az MQTT brókerrel a Google home / pushbullet értesítésével, a NodeRED használatával. Ez a projekt nem helyettesíti a csengőkapcsolót és a csengőt. Még mindig rendszeres mechanikus nyomógombot használ az ajtócsengőhöz.
Az ESP-01 modult hozzáadjuk a meglévő 16VAC-os csengőrendszerhez, és hozzáadjuk az MQTT funkciót, hogy üzenetet küldjünk az MQTT brókernek (ha a csengőkapcsolót megnyomjuk). Az MQTT bróker továbbítja az üzenetet a NodeRED számára. Az MQTT üzenet fogadása után a NodeRED bejelentést küld több Google otthoni eszközre, és opcionálisan üzenetet küld a mobiltelefonnak/böngészőnek pushbulleten keresztül.
Szenvedélyem a DIY otthoni automatizálás, és lassan az IOT hozzáadása az otthonomhoz. A Google home az otthoni automatizálás egyik központi funkciója volt.
A fiam adta az ötletet ehhez a projekthez, amikor megkérdezte, hogy tudom -e a google home -t bejelenteni minden alkalommal, amikor valaki csenget. Van 2 emeletünk + befejezzük az alagsort otthonunkban, és sokszor nem hallottuk a harangjátékot, amikor a pincénkben vagy az emeleten vagyunk a hálószobában, csukott ajtóval vagy bekapcsolt TV -vel.
A házunkban 4 google home mini található különböző helyeken/helyiségekben, és ha a google home segítségével bejelent egy ajtócsengőt, azonnal tudjuk, hogy bárhol a házban, ha valaki csenget.
A házamban a RaspberryPi ZeroW -t használom a Mosquitto MQTT szerver és a NodeRED kiszolgálásához. Több mint egy éve működik minden probléma nélkül.
Hivatkozások:
- Ajtócsengő kapcsolási rajzai:
- Telepítse a Mosquitto MQTT Brokert a Raspberry Pi-re:
- Telepítse a NodeRED -t a Raspberry Pi -re:
1. lépés: Hozza létre az áramkört az interfészhez ESP-01 és ajtócsengőt
Az első lépés az, hogy létrehozzuk azt az áramkört, amely az ESP-01 és az ajtócsengő közötti interfész lenne. A tipikus ajtócsengő akkor aktiválódik, ha 16VAC van a "TRANS (volt)" és a "ELSŐ/HÁTSÓ" csapok között, amint az az első fényképemen látható. A feszültség megjelenik a csapokon, amikor megnyomja a csengő gombot.
Az általam tervezett áramkör ezt a 16VAC jelet érzékeli, és körülbelül 3,3VDC digitális jellé alakítja. Ez egy alapvető félhullámú egyenirányító, amelyet D1 és C1 alkot. Ebben a helyzetben nincs szükségünk teljes hullámú egyenirányítóra, mivel nagyon kicsi a terhelés az egyenáramú kimenetre, és ezzel egy kicsit megtakarítunk az ingatlanon. Szeretném a lehető legkevesebbre készíteni a táblát, hogy elhelyezhessem a meglévő csengőhangomban.
Az R1 és R2 feszültségosztót képez, hogy a csúcs egyenáramú feszültséget 3,3 V körülire csökkentse.
R3, TR1 és R4 invertert képeznek, hogy fordított logikát biztosítsanak az ESP-01 GPIO-2 számára. Erre azért van szükség, hogy a rendszer logikailag HIGH legyen a rendszerindítás során (az R4 és R5 felhúzással) az ESP-01 vakuról történő indításához. Az ajtócsengő nyomógombjának megnyomásakor LOW logikát mutat a GPIO-2. TR1 lehet bármilyen kis teljesítményű NPN tranzisztor, az én esetemben a 2N3904-et használtam.
A V1 egy 3,3 V egyenáramú tápegység, amelyet egy régi 5 V -os mobiltelefon -töltő segítségével építettem, és az AMS1117 3,3 V egyenáramú szabályozót, amelyet a következő lépésben mutatok be.
Az ESP-01 aljzathoz egy 8 tűs szabványos IC aljzatot használok, és elvágom a sorok közötti rést létrehozó műanyag hidakat, majd összeragasztom a 2 sort.
2. lépés: 3.3VDC tápegység ESP-01-hez
Ebben a lépésben elkészítjük a 3.3VDC tápegységet az ESP-01 számára. Van néhány régi 500mA és 700mA 5VDC USB töltő adapter, amelyet erre a projektre terveztem. Szükségünk van továbbá 3.3VDC szabályozóra, hogy az 5V-os feszültséget 3.3V-ra csökkentsük, ehhez egy olcsó, előre megépített AMS1117 alapú szabályozó modult használok, amelyet az ebay-től vettem. Kereshet a "3.3V AMS1117 modul" kifejezésre, és megtalálja az Önnek megfelelőt.
Ez a 3,3 V-os szabályozó modul nagyon kicsi, hogy ténylegesen be tudom tölteni az eredeti 5 V-os USB-töltőházba, így biztonságosabb a lehetséges rövidzárlat ellen. Eltávolítottam a töltőmodulból a váltakozó áramú fali csatlakozókat, és kicseréltem két kábellel, amelyek 120VAC -hoz csatlakoznak a meglévő csengő mögötti falról. De ne távolítsa el a fogakat ezen a lépésen, amíg nem teszteljük a következő lépést.
Ha van fali konnektor a közelben, vagy ha nem akarja közvetlenül csatlakoztatni a tápegységet a ház vezetékeihez, akkor egyszerűen csatlakoztassa a módosított tápegységet a fali csatlakozóhoz, és futtassa a kábelezést a csengőhöz, bár nem tűnik olyan tisztának, mint közvetlenül a ház vezetékeihez csatlakoztatni.
Nézze meg az egyik fotómat, hogy a csengőm mögött 120VAC kábelezés és a 16VAC transzformátor található.
A 3.3V-os szabályozó kimenete ekkor az ESP-01 interfész kártyához csatlakozik az előző lépés szerint.
3. lépés: Az ESP-01 villogása
Ebben a lépésben megvillanjuk az ESP-01-t arduino vázlattal. Ha még soha nem villantotta fel az ESP-01 modult, kövesse az utasításokat az induláshoz:
A vázlatomat megtalálod a github oldalamon:
A vázlatban legalább meg kell változtatnia a következő információkat, amelyek az otthoni hálózatra/beállításra vonatkoznak:
#define MQTT_SERVER "10.0.0.30" const char* ssid1 = "SSID"; const char* password1 = "MYSSIDpassword"; const char* ssid2 = "SSID1"; const char* password2 = "MYSSIDpassword";
Az otthoni hálózatomban 2 különböző hozzáférési pontom van, amelyek 2 különböző SSID -t sugároznak, és ez a vázlat lehetővé tenné a redundanciát, ha a következő SSID -hez csatlakozna, ha megszakad a kommunikáció az aktuális AP -vel. Ha csak egy SSID -je van, töltse fel az ssid1 és az ssid2 azonos értékkel.
Miután elvégezte a módosítást, töltse fel a vázlatot az ESP-01-be, és csatlakoztassa az ESP-01-t az interfészlaphoz.
4. lépés: Tesztfuttatás
Az 1. lépéstől kezdve felépítettük az ESP-01 interfész kártyát, a 2. lépéstől pedig az ESP-01 kártya 3.3V-os tápegységét. Most csatlakoztatjuk a tápegység kimenetét a kártyához a kapcsolási rajz szerint, V1 -ként.
A következő lépés az, hogy a csengőhang Trans/Door terminálokat az "Door Chime Terminals" néven látható interfészkártya -csatlakozásokhoz kell csatlakoztatni. Mivel a hangjelzőm magasan van a falra szerelve, a próbaüzemre ideiglenesen egy hosszú kábelt vezetek a csipogó terminálokról a kártyára, hogy bekapcsolhassam a tápegységet.
Annak tesztelésére, hogy működik -e a konstrukciónk, a legegyszerűbb az MQTT üzenetek figyelése a hálózaton. Ehhez meg kell nyitnia egy SSH munkamenetet a szúnyogbrókernek, és ki kell adnia a következő parancsot:
mosquitto_sub -v -t '#'
A fenti parancs lehetővé teszi, hogy láthassuk az összes MQTT üzenetet, amely a közvetítőbe érkezik.
Most csatlakoztassa a tápegységet a fali aljzathoz, és ha minden működik, néhány másodpercen belül legalább az alábbi MQTT üzenetet kell látnia:
stat/DoorBell/LWT Online
Most menjen kifelé, és csengessen be, és ezt az üzenetet kell látnia:
tele/DoorBell BE
Ha látja ezeket az üzeneteket, a projekt sikeres.
Több hasznos MQTT témát is felvettem a vázlatba, amelyeket használhat:
"stat/DoorBellInfo": ezt az üzenetet minden percben elküldik az üzemidő és egyéb információk megadása érdekében.
"cmnd/DoorBellInfo": Az ESP-01 információt küld, ha megkapja ezt a témát "1" értékkel (ascii = 49) "cmnd/DoorBellCPUrestart": az ESP-01 újraindul, ha megkapja ezt a témát "1" értékkel '(ascii = 49) "cmnd/DoorBellCPUreset": Az ESP-01 alaphelyzetbe áll, ha ezt a témát "1" értékkel kapja meg (ascii = 49)
"tele/FrontDoorBell": Az ESP-01 üzenetet küld a témában "ON" értékkel, ha megnyomja a csengőt
5. lépés: Az alaplap és a tápegység integrálása a csengőhangba
Most, hogy sikeres próbaüzemünk van, össze kell szerelnünk a táblát és a tápegységet a csengőhangunkban (ha lehetséges). A meglévő csengettyűmben van egy üres ház, amelyet fel tudtam vágni, és be tudtam illeszteni a tápegységet az adott helyre. Az ESP-01 tábla nem fér bele ebbe a kis helyre, de mégis belefér a csengő dobozába. Csak egy vastag kétoldalas ragasztószalagot használtam az ESP-01 interfészlap rögzítéséhez.
Most eltávolíthatjuk a fém dugókat az USB -töltőnkből, és helyettesíthetjük őket egy vastagabb kábellel, amelyet csatlakoztathatunk a ház vezetékeihez. Ügyeljen arra, hogy kapcsolja ki a megszakítót, amely áramot szolgáltat a csengőkörhöz.
Ha nincs elég hely ahhoz, hogy a projektünket illessze a meglévő ajtócsengőbe, akkor külön dobozba kell helyeznie, és az ajtócsengő közelében kell felszerelnie.
6. lépés: Utolsó érintés
Most, hogy a projekt működik, és közzétehetjük az MQTT üzenetet a brókernek, a következő lépés az, hogy kitaláljuk, mit tegyünk ezzel.
A projektemben a Node-RED segítségével hallgatom/feliratkozom az ajtócsengő MQTT témájára, és bejelentem több google home hangszórónak. Ezen kívül az áramlást egy pushbullet csomóponthoz is kötöttem, hogy értesítést küldjek az androidos telefonomra, így tudom, ha valaki csenget, még akkor is, ha nem vagyok otthon. A Pushbullet értesítés nem hasznos néhány ember számára, de néhány alkalommal nagyon hasznos volt számomra, és az elülső verandámon lévő videokamerával párosítva láttam, hogy ki jött a szállításokról (általában csengetnek). Nem tudok sokat támaszkodni a kamera mozgásérzékelő funkciójára a különböző interferenciák, különösen a fák mozgó árnyékai miatt.
Ennek a lépésnek a képe mutatja a Node-RED folyamatot ennek eléréséhez. A folyamatot a github oldalamról is beillesztheti a Node-RED-be:
A Google otthoni bejelentése csak egy példa erre a projektre, de szerintem ez a leghasznosabb és legpraktikusabb. Mindig csatlakozhat a többi MQTT -hallgatóhoz, vagy akár IFTTT -t használhat más eszközök meghajtására a csengő megnyomására.
Érezd jól magad…
Ajánlott:
Több ESP beszélgetés kezdeményezése az ESP-NOW segítségével az ESP32 és az ESP8266 használatával: 8 lépés
Hogyan lehet több ESP beszélgetést kezdeményezni az ESP-NOW segítségével ESP32 és ESP8266 használatával: Folyamatban lévő projektem során több ESP-re van szükségem, hogy útválasztó nélkül beszélhessek egymással. Ehhez az ESP-NOW-t használom a vezeték nélküli kommunikációra egymással az ESP útválasztója nélkül
MQTT/Google Home árvíz/víz WIFI érzékelő ESP-01: 7 lépésben
MQTT/Google Home árvíz/víz WIFI érzékelő ESP-01-vel: Ebben az oktatóanyagban megmutatom, hogyan lehet minimális költséggel felépíteni a wifi ár-/vízérzékelőt. Az egész projekt kevesebb, mint 8 dollárba kerül az ebay-től beszerzett alkatrészeimhez és a meglévő alkatrészeimhez. Ebben a projektben az ESP-01-t fogjuk használni a Wif
Időjárási adatok a Google Táblázatok és a Google Script használatával: 7 lépés
Időjárási adatok a Google Táblázatok és a Google Script használatával: Ebben a Blogtutban az SHT25 szenzor leolvasásait az Adafruit huzzah ESP8266 segítségével elküldjük a Google lapjaira, ami segít az adatok internetre küldésében. Az adatok küldése a Google lap cellájába nagyon hasznos és az alapvető módszer az adatok mentésére
Első lépések az Esp 8266 Esp-01 használatával az Arduino IDE - -vel Esp táblák telepítése Arduino Ide programozásba és Esp programozása: 4 lépés
Első lépések az Esp 8266 Esp-01 használatával az Arduino IDE | -vel Esp táblák telepítése Arduino Ide programozásba és Esp programozása: Ebben az oktatóanyagban megtanuljuk, hogyan kell telepíteni az esp8266 táblákat az Arduino IDE programba, és hogyan kell programozni az esp-01 kódot, és feltölteni a kódot. ez és a legtöbb ember problémával szembesül
DIY Voice/Internet vezérelt otthoni automatizálás és felügyelet az ESP8266 és a Google Home Mini használatával: 6 lépés
DIY Voice/Internet vezérelt otthoni automatizálás és felügyelet az ESP8266 és a Google Home Mini használatával: Hé !! Hosszú szünet után itt vagyok, és mindannyiunknak unalmas (munkát) kell tennünk a kereséshez. Az összes HOME AUTOMATION cikk után, amelyeket a BLUETOOTH, az IR, a helyi WIFI, a Cloud, azaz a nehezek közül írtam, * MOST * jön a legegyszerűbb, de leghatékonyabb