Indholdsfortegnelse:

MQTT/Google Home DoorBell Brug af ESP-01: 6 trin
MQTT/Google Home DoorBell Brug af ESP-01: 6 trin

Video: MQTT/Google Home DoorBell Brug af ESP-01: 6 trin

Video: MQTT/Google Home DoorBell Brug af ESP-01: 6 trin
Video: This is the BEST MATRIX DISPLAY CLOCK for Home Assistant! 2024, November
Anonim
MQTT/Google Home DoorBell ved hjælp af ESP-01
MQTT/Google Home DoorBell ved hjælp af ESP-01

Har du nogensinde savnet at svare på en gæst, der ringede på din dørklokke, bare fordi du er i en del af huset, der er for langt til at høre dørklokken? såsom kælder, soveværelse med lukket dør, eller måske så du tv eller lyttede til musik.

Hvis du ligesom mig har en eller flere google -højttalere på flere steder i dit hus, kan denne instruktive måske være det, du har brug for.

I denne instruktive vil jeg vise dig, hvordan du tilføjer MQTT -klient til en eksisterende dørklokke for at kommunikere til MQTT -mægler med meddelelse til google home / pushbullet ved hjælp af NodeRED. Dette projekt erstatter ikke dørklokkekontakten eller klokkeslættet. Den bruger stadig almindelig mekanisk trykknap til dørklokken.

Vi tilføjer ESP-01-modulet til det eksisterende 16VAC dørklokkesystem, der tilføjer MQTT-funktionalitet til at sende besked til MQTT-mægler (når der trykkes på dørklokkekontakten). MQTT -mægler ville videresende meddelelsen til NodeRED. Ved modtagelse af MQTT -besked ville NodeRED sende meddelelse til flere google home -enheder og også eventuelt sende besked til mobiltelefon/browser via pushbullet.

Jeg har en passion for DIY hjemmeautomatisering og tilføjer langsomt IOT til mit hjem. Google home har været en af de centrale funktioner i min hjemmeautomatisering.

Min søn gav mig ideen til dette projekt, da han spurgte mig, om jeg kan få Google Home til at annoncere, hver gang nogen ringer på vores dørklokke. Vi har 2 etager + afslutter kælderen hjemme, og mange gange kunne vi ikke høre klokke, når vi er i vores kælder eller ovenpå i soveværelset med lukket dør eller med tv på.

Vi har 4 google home mini i vores hus placeret forskellige steder/værelser, og ved at bruge google homes til at annoncere en dørklokke ved vi straks hvor som helst i huset, om nogen ringer på døren.

I mit hus bruger jeg RaspberryPi ZeroW til at være vært for Mosquitto MQTT -server og NodeRED. Det har kørt i over et år uden problemer.

Referencer:

  • Dørklokke ledningsdiagrammer:
  • Installer Mosquitto MQTT Broker på Raspberry Pi:
  • Installer NodeRED på Raspberry Pi:

Trin 1: Opret Circuit to Interface ESP-01 og Door Chime

Opret Circuit to Interface ESP-01 og Door Chime
Opret Circuit to Interface ESP-01 og Door Chime
Opret Circuit to Interface ESP-01 og Door Chime
Opret Circuit to Interface ESP-01 og Door Chime
Opret Circuit to Interface ESP-01 og Door Chime
Opret Circuit to Interface ESP-01 og Door Chime

Det første trin ville være at skabe det kredsløb, der ville være grænsefladen mellem ESP-01 og Door Chime. Typisk dørklokke aktiveres, når der er en 16VAC mellem "TRANS (tidligere)" og "FRONT/REAR" benene som vist på mit første foto. Spændingen vises på disse ben, når der trykkes på dørklokkeknappen.

Det kredsløb, jeg designede, er at registrere dette 16VAC -signal og konvertere det til omkring 3,3VDC digitalt signal. Det er en grundlæggende halvbølge-ensretter dannet af D1 og C1. Vi behøver ikke at have fuldbølge-ensretter i denne situation, da der er meget lidt belastning til DC-udgangen, hvilket sparer os lidt for fast ejendom på tavlen. Jeg vil gøre tavlen så lidt som muligt, så jeg kan placere den inde i min eksisterende klokke.

R1 og R2 danner spændingsdeler for at sænke maks. DC -spændingen til omkring 3,3V.

R3, TR1 og R4 danner en inverter til at levere omvendt logik til ESP-01 GPIO-2. Dette er nødvendigt for at give logik HØJ under opstart (med pull-up R4 og R5) for ESP-01 at starte fra flash. Når der trykkes på dørklokkeknappen, viser det logik LAVT for GPIO-2. TR1 kan være en hvilken som helst lille NPN-transistor, i mit tilfælde brugte jeg 2N3904.

V1 er en 3.3VDC strømforsyning, som jeg byggede ved hjælp af en gammel 5V mobiltelefon oplader kombineret med AMS1117 3.3VDC regulator, som jeg vil vise i det næste trin.

Til ESP-01-stikket bruger jeg et 8-benet standard IC-stik, og skærer de plastbroer, der skaber mellemrummet mellem rækkerne, og limer derefter de 2 rækker sammen.

Trin 2: 3.3VDC strømforsyning til ESP-01

3.3VDC strømforsyning til ESP-01
3.3VDC strømforsyning til ESP-01
3.3VDC strømforsyning til ESP-01
3.3VDC strømforsyning til ESP-01
3.3VDC strømforsyning til ESP-01
3.3VDC strømforsyning til ESP-01

I dette trin bygger vi 3.3VDC strømforsyningen til ESP-01. Jeg har et par gamle 500mA og 700mA 5VDC USB-opladeradapter, som jeg havde til hensigt til dette projekt. Vi har også brug for 3.3VDC regulator for at sænke 5V spændingen til 3.3V, til dette bruger jeg et billigt præbygget AMS1117 baseret regulator modul, som jeg købte fra ebay. Du kan søge efter "3.3V AMS1117 modul" og finde, hvad der fungerer for dig.

Dette 3.3V regulatormodul er meget lille, så jeg faktisk kan putte det inde i det originale 5V USB opladerhus, hvilket gør det sikrere mod potentiel kortslutning. Jeg fjernede AC -vægspidserne fra opladermodulet og udskiftede det med to kabler, der vil blive tilsluttet 120VAC fra væggen bag min eksisterende klokke. Men fjern ikke benene på dette trin, før vi testkører på det næste trin.

Hvis der er en stikkontakt i nærheden, eller hvis du ikke er fortrolig med at koble strømforsyningen direkte til husets ledninger, kan du eventuelt bare tilslutte den modificerede strømforsyning til vægstikket og køre kabelføring til klokkeslættet, selvom det er ser måske ikke så rent ud som at tilslutte det direkte til husledninger.

Se et af mine billeder for at se, at bag min klokke er 120VAC -ledninger og 16VAC -transformeren til klokke.

Output fra 3.3V-regulatoren ville derefter oprette forbindelse til ESP-01-interfacekortet i henhold til det foregående trin.

Trin 3: Blinker ESP-01

I dette trin blinker vi ESP-01 med arduino-skitse. Hvis du aldrig har blinket ESP-01-modulet, kan du følge min instruktion for at komme i gang:

Du kan finde min skitse på min github -side:

I skitsen skal du som minimum ændre følgende oplysninger vedrørende dit hjemmenetværk/opsætning:

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

I mit hjemmenetværk har jeg 2 forskellige adgangspunkter, der sender 2 forskellige SSID'er, og denne skitse ville tillade redundans ved at oprette forbindelse til det næste SSID, hvis kommunikationen til den aktuelle AP tabes. Hvis du kun har et SSID, skal du udfylde både ssid1 og ssid2 med den samme værdi.

Når du har foretaget ændringen, skal du uploade skitsen til ESP-01 og tilslutte ESP-01 til interfacekortet.

Trin 4: Testkørsel

Test løb
Test løb
Test løb
Test løb
Test løb
Test løb

Fra trin 1 har vi bygget ESP-01-interfacekortet, og fra trin 2 har vi 3.3V-strømforsyningen til ESP-01-kortet. Vi tilslutter nu strømforsyningsudgangen til kortet i henhold til kredsløbsdiagrammet, vist som V1.

Nu er det næste trin at tilslutte klokke Trans/Door -terminalerne til interfacekortforbindelserne vist som "Door Chime Terminaler". Da min klokke er monteret højt på en væg, til testkørslen, kører jeg midlertidigt et langt kabel fra klokkesluttets terminaler til kortet, så jeg kan tilslutte strømforsyningen.

For at teste, om vores udstyr fungerer, ville det nemmeste være at overvåge MQTT -meddelelser i netværket. For at gøre det skal du åbne en SSH -session for mygmægleren og udstede følgende kommando:

myg_sub -v -t '#'

Ovenstående kommando ville give os mulighed for at se alle MQTT -meddelelser komme ind i mægleren.

Tilslut nu strømforsyningen til en stikkontakt, og hvis alt fungerer, skal du i løbet af få sekunder i det mindste se følgende MQTT -meddelelse:

stat/DoorBell/LWT Online

Gå nu udenfor og ring på din dørklokke, og du skal se denne meddelelse:

tele/DoorBell ON

Hvis du ser disse meddelelser, er dit projekt en succes.

Jeg inkluderede også flere nyttige MQTT -emner i skitsen, som du kan bruge:

"stat/DoorBellInfo": denne meddelelse sendes hvert minut for at give oppetid og andre oplysninger.

"cmnd/DoorBellInfo": ESP-01 sender information ud, hvis det modtager dette emne med værdien '1' (ascii = 49) "cmnd/DoorBellCPUrestart": ESP-01 genstarter, hvis det modtager dette emne med værdien '1' '(ascii = 49) "cmnd/DoorBellCPUreset": ESP-01 nulstilles, hvis det modtager dette emne med værdien' 1 '(ascii = 49)

"tele/FrontDoorBell": ESP-01 sender beskeder i dette emne med værdien 'ON', hvis der trykkes på dørklokken

Trin 5: Integrering af tavlen og strømforsyningen i klokkeslættet

Integrering af tavlen og strømforsyningen i klokkeslættet
Integrering af tavlen og strømforsyningen i klokkeslættet
Integrering af tavlen og strømforsyningen i klokkeslættet
Integrering af tavlen og strømforsyningen i klokkeslættet
Integrering af tavlen og strømforsyningen i klokkeslættet
Integrering af tavlen og strømforsyningen i klokkeslættet

Nu hvor vi har vores succesrige testkørsel, skal vi samle tavlen og strømforsyningen inde i vores dørklokke (hvis det er muligt). I min eksisterende klokke er der et tomt kabinet, som jeg var i stand til at skære op og montere strømforsyningen inde i det rum. ESP-01-kortet passer ikke inde i den lille plads, men passer stadig ind i den overordnede klokkeboks. Jeg brugte lige et tykt dobbeltsidet tape til at montere ESP-01-interfacekortet.

Nu kan vi fjerne metalstikkene fra vores USB -oplader og erstatte dem med tykkere kabel, som vi kan tilslutte til husets ledninger. Sørg for at slukke for din afbryder, der leverer strøm til klokkekredsløbet.

Hvis der ikke er nok plads til at passe vores projekt ind i den eksisterende dørklokke, skal du lægge det i en separat kasse og montere det tæt på dørklokken.

Trin 6: Final Touch

Final Touch
Final Touch

Nu hvor vi har fået projektet til at fungere og er i stand til at udgive MQTT -beskeder til mægleren, er det næste trin at tænke på, hvad de skal gøre med det.

I mit projekt bruger jeg Node-RED til at lytte/abonnere på det dørklokke-MQTT-emne og annoncere for flere google-højttalere. Ud over det linkede jeg også strømmen til en pushbullet -knude for at sende besked til min Android -telefon, så jeg ved, om nogen ringer på døren, selvom jeg ikke er hjemme. Pushbullet -meddelelse kan ikke være nyttig for nogle, men det har været ret nyttigt et par gange for mig, kombineret med videokamera på min veranda, kan jeg se, hvem der kom til at droppe leverancer (de ringer normalt på dørklokke). Jeg kan ikke stole meget på kameraets bevægelsesdetekteringsfunktion på grund af forskellige forstyrrelser, især bevægelige skygger af træer.

Billedet på dette trin viser Node-RED flow for at opnå dette. Du kan også indsætte strømmen fra min github-side i din Node-RED:

Googles hjemmemeddelelse er kun et eksempel på dette projekt, men jeg synes, det er det mest nyttige og praktiske. Du kan altid komme i kontakt med en anden MQTT -lytter eller endda bruge IFTTT til at køre andre enheder, når dørklokken bliver skubbet.

Hav det sjovt…

Anbefalede: