Obsah:

MQTT/Google Home DoorBell using ESP-01: 6 Steps
MQTT/Google Home DoorBell using ESP-01: 6 Steps

Video: MQTT/Google Home DoorBell using ESP-01: 6 Steps

Video: MQTT/Google Home DoorBell using ESP-01: 6 Steps
Video: Home Automation using ESP01 ESP8266 Tasmota Alexa control Relay - IoT Project 2023 2024, Listopad
Anonim
MQTT/Google Home DoorBell pomocí ESP-01
MQTT/Google Home DoorBell pomocí ESP-01

Už jste někdy zmeškali odpověď hostovi, který zazvonil u dveří jen proto, že jste v části domu, která je příliš daleko na to, aby slyšela zvonit zvonek? například ve sklepě, ložnici se zavřenými dveřmi nebo jste možná sledovali televizi nebo poslouchali hudbu.

Pokud jako já máte jednoho nebo více domácích reproduktorů Google na několika místech po celém domě, tento návod může být tím, co potřebujete.

V tomto Instructable vám ukážu, jak přidat klienta MQTT ke stávajícímu zvonku zvonku a komunikovat s brokerem MQTT s oznámením na Google home / pushbullet pomocí NodeRED. Tento projekt nenahrazuje spínač zvonku ani zvonkohru. Pro zvonek stále používá běžné mechanické tlačítko.

Modul ESP-01 přidáme do stávajícího systému dveřních zvonků 16 VAC a přidáme funkci MQTT pro odeslání zprávy makléři MQTT (když je stisknutý spínač zvonku). Broker MQTT by předal zprávu NodeRED. Po přijetí zprávy MQTT by NodeRED odeslal oznámení na více domácích zařízení Google a také volitelně odeslal zprávu na mobilní telefon/prohlížeč prostřednictvím pushbulletu.

Mám vášeň pro domácí automatizaci a pomalu přidávám IOT do svého domova. Domovská stránka Google je jednou z ústředních funkcí mé domácí automatizace.

Můj syn mi dal nápad na tento projekt, když se mě zeptal, jestli mohu nechat domov Google oznámit pokaždé, když někdo zazvoní u našich dveří. Máme 2 podlaží + dokončíme suterén domu a mnohokrát jsme nemohli slyšet zvonění, když jsme v suterénu nebo nahoře v ložnici se zavřenými dveřmi nebo se zapnutou televizí.

V našem domě máme 4 google home mini umístěné na různých místech/místnostech a pomocí Google homes k oznámení zvonku okamžitě poznáme kdekoli v domě, jestli někdo zazvoní.

V mém domě používám RaspberryPi ZeroW k hostování serveru Mosquitto MQTT a NodeRED. Funguje více než rok bez problémů.

Reference:

  • Schémata zapojení zvonku:
  • Nainstalujte si Mosquitto MQTT Broker na Raspberry Pi:
  • Nainstalujte NodeRED na Raspberry Pi:

Krok 1: Vytvořte obvod k rozhraní ESP-01 a zvonkohru u dveří

Vytvořte obvod k rozhraní ESP-01 a zvonkohru u dveří
Vytvořte obvod k rozhraní ESP-01 a zvonkohru u dveří
Vytvořte obvod k rozhraní ESP-01 a zvonkohru u dveří
Vytvořte obvod k rozhraní ESP-01 a zvonkohru u dveří
Vytvořte obvod k rozhraní ESP-01 a zvonkohru u dveří
Vytvořte obvod k rozhraní ESP-01 a zvonkohru u dveří

Prvním krokem by bylo vytvoření obvodu, který by byl rozhraním mezi ESP-01 a Door Chime. Typická zvonkohra se aktivuje, když je mezi kolíky „TRANS (bývalý)“a „PŘEDNÍ/ZADNÍ“16 VAC, jak je znázorněno na mé první fotografii. Po stisknutí tlačítka zvonku se na těchto pinech objeví napětí.

Obvod, který jsem navrhl, má snímat tento signál 16 VAC a převádět jej na digitální signál přibližně 3,3 V DC. Jedná se o základní půlvlnný usměrňovač tvořený D1 a C1. V této situaci nepotřebujeme mít plnovlnný usměrňovač, protože na stejnosměrný výstup se načítá velmi málo, což nám ušetří trochu nemovitostí na desce. Chci udělat desku co nejméně, abych ji mohl umístit do svého stávajícího zvonkohry.

R1 a R2 tvoří dělič napětí, který snižuje špičkové stejnosměrné napětí na přibližně 3,3 V.

R3, TR1 a R4 tvoří měnič, který poskytuje zpětnou logiku pro ESP-01 GPIO-2. To je nezbytné k zajištění logiky VYSOKÉ během spouštění (s vytažením R4 a R5), aby se ESP-01 spouštělo z flash. Když je stisknuto tlačítko zvonku, zobrazí se logika LOW pro GPIO-2. TR1 může být jakýkoli malý výkonový NPN tranzistor, v mém případě jsem použil 2N3904.

V1 je napájecí zdroj 3,3 V DC, který jsem postavil pomocí staré 5 V nabíječky mobilních telefonů spojené s regulátorem AMS1117 3,3 V DC, kterou ukážu v dalším kroku.

Pro zásuvku ESP-01 používám standardní 8pólovou zásuvku IC a prořezávám plastové můstky, které vytvářejí mezeru mezi řadami, a poté slepím 2 řady dohromady.

Krok 2: Napájení 3,3 V DC pro ESP-01

Napájení 3,3 V DC pro ESP-01
Napájení 3,3 V DC pro ESP-01
Napájení 3,3 V DC pro ESP-01
Napájení 3,3 V DC pro ESP-01
Napájení 3,3 V DC pro ESP-01
Napájení 3,3 V DC pro ESP-01

V tomto kroku budeme stavět napájecí zdroj 3,3 V DC pro ESP-01. Mám několik starých 500mA a 700mA 5VDC USB nabíjecí adaptér, který jsem znovu zamýšlel pro tento projekt. Potřebujeme také regulátor 3,3 VDC, abychom snížili napětí 5 V na 3,3 V, a proto používám levný předem sestavený modul regulátoru na bázi AMS1117, který jsem koupil z ebay. Můžete vyhledat „modul 3.3V AMS1117“a zjistit, co vám vyhovuje.

Tento modul 3,3 V regulátoru je velmi malý, takže jej mohu skutečně nacpat do původního 5V pouzdra USB nabíječky, což je bezpečnější před potenciálním zkratem. Odstranil jsem nástěnné kolíky střídavého proudu z nabíjecího modulu a nahradil je dvěma kabely, které budou připojeny ke 120 V AC ze zdi za mým stávajícím zvonkem. V tomto kroku ale neodstraňujte hroty, dokud neprovedeme testovací běh v dalším kroku.

Pokud je v blízkosti zásuvka ve zdi nebo pokud vám nevyhovuje zapojení napájecího zdroje přímo do domovních rozvodů, můžete volitelně jednoduše zapojit upravený napájecí zdroj do zásuvky ve zdi a zapojit kabeláž do zvonkohry, ačkoli nemusí vypadat tak čistě, jako připojení přímo k domovnímu vedení.

Podívejte se na jednu z mých fotografií, abyste viděli, že za mým zvonkohrou je kabeláž 120 V AC a 16 V AC transformátor pro zvonkohru.

Výstup z regulátoru 3,3 V by se poté připojil k desce rozhraní ESP-01 podle předchozího kroku.

Krok 3: Bliká ESP-01

V tomto kroku provedeme záblesk ESP-01 pomocí skici arduino. Pokud jste nikdy nepoužili modul ESP-01, můžete se řídit mými pokyny, abyste mohli začít:

Můj náčrtek najdete na mé stránce github:

V náčrtu musíte minimálně změnit následující informace týkající se vaší domácí sítě/nastavení:

#define MQTT_SERVER "10.0.0.30" const char* ssid1 = "SSID"; const char* heslo1 = "MYSSIDpassword"; const char* ssid2 = "SSID1"; const char* heslo2 = "MYSSIDpassword";

V mé domácí síti mám 2 různé přístupové body, které vysílají 2 různé SSID, a tato skica by umožnila redundanci připojením k dalšímu SSID, pokud dojde ke ztrátě komunikace s aktuálním AP. Pokud máte pouze jeden SSID, vyplňte ssid1 i ssid2 stejnou hodnotou.

Jakmile provedete úpravu, nahrajte skicu do ESP-01 a zapojte ESP-01 do desky rozhraní.

Krok 4: Testovací běh

Testovací běh
Testovací běh
Testovací běh
Testovací běh
Testovací běh
Testovací běh

Od kroku 1 jsme postavili desku rozhraní ESP-01 a od kroku 2 máme napájení 3,3 V pro desku ESP-01. Nyní připojíme výstup napájecího zdroje k desce podle schématu zapojení, zobrazeného jako V1.

Nyní je dalším krokem připojení terminálů zvonkohry Trans/Door k propojovacím deskám rozhraní zobrazeným jako „Terminály zvonkohry u dveří“. Vzhledem k tomu, že je moje zvonkohra namontována vysoko na zeď, pro testovací běh provedu dočasně dlouhý pár kabelů od svorek zvonkohry k desce, abych mohl zapojit napájecí zdroj.

Chcete -li otestovat, zda naše zařízení funguje, nejjednodušší by bylo sledovat zprávy MQTT v síti. Chcete -li to provést, musíte otevřít relaci SSH brokerovi mosquitto a zadat následující příkaz:

mosquitto_sub -v -t '#'

Výše uvedený příkaz by nám umožnil vidět všechny zprávy MQTT přicházející do makléře.

Nyní zapojte napájecí zdroj do zásuvky a pokud vše funguje, během několika sekund byste měli vidět alespoň následující zprávu MQTT:

stat/DoorBell/LWT Online

Nyní vyjděte ven a zazvonte u dveří a měla by se vám zobrazit tato zpráva:

tele/DoorBell ON

Pokud vidíte tyto zprávy, váš projekt je úspěšný.

Do skici jsem také zahrnul několik užitečných témat MQTT, která můžete použít:

"stat/DoorBellInfo": tato zpráva je odesílána každou minutu, aby poskytla provozuschopnost a další informace.

"cmnd/DoorBellInfo": ESP-01 odešle informace, pokud obdrží toto téma s hodnotou '1' (ascii = 49) "cmnd/DoorBellCPUrestart": ESP-01 se restartuje, pokud obdrží toto téma s hodnotou '1 '(ascii = 49) "cmnd/DoorBellCPUreset": ESP-01 se resetuje, pokud obdrží toto téma s hodnotou' 1 '(ascii = 49)

"tele/FrontDoorBell": ESP-01 po stisknutí zvonku odešle zprávu v tomto tématu s hodnotou 'ON'

Krok 5: Integrace desky a napájecího zdroje do zvonkohry

Integrace desky a napájecího zdroje do zvonkohry
Integrace desky a napájecího zdroje do zvonkohry
Integrace desky a napájecího zdroje do zvonkohry
Integrace desky a napájecího zdroje do zvonkohry
Integrace desky a napájecího zdroje do zvonkohry
Integrace desky a napájecího zdroje do zvonkohry

Nyní, když máme úspěšný testovací běh, musíme sestavit desku a napájecí zdroj uvnitř zvonku u zvonku (pokud je to možné). V mém stávajícím zvonkohře je prázdný kryt, který jsem dokázal rozříznout a vejít do tohoto prostoru napájecí zdroj. Deska ESP-01 se nevejde do toho malého prostoru, ale přesto se vejde do celkového boxu na zvonkohru. Právě jsem použil silnou oboustrannou pásku k montáži desky rozhraní ESP-01.

Nyní můžeme odstranit kovové hroty z naší USB nabíječky a nahradit je silnějším kabelem, který můžeme připojit k domácímu vedení. Nezapomeňte vypnout jistič, který dodává elektrickou energii do obvodu zvonkohry.

Pokud není dostatek místa, aby se náš projekt vešel do stávajícího zvonku, budete jej muset vložit do samostatné krabice a namontovat v blízkosti zvonku.

Krok 6: Poslední dotek

Poslední dotek
Poslední dotek

Nyní, když máme projekt funkční a můžeme publikovat zprávu MQTT brokerovi, je dalším krokem přemýšlení o tom, co s tím dělat.

V mém projektu používám Node-RED k poslechu/přihlášení k tomuto tématu zvonku MQTT a oznámení několika domácím reproduktorům Google. Kromě toho jsem také propojil tok s uzlem pushbullet a odeslal oznámení na můj telefon Android, takže vím, jestli někdo zazvoní na zvonek, i když nejsem doma. Upozornění Pushbullet nemusí být pro některé užitečné, ale pro mě to bylo několikrát užitečné, spolu s videokamerou na mé přední verandě vidím, kdo přišel zrušit dodávky (obvykle zvoní na zvonek). Kvůli různé interferenci, zejména pohybujícím se stínům stromů, se na funkci detekce pohybu kamery moc spoléhat nemohu.

Obrázek v tomto kroku ukazuje tok Node-RED k dosažení tohoto cíle. Tok z mé stránky github můžete také vložit do svého Node-RED:

Domácí oznámení Google je jen jedním příkladem tohoto projektu, ale myslím si, že je to nejužitečnější a nejpraktičtější. Vždy se můžete připojit k jinému posluchači MQTT nebo dokonce pomocí IFTTT řídit další zařízení po zatlačení na zvonek.

Bavte se…

Doporučuje: