Sadržaj:

MQTT/Google kućno zvono na vratima pomoću ESP-01: 6 koraka
MQTT/Google kućno zvono na vratima pomoću ESP-01: 6 koraka

Video: MQTT/Google kućno zvono na vratima pomoću ESP-01: 6 koraka

Video: MQTT/Google kućno zvono na vratima pomoću ESP-01: 6 koraka
Video: Google Cloud based IoT system with MQTT - [TUTORIAL 1] 2024, Studeni
Anonim
MQTT/Google kućno zvono na vratima pomoću ESP-01
MQTT/Google kućno zvono na vratima pomoću ESP-01

Jeste li ikada propustili odgovoriti gostu koji vam je pozvonio samo zato što ste u dijelu kuće koji je predaleko da biste čuli zvonce na vratima? poput podruma, spavaće sobe zatvorenih vrata ili ste možda gledali televiziju ili slušali glazbu.

Ako poput mene imate jednog ili više google kućnih zvučnika na nekoliko lokacija u cijeloj kući, ovo uputstvo može biti ono što vam treba.

U ovom Instructable -u ću vam pokazati kako dodati MQTT klijenta postojećem zvonu na vratima kako biste komunicirali s MQTT posrednikom uz najavu google home / pushbullet, koristeći NodeRED. Ovaj projekt ne zamjenjuje prekidač za zvono na vratima niti zvono. I dalje koristi uobičajeno mehaničko dugme za zvono na vratima.

Modul ESP-01 dodat ćemo u postojeći sustav zvona na vratima od 16 VAC, dodavši MQTT funkcionalnost za slanje poruke posredniku MQTT (kada je pritisnut prekidač za zvono). MQTT posrednik prenio bi poruku NodeRED -u. Po primitku MQTT poruke, NodeRED bi poslao najavu na više google kućnih uređaja, a opcijski i poruku na mobitel/preglednik putem pushbulleta.

Volim DIY kućnu automatizaciju i polako dodajem IOT u svoj dom. Google home bio je jedna od središnjih funkcija u mojoj kućnoj automatizaciji.

Ideju za ovaj projekt dao mi je moj sin kada me je upitao mogu li navesti google home da najavi svaki put kad nam netko zazvoni. Imamo dvije etaže i završimo podrum, a mnogo puta nismo mogli čuti zvonce dok smo u svom podrumu ili na katu u spavaćoj sobi sa zatvorenim vratima ili s uključenim televizorom.

U našoj kući imamo 4 google home mini koja su postavljena na raznim mjestima/sobama, a pomoću google domova za najavu zvona na vratima odmah znamo bilo gdje u kući hoće li netko pozvoniti na vrata.

U svojoj kući koristim RaspberryPi ZeroW za hostiranje Mosquitto MQTT poslužitelja i NodeRED -a. Radi već više od godinu dana bez ikakvih problema.

Reference:

  • Sheme ožičenja zvona na vratima:
  • Instalirajte Mosquitto MQTT Broker na Raspberry Pi:
  • Instalirajte NodeRED na Raspberry Pi:

Korak 1: Stvorite krug za sučelje ESP-01 i zvono vrata

Izradite krug za sučelje ESP-01 i zvono na vratima
Izradite krug za sučelje ESP-01 i zvono na vratima
Izradite krug za sučelje ESP-01 i zvono na vratima
Izradite krug za sučelje ESP-01 i zvono na vratima
Izradite sklop za sučelje ESP-01 i zvono na vratima
Izradite sklop za sučelje ESP-01 i zvono na vratima

Prvi korak bio bi stvaranje kruga koji bi bio sučelje između ESP-01 i zvona vrata. Uobičajeno zvono vrata aktivira se kada postoji 16VAC između pinova "TRANS (bivši)" i "PREDNJI/STRAŽNI", kao što je prikazano na mojoj prvoj fotografiji. Napon se pojavljuje na tim pinovima kada se pritisne tipka za zvono na vratima.

Krug koji sam dizajnirao je osjetiti ovaj 16VAC signal i pretvoriti ga u digitalni signal od oko 3.3VDC. To je osnovni poluvalni ispravljač koji čine D1 i C1. U ovoj situaciji ne moramo imati punovalni ispravljač jer je jako malo opterećenja na istosmjernom izlazu, što nam štedi malo nekretnina na ploči. Želim učiniti ploču što je moguće manje kako bih je mogao postaviti unutar svog postojećeg zvona.

R1 i R2 tvore razdjelnik napona za smanjenje vršnog istosmjernog napona na oko 3,3 V.

R3, TR1 i R4 tvore pretvarač koji pruža obrnutu logiku za ESP-01 GPIO-2. To je potrebno za osiguravanje logike HIGH tijekom pokretanja (s pull-up R4 i R5) kako bi se ESP-01 pokrenuo s bljeskalice. Kada se pritisne tipka za zvono na vratima, ona predstavlja logiku NISKA za GPIO-2. TR1 može biti bilo koji NPN tranzistor male snage, u mom slučaju koristio sam 2N3904.

V1 je napajanje od 3,3 VDC koje sam izgradio pomoću starog 5 V punjača za mobitel zajedno s AMS1117 3,3 VDC regulatorom koji ću pokazati u sljedećem koraku.

Za utičnicu ESP-01 koristim 8-polnu standardnu IC utičnicu i režem plastične mostove koji stvaraju razmak između redova, a zatim lijepim 2 reda.

Korak 2: 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

U ovom koraku ćemo graditi napajanje od 3.3VDC za ESP-01. Imam nekoliko starih 500mA i 700mA 5VDC USB punjača koji sam prenamijenio za ovaj projekt. Također nam je potreban regulator od 3,3 V DC za pad napona od 5 V na 3,3 V, za to koristim jeftini već ugrađeni regulator modula temeljen na AMS1117 koji sam kupio od ebaya. Možete tražiti "3.3V AMS1117 modul" i pronaći ono što vam odgovara.

Ovaj regulator napona 3.3V vrlo je mali pa ga mogu staviti u originalno kućište USB punjača od 5 V što ga čini sigurnijim od potencijalnog kratkog spoja. Uklonio sam zidne zupce izmjeničnog napona iz modula punjača i zamijenio ih s dva kabela koji će biti spojeni na 120VAC sa zida iza mog postojećeg zvona. Ali nemojte uklanjati zupce na ovom koraku sve dok ne obavimo probni rad na sljedećem koraku.

Ako je u blizini zidna utičnica ili ako vam nije ugodno ožičenje napajanja izravno na kućno ožičenje, po želji možete jednostavno priključiti izmijenjeno napajanje u zidnu utičnicu i provesti kabele do zvonca možda neće izgledati tako čisto kao spajanje izravno na kućno ožičenje.

Pogledajte jednu od mojih fotografija da vidite da se iza zvona nalazi ožičenje od 120VAC i 16VAC transformator za zvono.

Izlaz iz regulatora od 3,3 V tada bi se spojio na ploču sučelja ESP-01 prema prethodnom koraku.

Korak 3: Bljeskanje ESP-01

U ovom koraku blicat ćemo ESP-01 sa arduino skicom. Ako nikada niste bljeskali ESP-01 modul, možete slijediti moje upute za početak:

Moju skicu možete pronaći na mojoj stranici na githubu:

Na skici morate najmanje promijeniti sljedeće podatke koji se odnose na vašu kućnu mrežu/postavljanje:

#define MQTT_SERVER "10.0.0.30" const char* ssid1 = "SSID"; const char* lozinka1 = "MYSSID lozinka"; const char* ssid2 = "SSID1"; const char* lozinka2 = "MYSSID lozinka";

U mojoj kućnoj mreži imam 2 različite pristupne točke koje emitiraju 2 različita SSID -a, a ova skica bi omogućila redundanciju povezivanjem na sljedeći SSID ako se izgubi komunikacija s trenutnom pristupnom točkom. Ako imate samo jedan SSID, popunite ssid1 i ssid2 istom vrijednošću.

Nakon što ste izvršili izmjene, prenesite skicu u ESP-01 i priključite ESP-01 u ploču sučelja.

Korak 4: Probni rad

Probni test
Probni test
Probni test
Probni test
Probni test
Probni test

Od koraka 1 izgradili smo ploču sučelja ESP-01, a od koraka 2 imamo napajanje od 3,3 V za ploču ESP-01. Sada priključujemo izlaz napajanja na ploču prema shemi kruga, prikazanoj kao V1.

Sada je sljedeći korak spajanje priključaka Trans/Door za zvonce na spojeve ploče sučelja prikazane kao "Stezaljke za zvono na vratima". Budući da je moje zvono postavljeno visoko na zid, za probnu vožnju privremeno vodim dugačak par kabela od stezaljki za zvono do ploče kako bih mogao priključiti napajanje.

Da bismo provjerili funkcionira li naša naprava, najlakše bi bilo nadzirati MQTT poruke u mreži. Da biste to učinili, morate otvoriti SSH sesiju posredniku komaraca i izdati sljedeću naredbu:

komarac_sub -v -t '#'

Gornja naredba omogućila bi nam da vidimo sve MQTT poruke koje dolaze u brokera.

Sada uključite napajanje u zidnu utičnicu, a ako sve radi, za nekoliko sekundi trebali biste vidjeti barem sljedeću MQTT poruku:

stat/DoorBell/LWT Online

Sada izađite van i pozvonite na vrata i trebali biste vidjeti ovu poruku:

tele/zvono na vratima UKLJUČENO

Ako vidite te poruke, vaš je projekt uspješan.

U skicu sam uključio i nekoliko korisnih tema o MQTT -u koje možete koristiti:

"stat/DoorBellInfo": ova se poruka šalje svake minute radi pružanja neprekidnog rada i drugih informacija.

"cmnd/DoorBellInfo": ESP-01 će poslati informacije ako primi ovu temu s vrijednošću "1" (ascii = 49) "cmnd/DoorBellCPUrestart": ESP-01 će se ponovno pokrenuti ako primi ovu temu s vrijednošću "1" '(ascii = 49) "cmnd/DoorBellCPUreset": ESP-01 će se poništiti ako primi ovu temu s vrijednošću' 1 '(ascii = 49)

"tele/FrontDoorBell": ESP-01 će poslati poruku u ovoj temi s vrijednošću "ON" ako se pritisne zvono na vratima

Korak 5: Integrirajte ploču i napajanje u zvono

Integriranje ploče i napajanja u zvono
Integriranje ploče i napajanja u zvono
Integriranje ploče i napajanja u zvono
Integriranje ploče i napajanja u zvono
Integriranje ploče i napajanja u zvono
Integriranje ploče i napajanja u zvono

Sada kada imamo uspješan probni rad, moramo sastaviti ploču i napajanje unutar zvona na vratima (ako je moguće). U mom postojećem zvonu postoji prazno kućište koje sam uspio otvoriti i uklopiti napajanje unutar tog prostora. Ploča ESP-01 ne stane unutar tog malog prostora, ali se ipak može smjestiti unutar ukupne kutije za zvonce. Upravo sam koristio debelu dvostranu traku za montiranje ploče za sučelje ESP-01.

Sada možemo ukloniti metalne zupce s USB punjača i zamijeniti ih debljim kabelom koji možemo spojiti na kućno ožičenje. Svakako isključite prekidač koji opskrbljuje struju zvučnim krugom.

Ako nema dovoljno prostora za ugradnju našeg projekta u postojeći zvuk vrata, morat ćete ga staviti u zasebnu kutiju i montirati blizu zvona vrata.

Korak 6: Završni dodir

Završni dodir
Završni dodir

Sada kada je projekt uspješan i u stanju objaviti MQTT poruku posredniku, sljedeći korak je razmišljanje o tome što s tim učiniti.

U svom projektu koristim Node-RED za slušanje/pretplatu na tu MQTT temu zvona na vratima i najavu nekoliko google početnih govornika. Osim toga, također sam povezao tok s čvorom pushbullet za slanje obavijesti na svoj android telefon tako da znam zvoni li netko na vrata čak i ako nisam kod kuće. Obavijest pushbulletom nekima ne bi bila korisna, ali bilo mi je prilično korisno nekoliko puta, zajedno s video kamerom na prednjem trijemu, mogu vidjeti tko je došao odustati od isporuke (obično zvone na vrata). Ne mogu se puno osloniti na značajku detekcije pokreta fotoaparata zbog različitih smetnji, osobito pomičnih sjena drveća.

Slika na ovom koraku prikazuje tok NOD-RED kako bi se to postiglo. Također možete zalijepiti tok s moje github stranice na svoj Node-RED:

Googleova kućna najava samo je jedan primjer za ovaj projekt, ali mislim da je najkorisnija i najpraktičnija. Uvijek se možete povezati s drugim slušateljem MQTT -a ili čak pomoću IFTTT -a za pogon drugih uređaja nakon što pritisnete zvono na vratima.

Zabavi se…

Preporučeni: