INHOUDSOPGAWE:

MQTT/Google Home DoorBell met behulp van ESP-01: 6 stappe
MQTT/Google Home DoorBell met behulp van ESP-01: 6 stappe

Video: MQTT/Google Home DoorBell met behulp van ESP-01: 6 stappe

Video: MQTT/Google Home DoorBell met behulp van ESP-01: 6 stappe
Video: This is the BEST MATRIX DISPLAY CLOCK for Home Assistant! 2024, November
Anonim
MQTT/Google Home DoorBell met behulp van ESP-01
MQTT/Google Home DoorBell met behulp van ESP-01

Het u dit ooit gemis om 'n gas te antwoord wat op u deurklokkie geantwoord het net omdat u in 'n deel van die huis is wat te ver is om die deurklokkie te hoor? soos kelder, slaapkamer met geslote deure, of miskien kyk u TV of luister musiek.

As u, net soos ek, een of meer Google -luidsprekers op verskillende plekke in u huis het, is hierdie instruksie moontlik wat u nodig het.

In hierdie instruksies gaan ek u wys hoe u 'n MQTT -kliënt by 'n bestaande deurklokkie kan voeg om met MQTT -makelaar te kommunikeer met 'n aankondiging aan Google home / pushbullet, met behulp van NodeRED. Hierdie projek vervang nie die deurklokkie of die klokkie nie. Dit gebruik steeds 'n gewone meganiese drukknop vir die deurklokkie.

Ons sal die ESP-01-module by die bestaande 16VAC-deurklokkiesisteem voeg, wat die MQTT-funksie toevoeg om 'n boodskap aan die MQTT-makelaar te stuur (as u op die deurklokkie skakelaar druk). Die MQTT -makelaar sal die boodskap aan NodeRED oordra. By ontvangs van die MQTT -boodskap, stuur NodeRED 'n aankondiging na verskeie Google -huistoestelle en stuur dit ook na selfoon/blaaier via pushbullet.

Ek het 'n passie vir tuis -outomatisering en maak stadig IOT by my huis. Google home was een van die belangrikste funksies in my outomatisering van die huis.

My seun het my die idee vir hierdie projek gegee toe hy my gevra het of ek die Google Home kan laat aankondig elke keer as iemand aan ons deurklokkie lui. Ons het 2 verdiepings + afwerking in die kelder, en ons kon baie keer nie die geluid hoor as ons in ons kelder of bo in die slaapkamer was met die deur toe of met die TV aan nie.

Ons het 4 google home mini in ons huis op verskillende plekke/kamers, en deur Google huise te gebruik om 'n deurklokkie aan te kondig, weet ons onmiddellik oral in die huis of iemand die deurklokkie lui.

In my huis gebruik ek RaspberryPi ZeroW om Mosquitto MQTT -bediener en NodeRED aan te bied. Dit werk al meer as 'n jaar sonder probleme.

Verwysings:

  • Bedradingsdiagramme van deurklokkies:
  • Installeer Mosquitto MQTT Broker op Raspberry Pi:
  • Installeer NodeRED op Raspberry Pi:

Stap 1: Skep die Circuit to Interface ESP-01 en Door Chime

Skep die stroombaan na koppelvlak ESP-01 en deurklokkie
Skep die stroombaan na koppelvlak ESP-01 en deurklokkie
Skep die stroombaan na koppelvlak ESP-01 en deurklokkie
Skep die stroombaan na koppelvlak ESP-01 en deurklokkie
Skep die stroombaan na koppelvlak ESP-01 en deurklokkie
Skep die stroombaan na koppelvlak ESP-01 en deurklokkie

Die eerste stap sou wees om die kring te skep wat die koppelvlak tussen ESP-01 en Door Chime is. Tipiese deurklokkie word geaktiveer as daar 'n 16VAC tussen die "TRANS (voormalige)" en "VOOR/AGTER" penne is, soos op my eerste foto getoon. Die spanning verskyn op die penne wanneer die deurklokkie knoppie ingedruk word.

Die stroombaan wat ek ontwerp het, is om hierdie 16VAC -sein te voel en om te skakel na ongeveer 3.3VDC digitale sein. Dit is 'n basiese halfgolf gelykrigter wat gevorm word deur D1 en C1. Ons hoef in hierdie situasie nie 'n volgolfgelykrigter te hê nie, aangesien die DC-uitset baie min laai, wat ons 'n bietjie vaste eiendom op die bord kan bespaar. Ek wil die bord so min as moontlik maak sodat ek dit in my bestaande klokkie kan plaas.

R1 en R2 vorm 'n spanningsverdeler om die maksimum GS -spanning tot ongeveer 3,3V te verlaag.

R3, TR1 en R4 vorm 'n omskakelaar om omgekeerde logika vir die ESP-01 GPIO-2 te verskaf. Dit is nodig om logika HOOG te gee tydens opstart (met die optrek R4 en R5) sodat ESP-01 vanaf flits kan begin. As die deurklokknop ingedruk word, bied dit logika LAAG vir die GPIO-2. TR1, kan 'n klein NPN-transistor wees, in my geval het ek 2N3904 gebruik.

Die V1 is 'n 3.3VDC kragbron wat ek gebou het met 'n ou 5V selfoonlaaier, tesame met AMS1117 3.3VDC regulator wat ek in die volgende stap sal wys.

Vir die ESP-01-aansluiting gebruik ek 'n 8-pins standaard IC-aansluiting en sny die plastiekbrue wat die gaping tussen die rye skep, en plak dan die 2 rye vas.

Stap 2: 3.3VDC-kragtoevoer vir ESP-01

3.3VDC-kragtoevoer vir ESP-01
3.3VDC-kragtoevoer vir ESP-01
3.3VDC-kragtoevoer vir ESP-01
3.3VDC-kragtoevoer vir ESP-01
3.3VDC-kragtoevoer vir ESP-01
3.3VDC-kragtoevoer vir ESP-01

In hierdie stap bou ons die 3.3VDC-kragtoevoer vir die ESP-01. Ek het 'n paar ou 500mA en 700mA 5VDC USB-laadadapter wat ek vir hierdie projek herontwerp het. Ons benodig ook 'n 3.3VDC-reguleerder om die 5V-spanning na 3.3V te laat daal, hiervoor gebruik ek 'n goedkoop voorafgeboude AMS1117-gebaseerde reguleermodule wat ek van ebay gekoop het. U kan '3.3V AMS1117 -module' soek en vind wat vir u werk.

Hierdie 3.3V-reguleermodule is baie klein dat ek dit eintlik in die oorspronklike 5V USB-laaierbehuizing kan plaas, wat dit veiliger maak teen moontlike kortsluiting. Ek het die AC -muurpunte uit die laaismodule verwyder en dit vervang met twee kabels wat aan die muur agter my bestaande klokkie aan 120VAC gekoppel sal word. Maar moenie die punte op hierdie stap verwyder voordat ons die volgende stap toetslopies uitgevoer het nie.

As daar 'n stopcontact in die buurt is, of as u nie gemaklik is om die kragtoevoer direk aan die huisbedrading te koppel nie, kan u ook die aangepaste kragbron in die muurprop aansluit en kabels na die klokkie laat loop, alhoewel dit lyk dalk nie so skoon as om dit direk aan die huisbedrading te koppel nie.

Sien een van my foto's om te sien dat agter my klokkie 120VAC -bedrading en die 16VAC -transformator vir die klokkie is.

Die uitset van die 3.3V-reguleerder sal dan volgens die vorige stap met die ESP-01-koppelvlakbord verbind word.

Stap 3: Flits die ESP-01

In hierdie stap flits ons die ESP-01 met 'n arduino-skets. As u nog nooit die ESP-01-module geblits het nie, kan u my instruksies volg om aan die gang te kom:

U kan my skets op my github -bladsy vind:

In die skets moet u ten minste die volgende inligting rakende u tuisnetwerk/opstelling verander:

#define MQTT_SERVER "10.0.0.30" const char* ssid1 = "SSID"; const char* password1 = "MYSSIDpassword"; const char* ssid2 = "SSID1"; const char* password2 = "MYSSIDpassword";

In my tuisnetwerk het ek 2 verskillende toegangspunte wat 2 verskillende SSID's uitsaai, en hierdie skets sal ontslag moontlik maak deur aan te sluit by die volgende SSID as die kommunikasie met die huidige AP verlore gaan. As u slegs een SSID het, vul beide ssid1 en ssid2 met dieselfde waarde in.

Sodra u die wysiging aangebring het, laai die skets op in ESP-01 en steek die ESP-01 in die koppelvlakbord.

Stap 4: toetslopie

Proeflopie
Proeflopie
Proeflopie
Proeflopie
Proeflopie
Proeflopie

Vanaf stap 1 het ons die ESP-01-koppelvlakbord gebou, en vanaf stap 2 het ons die 3.3V-kragtoevoer vir die ESP-01-bord. Ons koppel die kragtoevoer na die bord volgens die stroomdiagram, aangedui as V1.

Die volgende stap is om die Trans/Door -terminale van die klokkie aan te sluit op die koppelvlakbordaansluitings, aangedui as "Door Chime Terminals". Aangesien my klokkie hoog teen 'n muur gemonteer is, het ek 'n lang kabel van die klokkie -aansluitings na die bord gelei sodat ek die kragtoevoer kan aansluit.

Om te toets of ons toerusting werk, is die maklikste om MQTT -boodskappe in die netwerk te monitor. Om dit te kan doen, moet u 'n SSH -sessie vir die muskietmakelaar oopmaak en die volgende opdrag gee:

mosquitto_sub -v -t '#'

Met die bogenoemde opdrag kan ons alle MQTT -boodskappe in die makelaar sien kom.

Koppel nou die kragtoevoer aan die muur, en as alles werk, moet u binne 'n paar sekondes ten minste die volgende MQTT -boodskap sien:

stat/DoorBell/LWT Online

Gaan nou na buite en lui u deurklokkie, en u behoort hierdie boodskap te sien:

tele/deurklok AAN

As u hierdie boodskappe sien, is u projek 'n sukses.

Ek het ook 'n paar nuttige MQTT -onderwerpe in die skets ingesluit wat u kan gebruik:

"stat/DoorBellInfo": hierdie boodskap word elke minuut gestuur om tyd en ander inligting te verskaf.

"cmnd/DoorBellInfo": ESP-01 stuur inligting as dit hierdie onderwerp ontvang met die waarde van '1' (ascii = 49) "cmnd/DoorBellCPUrestart": ESP-01 sal weer begin as dit hierdie onderwerp ontvang met die waarde van '1' '(ascii = 49) "cmnd/DoorBellCPUreset": ESP-01 sal herstel as dit hierdie onderwerp ontvang met die waarde' 1 '(ascii = 49)

"tele/FrontDoorBell": ESP-01 stuur boodskappe in hierdie onderwerp met die waarde 'AAN' as deurklokkie ingedruk word

Stap 5: Integrasie van die bord en die kragtoevoer in die klokkespel

Die integrasie van die bord en die kragtoevoer in die klank
Die integrasie van die bord en die kragtoevoer in die klank
Die integrasie van die bord en die kragtoevoer in die klank
Die integrasie van die bord en die kragtoevoer in die klank
Die integrasie van die bord en die kragtoevoer in die klank
Die integrasie van die bord en die kragtoevoer in die klank

Noudat ons ons suksesvolle toets uitgevoer het, moet ons die bord en die kragtoevoer in ons deurklokkie monteer (indien moontlik). In my bestaande klokkespel is daar 'n leë omhulsel wat ek kon oopsny en die kragtoevoer in die ruimte kon plaas. Die ESP-01-bord pas nie in die klein spasie nie, maar pas nog steeds in die algehele klokkedoos. Ek het pas 'n dik dubbelzijdige band gebruik om die ESP-01-koppelvlakbord te monteer.

Nou kan ons die metaalpunte van ons USB -laaier verwyder en dit vervang met 'n dikker kabel wat ons aan die huis se bedrading kan koppel. Maak seker dat u die stroombreker wat die elektrisiteit aan die klankstroom voorsien, afskakel.

As daar nie genoeg ruimte is om ons projek in die bestaande deurklokkie te pas nie, moet u dit in 'n aparte boks sit en dit naby die deurklokkie monteer.

Stap 6: Final Touch

Finale aanraking
Finale aanraking

Noudat ons die projek laat werk het en die MQTT -boodskap aan die makelaar kon publiseer, is die volgende stap om te dink wat u daarmee moet doen.

In my projek gebruik ek Node-RED om na die deurklok-MQTT-onderwerp te luister/in te teken en aan verskeie Google-luidsprekers bekend te maak. Daarbenewens het ek die stroom ook gekoppel aan 'n pushbullet -knoop om 'n kennisgewing na my Android -telefoon te stuur, sodat ek weet of iemand aan die deurklokkie lui, selfs al is ek nie tuis nie. Pushbullet -kennisgewing is vir sommige nie nuttig nie, maar dit was 'n paar keer baie handig vir my, tesame met 'n videokamera op my voorstoep, ek kan sien wie die aflewerings afgelewer het (gewoonlik lui die deurklokkie). Ek kan nie veel staatmaak op die bewegingsopsporingsfunksie van die kamera nie weens verskillende steurnisse, veral bewegende skaduwees van bome.

Die beeld op hierdie stap toon die Node-ROOI-vloei om dit te bereik. U kan ook die vloei van my github-bladsy in u Node-RED plak:

Google se huisaankondiging is slegs een voorbeeld vir hierdie projek, maar ek dink dit is die nuttigste en praktiesste. U kan altyd koppel aan 'n ander MQTT -luisteraar, of selfs IFTTT gebruik om ander toestelle te bestuur wanneer die deurklokkie gedruk word.

Hê pret…

Aanbeveel: