Kazalo:

MQTT/Google Domači zvonec na vratih z uporabo ESP-01: 6 korakov
MQTT/Google Domači zvonec na vratih z uporabo ESP-01: 6 korakov

Video: MQTT/Google Domači zvonec na vratih z uporabo ESP-01: 6 korakov

Video: MQTT/Google Domači zvonec na vratih z uporabo ESP-01: 6 korakov
Video: Xiaomi Yeelight Smart Dimmer Switch ✅ You Can Buy in Online Store (RisoFan💻) 2024, November
Anonim
MQTT/Google Domači zvonec na vratih z uporabo ESP-01
MQTT/Google Domači zvonec na vratih z uporabo ESP-01

Ste kdaj zamudili odgovor gostu, ki vam je pozvonil na vrata samo zato, ker ste v delu hiše, ki je predaleč, da bi slišali zvonjenje na vratih? na primer klet, spalnica z zaprtimi vrati ali pa ste morda gledali televizijo ali poslušali glasbo.

Če imate tako kot jaz enega ali več Googlovih domačih zvočnikov na več lokacijah po hiši, je to navodilo morda tisto, kar potrebujete.

V tem navodilu vam bom pokazal, kako odjemalca MQTT dodati obstoječemu zvoncu na vratih, da z NodeRED -om komunicirate posredniku MQTT z obvestilom na google home / pushbullet. Ta projekt ne nadomešča stikala za zvonec na vratih niti zvonjenja. Še vedno uporablja navaden mehanski gumb za zvonec na vratih.

Modul ESP-01 bomo dodali v obstoječi sistem vratnih zvočnikov 16VAC in dodali funkcionalnost MQTT za pošiljanje sporočila posredniku MQTT (ko pritisnete stikalo za zvonec). Posrednik MQTT bi poslal sporočilo NodeRED. Po prejemu sporočila MQTT bi NodeRED poslal obvestilo na več Googlovih domačih naprav in po želji poslal sporočilo na mobilni telefon/brskalnik prek pushbulleta.

Imam strast do avtomatske domače avtomatizacije in počasi dodajam IOT v svoj dom. Google home je bil ena osrednjih funkcij v moji avtomatizaciji doma.

Idejo za ta projekt mi je dal sin, ko me je vprašal, ali lahko Googlov dom naznanim vsakič, ko nekdo pozvoni na naša vrata. Imamo 2 nadstropji + končano kletno hišo in velikokrat nismo mogli slišati zvonjenja, ko smo v kleti ali zgoraj v spalnici z zaprtimi vrati ali prižgano televizijo.

V naši hiši imamo 4 google home mini, ki so nameščeni na različnih mestih/sobah, in z uporabo Googlovih domov za oznanitev zvonjenja takoj po hiši vemo, če kdo pozvoni na vrata.

V svoji hiši uporabljam RaspberryPi ZeroW za gostovanje strežnika Mosquitto MQTT in NodeRED. Deluje že več kot eno leto brez težav.

Reference:

  • Sheme ožičenja vratnega zvonca:
  • Namestite posrednika Mosquitto MQTT na Raspberry Pi:
  • Namestite NodeRED na Raspberry Pi:

1. korak: Ustvarite vezje za vmesnik ESP-01 in zvonjenje vrat

Ustvarite vezje za vmesnik ESP-01 in zvonjenje vrat
Ustvarite vezje za vmesnik ESP-01 in zvonjenje vrat
Ustvarite vezje za vmesnik ESP-01 in zvonjenje vrat
Ustvarite vezje za vmesnik ESP-01 in zvonjenje vrat
Ustvarite vezje za vmesnik ESP-01 in zvonjenje vrat
Ustvarite vezje za vmesnik ESP-01 in zvonjenje vrat

Prvi korak bi bil ustvariti vezje, ki bi bilo vmesnik med ESP-01 in zvonjenjem vrat. Tipični zvonec vrat se aktivira, ko je med zatiči "TRANS (prej)" in "FRONT/REAR" 16VAC, kot je prikazano na moji prvi fotografiji. Napetost se pojavi na teh zatičih, ko pritisnete gumb za zvonec.

Vezje, ki sem ga oblikoval, naj zazna ta 16VAC signal in ga pretvori v približno 3.3VDC digitalni signal. Je osnovni polvalni usmernik, ki ga tvorita D1 in C1. V tem primeru nam ni treba imeti polnovalnega usmernika, saj je na izhod enosmernega toka zelo malo obremenitve, kar nam prihrani nekaj nepremičnin na plošči. Ploščo želim narediti čim manj, da jo lahko postavim v svoj obstoječi zvonec.

R1 in R2 tvorita delilnik napetosti, da znižata najvišjo enosmerno napetost na približno 3,3 V.

R3, TR1 in R4 tvorijo pretvornik, ki zagotavlja obratno logiko za ESP-01 GPIO-2. To je potrebno za zagon logike HIGH med zagonom (z izvlečnimi R4 in R5), da se ESP-01 zažene iz bliskavice. Ko pritisnete gumb za zvonjenje na vratih, prikaže logiko NIZKA za GPIO-2. TR1 je lahko kateri koli NPN tranzistor majhne moči, v mojem primeru sem uporabil 2N3904.

V1 je napajalnik z napetostjo 3,3 V DC, ki sem ga zgradil s starim 5 V polnilnikom za mobilni telefon skupaj z regulatorjem AMS1117 3,3 V DC, ki ga bom pokazal v naslednjem koraku.

Za vtičnico ESP-01 uporabljam 8-polno standardno IC vtičnico in izrežem plastične mostove, ki ustvarjajo vrzel med vrstami, nato pa dve vrsti zlepimo skupaj.

2. korak: Napajanje 3.3VDC za ESP-01

Napajanje 3.3VDC za ESP-01
Napajanje 3.3VDC za ESP-01
Napajanje 3.3VDC za ESP-01
Napajanje 3.3VDC za ESP-01
Napajanje 3.3VDC za ESP-01
Napajanje 3.3VDC za ESP-01

V tem koraku bomo zgradili napajalnik 3.3VDC za ESP-01. Imam nekaj starih 500mA in 700mA 5VDC USB polnilnikov, ki sem jih ponovno namenil temu projektu. Za znižanje napetosti 5V na 3.3V potrebujemo tudi regulator 3.3VDC, za to uporabljam poceni vnaprej izdelan regulatorni modul na osnovi AMS1117, ki sem ga kupil pri ebayu. Iščete lahko "3.3V AMS1117 module" in poiščete tisto, kar vam ustreza.

Ta 3.3V regulatorni modul je zelo majhen, zato ga lahko vstavim v originalno ohišje polnilnika USB 5V, zaradi česar je varnejši pred potencialnim kratkim stikom. Iz polnilnega modula sem odstranil stenske klešče za izmenični tok in jih zamenjal z dvema kabloma, ki bosta priključena na 120VAC iz stene za obstoječim zvoncem. Toda na tem koraku ne odstranjujte rogljev, dokler na naslednjem koraku ne opravimo preskusnega zagona.

Če je v bližini stenska vtičnica ali če vam ni všeč, da napajalnik ožičite neposredno na hišno ožičenje, lahko po izbiri preprosto priključite spremenjeno napajanje v stenski vtič in napeljete kable do zvonca, čeprav morda ne izgleda tako čisto, kot če ga priključite neposredno na hišno ožičenje.

Oglejte si eno od mojih fotografij, da vidite, da je za mojim zvoncem ožičenje 120VAC in transformator 16VAC za zvonjenje.

Izhod iz 3.3V regulatorja bi se nato povezal z vmesniško ploščo ESP-01 v skladu s prejšnjim korakom.

3. korak: Utripanje ESP-01

V tem koraku bomo utripali ESP-01 s skico arduino. Če še nikoli niste bliskali z modulom ESP-01, lahko za začetek sledite mojim navodilom:

Mojo skico lahko najdete na moji strani github:

Na skici morate vsaj spremeniti naslednje podatke, ki se nanašajo na vaše domače omrežje/nastavitev:

#define MQTT_SERVER "10.0.0.30" const char* ssid1 = "SSID"; const char* geslo1 = "MYSSID geslo"; const char* ssid2 = "SSID1"; const char* geslo2 = "geslo MYSSID";

V domačem omrežju imam dve različni dostopni točki, ki oddajata 2 različna SSID -ja, ta skica pa bi omogočila redundanco s povezavo z naslednjim SSID -om, če se izgubi komunikacija s trenutno dostopno točko. Če imate samo en SSID, napolnite ssid1 in ssid2 z isto vrednostjo.

Ko naredite spremembo, naložite skico v ESP-01 in priključite ESP-01 v vmesniško ploščo.

4. korak: Testni zagon

Testni tek
Testni tek
Testni tek
Testni tek
Testni tek
Testni tek

Od prvega koraka smo zgradili vmesniško ploščo ESP-01, od 2. koraka pa imamo 3,3 V napajanje za ploščo ESP-01. Zdaj priključimo izhod napajanja na ploščo v skladu s shemo vezja, prikazano kot V1.

Zdaj je naslednji korak priključitev priključkov Trans/Door za zvonjenje na povezave vmesniške plošče, prikazane kot "Terminali za zvonjenje vrat". Ker je moj zvonec visoko pritrjen na steno, za preskusno vožnjo začasno potegnem dolg par kablov od priključkov zvonca do plošče, da lahko priključim napajalnik.

Če želite preveriti, ali naša naprava deluje, bi najlažje spremljali sporočila MQTT v omrežju. Če želite to narediti, posredniku mosquitto odprite sejo SSH in izdajte naslednji ukaz:

mosquitto_sub -v -t '#'

Zgornji ukaz bi nam omogočil, da vidimo vsa sporočila MQTT, ki prihajajo v posrednika.

Zdaj priključite napajanje v stensko vtičnico in če vse deluje, bi morali v nekaj sekundah videti vsaj naslednje sporočilo MQTT:

stat/DoorBell/LWT na spletu

Sedaj pojdite ven in pozvonite na vrata. Videlo bi se tole sporočilo:

tele/DoorBell VKLOPLJEN

Če vidite ta sporočila, je vaš projekt uspešen.

V skico sem vključil tudi nekaj uporabnih tem MQTT, ki jih lahko uporabite:

"stat/DoorBellInfo": to sporočilo se pošlje vsako minuto za zagotovitev neprekinjenega delovanja in drugih informacij.

"cmnd/DoorBellInfo": ESP-01 bo poslal informacije, če bo prejel to temo z vrednostjo "1" (ascii = 49) "cmnd/DoorBellCPUrestart": ESP-01 se bo znova zagnal, če bo prejel to temo z vrednostjo "1" '(ascii = 49) "cmnd/DoorBellCPUreset": ESP-01 se ponastavi, če prejme to temo z vrednostjo' 1 '(ascii = 49)

"tele/FrontDoorBell": ESP-01 bo poslal sporočilo v tej temi z vrednostjo "ON", če pritisnete zvonec na vratih

5. korak: Vključite ploščo in napajanje v zvonec

Vključitev plošče in napajalnika v zvonjenje
Vključitev plošče in napajalnika v zvonjenje
Vključitev plošče in napajalnika v zvonjenje
Vključitev plošče in napajalnika v zvonjenje
Vključitev plošče in napajalnika v zvonjenje
Vključitev plošče in napajalnika v zvonjenje

Zdaj, ko smo uspešno preizkusili, moramo ploščo in napajalnik sestaviti v zvonec na vratih (če je mogoče). V mojem obstoječem zvoncu je prazno ohišje, ki sem ga lahko prerezal in namestil napajalnik v tem prostoru. Plošča ESP-01 se ne prilega znotraj tega majhnega prostora, vendar se še vedno prilega notranjosti celotne škatle za zvonjenje. Za montažo vmesniške plošče ESP-01 sem uporabil debel dvostranski trak.

Zdaj lahko odstranimo kovinske vijake iz USB polnilnika in jih zamenjamo z debelejšim kablom, ki ga lahko priključimo na hišno ožičenje. Ne pozabite izklopiti odklopnika, ki napaja električno napeljavo.

Če ni dovolj prostora za vgradnjo našega projekta v obstoječi zvonec vrat, ga morate dati v ločeno škatlo in ga pritrditi blizu zvonca.

6. korak: Končni dotik

Končni dotik
Končni dotik

Zdaj, ko je projekt uspešen in lahko posreduje sporočilo MQTT posredniku, je naslednji korak, da se zamislimo, kaj storiti s tem.

V svojem projektu uporabljam Node-RED, da poslušam/se naročim na to temo MQTT za zvonec in oznanim več google-ovim domačim zvočnikom. Poleg tega sem tok povezal tudi z vozliščem pushbullet za pošiljanje obvestil v telefon Android, tako da vem, če kdo pozvoni na vrata, tudi če nisem doma. Obvestilo Pushbullet nekaterim ne bo koristilo, vendar je bilo zame kar nekajkrat zelo koristno, skupaj z video kamero na moji verandi vidim, kdo je prišel, da bi odložil dostavo (običajno zvonijo na vratih). Zaradi različnih motenj, zlasti premikajočih se senc dreves, se ne morem zanašati na funkcijo zaznavanja gibanja fotoaparata.

Slika na tem koraku prikazuje tok Node-RED, da to dosežete. Tok lahko prilepite tudi z moje strani github v svoj Node-RED:

Googlova domača objava je le en primer tega projekta, vendar se mi zdi najbolj uporaben in praktičen. Vedno se lahko povežete z drugim poslušalcem MQTT ali celo uporabite IFTTT za vožnjo drugih naprav po pritisku na zvonec.

Zabavaj se…

Priporočena: