Spisu treści:

Dzwonek MQTT/Google Home przy użyciu ESP-01: 6 kroków
Dzwonek MQTT/Google Home przy użyciu ESP-01: 6 kroków

Wideo: Dzwonek MQTT/Google Home przy użyciu ESP-01: 6 kroków

Wideo: Dzwonek MQTT/Google Home przy użyciu ESP-01: 6 kroków
Wideo: 56 - boneIO ESP - uruchomienie esphome addon 2024, Listopad
Anonim
Dzwonek do drzwi MQTT/Google Home za pomocą ESP-01
Dzwonek do drzwi MQTT/Google Home za pomocą ESP-01

Czy zdarzyło Ci się nie odpowiedzieć gościowi, który zadzwonił do Twoich drzwi tylko dlatego, że znajdujesz się w części domu, która jest za daleko, by usłyszeć dzwonek? takich jak piwnica, sypialnia z zamkniętymi drzwiami, a może oglądałeś telewizję lub słuchałeś muzyki.

Jeśli tak jak ja, masz jeden lub więcej głośników Google Home w kilku miejscach w całym domu, ta instrukcja może być tym, czego potrzebujesz.

W tej instrukcji pokażę, jak dodać klienta MQTT do istniejącego dzwonka do drzwi, aby komunikować się z brokerem MQTT z ogłoszeniem do google home / pushbullet, używając NodeRED. Ten projekt nie zastępuje przełącznika dzwonkowego ani dzwonka. Nadal używa zwykłego mechanicznego przycisku do dzwonka.

Dodamy moduł ESP-01 do istniejącego systemu dzwonków 16VAC, dodając funkcjonalność MQTT do wysyłania wiadomości do brokera MQTT (po naciśnięciu przełącznika dzwonka). Broker MQTT przekaże wiadomość do NodeRED. Po otrzymaniu wiadomości MQTT, NodeRED wyśle ogłoszenie do wielu urządzeń Google Home, a także opcjonalnie wyśle wiadomość na telefon komórkowy/przeglądarkę za pomocą pushbullet.

Pasjonuję się automatyką domową DIY i powoli wprowadzam IOT do mojego domu. Dom Google był jedną z głównych funkcji w mojej automatyce domowej.

Mój syn podsunął mi pomysł na ten projekt, kiedy zapytał mnie, czy mogę sprawić, by google home ogłaszał za każdym razem, gdy ktoś zadzwoni do naszego dzwonka. Mamy 2 kondygnacje + dokończona piwnica domu i wiele razy nie słyszeliśmy dzwonka, gdy jesteśmy w naszej piwnicy lub na górze w sypialni z zamkniętymi drzwiami lub z włączonym telewizorem.

W naszym domu mamy 4 google home mini umieszczone w różnych miejscach/pokojach, a używając google homes do ogłaszania dzwonka do drzwi, od razu wiemy, czy ktoś zadzwoni do drzwi.

W moim domu używam RaspberryPi ZeroW do hostowania serwera Mosquitto MQTT i NodeRED. Działa od ponad roku bez żadnych problemów.

Bibliografia:

  • Schematy okablowania dzwonka:
  • Zainstaluj Mosquitto MQTT Broker na Raspberry Pi:
  • Zainstaluj NodeRED na Raspberry Pi:

Krok 1: Utwórz obwód do interfejsu ESP-01 i dzwonka do drzwi

Utwórz obwód do interfejsu ESP-01 i dzwonka do drzwi
Utwórz obwód do interfejsu ESP-01 i dzwonka do drzwi
Utwórz obwód do interfejsu ESP-01 i dzwonka do drzwi
Utwórz obwód do interfejsu ESP-01 i dzwonka do drzwi
Utwórz obwód do interfejsu ESP-01 i dzwonka do drzwi
Utwórz obwód do interfejsu ESP-01 i dzwonka do drzwi

Pierwszym krokiem byłoby stworzenie obwodu, który byłby interfejsem między ESP-01 a dzwonkiem do drzwi. Typowy dzwonek do drzwi jest aktywowany, gdy między pinami „TRANS (były)” i „FRONT/REAR” występuje napięcie 16VAC, jak pokazano na moim pierwszym zdjęciu. Napięcie pojawia się na tych kołkach po naciśnięciu przycisku dzwonka.

Obwód, który zaprojektowałem, ma wykrywać ten sygnał 16VAC i konwertować go na sygnał cyfrowy około 3,3VDC. Jest to podstawowy prostownik półfalowy utworzony przez D1 i C1. W tej sytuacji nie musimy mieć prostownika pełnookresowego, ponieważ obciążenie wyjścia DC jest bardzo małe, co oszczędza nam trochę nieruchomości na płycie. Chcę, aby tablica była jak najmniejsza, aby móc umieścić ją w moim istniejącym dzwonku.

R1 i R2 tworzą dzielnik napięcia, aby obniżyć szczytowe napięcie prądu stałego do około 3,3 V.

R3, TR1 i R4 tworzą falownik, aby zapewnić logikę odwrotną dla ESP-01 GPIO-2. Jest to konieczne, aby zapewnić logikę WYSOKI podczas uruchamiania (z podciąganiem R4 i R5), aby ESP-01 mógł uruchomić się z pamięci flash. Po naciśnięciu przycisku dzwonka prezentuje logikę LOW, aby GPIO-2. TR1 mógł być dowolnym tranzystorem NPN małej mocy, w moim przypadku użyłem 2N3904.

V1 to zasilacz 3.3VDC, który zbudowałem przy użyciu starej ładowarki 5V do telefonów komórkowych w połączeniu z regulatorem AMS1117 3.3VDC, który pokażę w następnym kroku.

Do gniazda ESP-01 używam standardowego 8-pinowego gniazda IC i wycinam plastikowe mostki, które tworzą szczelinę między rzędami, a następnie sklejam 2 rzędy.

Krok 2: Zasilanie 3.3VDC dla ESP-01

Zasilacz 3.3VDC dla ESP-01
Zasilacz 3.3VDC dla ESP-01
Zasilacz 3.3VDC dla ESP-01
Zasilacz 3.3VDC dla ESP-01
Zasilacz 3.3VDC dla ESP-01
Zasilacz 3.3VDC dla ESP-01

W tym kroku zbudujemy zasilacz 3.3VDC dla ESP-01. Mam kilka starych przejściówek USB 500mA i 700mA 5VDC, które ponownie wykorzystałem do tego projektu. Potrzebujemy również regulatora 3.3VDC, aby obniżyć napięcie 5V do 3.3V, do tego używam taniego, gotowego modułu regulatora opartego na AMS1117, który kupiłem w serwisie eBay. Możesz wyszukać "moduł 3.3V AMS1117" i znaleźć to, co działa dla Ciebie.

Ten moduł regulatora 3,3 V jest bardzo mały, więc mogę go włożyć do oryginalnej obudowy ładowarki USB 5 V, dzięki czemu jest bezpieczniejszy przed potencjalnym zwarciem. Usunąłem bolce ścienne AC z modułu ładowarki i zastąpiłem je dwoma kablami, które będą podłączone do 120VAC ze ściany za moim istniejącym dzwonkiem. Ale nie usuwaj zębów na tym etapie, dopóki nie wykonamy testu na następnym etapie.

Jeśli w pobliżu znajduje się gniazdko ścienne lub jeśli nie czujesz się komfortowo z podłączeniem zasilania bezpośrednio do okablowania domowego, możesz opcjonalnie po prostu podłączyć zmodyfikowany zasilacz do wtyczki ściennej i poprowadzić okablowanie do gongu, chociaż może nie wyglądać tak czysto, jak podłączenie go bezpośrednio do okablowania domowego.

Zobacz jedno z moich zdjęć, aby zobaczyć, że za moim dzwonkiem znajduje się okablowanie 120 VAC i transformator 16 VAC do gongu.

Wyjście z regulatora 3,3 V połączy się następnie z płytą interfejsu ESP-01 zgodnie z poprzednim krokiem.

Krok 3: Flashowanie ESP-01

W tym kroku sflashujemy ESP-01 ze szkicem arduino. Jeśli nigdy nie flashowałeś modułu ESP-01, możesz postępować zgodnie z moimi instrukcjami, aby zacząć:

Mój szkic można znaleźć na mojej stronie github:

W szkicu musisz co najmniej zmienić następujące informacje dotyczące Twojej sieci domowej/konfiguracji:

#define MQTT_SERVER "10.0.0.30"const char* ssid1 = "SSID";const char* password1 = "MójHasło";const char* ssid2 = "SSID1";const char* hasło2 = "MójHasło";

W mojej sieci domowej mam 2 różne punkty dostępowe, które nadają 2 różne identyfikatory SSID, a ten szkic umożliwiłby redundancję, łącząc się z następnym identyfikatorem SSID, jeśli komunikacja z bieżącym AP zostanie utracona. Jeśli masz tylko jeden identyfikator SSID, wypełnij ssid1 i ssid2 tą samą wartością.

Po dokonaniu modyfikacji prześlij szkic do ESP-01 i podłącz ESP-01 do płyty interfejsu.

Krok 4: Uruchom test

Testowe uruchomienie
Testowe uruchomienie
Testowe uruchomienie
Testowe uruchomienie
Testowe uruchomienie
Testowe uruchomienie

Od kroku 1 zbudowaliśmy płytkę interfejsu ESP-01, a od kroku 2 mamy zasilanie 3.3V dla płyty ESP-01. Teraz podłączamy wyjście zasilacza do płytki zgodnie ze schematem obwodu, pokazanym jako V1.

Następnym krokiem jest podłączenie zacisków dzwonka Trans/Door do połączeń na płycie interfejsu, oznaczonych jako „Zaciski dzwonka do drzwi”. Ponieważ mój dzwonek jest zamontowany wysoko na ścianie, do uruchomienia testowego tymczasowo poprowadzę długą parę kabli od zacisków gongu do płyty, aby móc podłączyć zasilanie.

Aby sprawdzić, czy nasze urządzenie działa, najprościej byłoby monitorować komunikaty MQTT w sieci. Aby to zrobić, musisz otworzyć sesję SSH do brokera mosquitto i wydać następujące polecenie:

mosquitto_sub -v -t '#'

Powyższe polecenie pozwoliłoby nam zobaczyć wszystkie wiadomości MQTT przychodzące do brokera.

Teraz podłącz zasilacz do gniazdka ściennego, a jeśli wszystko działa, za kilka sekund powinieneś przynajmniej zobaczyć następujący komunikat MQTT:

stat/Dzwonek/LWT Online

Teraz wyjdź na zewnątrz i zadzwoń do drzwi, a powinieneś zobaczyć tę wiadomość:

Tele/Dzwonek WŁĄCZONY

Jeśli widzisz te wiadomości, Twój projekt jest sukcesem.

W szkicu zawarłem również kilka przydatnych tematów MQTT, z których możesz skorzystać:

"stat/DoorBellInfo": ta wiadomość jest wysyłana co minutę, aby zapewnić dostępność i inne informacje.

"cmnd/DoorBellInfo": ESP-01 wyśle informację, jeśli otrzyma ten temat z wartością '1' (ascii=49)"cmnd/DoorBellCPUrestart": ESP-01 uruchomi się ponownie, jeśli otrzyma ten temat z wartością '1 ' (ascii=49)"cmnd/DoorBellCPUreset": ESP-01 zresetuje się, jeśli otrzyma ten temat z wartością '1' (ascii=49)

"tele/FrontDoorBell": ESP-01 wyśle wiadomość w tym temacie z wartością 'ON', jeśli zostanie naciśnięty dzwonek

Krok 5: Integracja płytki i zasilacza z dzwonkiem

Integracja płytki i zasilacza z dzwonkiem
Integracja płytki i zasilacza z dzwonkiem
Integracja płytki i zasilacza z dzwonkiem
Integracja płytki i zasilacza z dzwonkiem
Integracja płytki i zasilacza z dzwonkiem
Integracja płytki i zasilacza z dzwonkiem

Teraz, gdy mamy pomyślny przebieg testowy, musimy zmontować płytkę i zasilacz wewnątrz dzwonka do drzwi (jeśli to możliwe). W moim istniejącym dzwonku jest pusta obudowa, którą udało mi się rozciąć i włożyć zasilacz do tej przestrzeni. Płytka ESP-01 nie mieści się w tak małej przestrzeni, ale nadal mieści się w ogólnej skrzynce dzwonka. Właśnie użyłem grubej taśmy dwustronnej do zamontowania płytki interfejsu ESP-01.

Teraz możemy wyjąć metalowe bolce z naszej ładowarki USB i zastąpić je grubszym kablem, który możemy podłączyć do okablowania domu. Pamiętaj, aby wyłączyć wyłącznik, który dostarcza prąd do obwodu gongu.

Jeśli nie ma wystarczająco dużo miejsca, aby zmieścić nasz projekt w istniejącym dzwonku drzwiowym, należy umieścić go w osobnej skrzynce i zamontować w pobliżu dzwonka drzwiowego.

Krok 6: Ostateczny dotyk

Ostatni dotyk
Ostatni dotyk

Teraz, gdy projekt już działa i jesteśmy w stanie opublikować wiadomość MQTT do brokera, następnym krokiem jest zastanowienie się, co z tym zrobić.

W moim projekcie używam Node-RED do słuchania/subskrybowania tego tematu dzwonka do drzwi MQTT i ogłaszania go kilku domowym głośnikom Google. Oprócz tego połączyłem również przepływ z węzłem pushbullet, aby wysłać powiadomienie na mój telefon z Androidem, dzięki czemu wiem, czy ktoś dzwoni do drzwi, nawet jeśli nie ma mnie w domu. Powiadomienie pushbullet nie jest przydatne dla niektórych, ale kilka razy było dla mnie całkiem przydatne, w połączeniu z kamerą wideo na moim ganku, widzę, kto przyszedł, aby dostarczać przesyłki (zwykle dzwoni dzwonek do drzwi). Nie mogę polegać zbytnio na funkcji wykrywania ruchu kamery ze względu na różne zakłócenia, zwłaszcza poruszające się cienie drzew.

Obraz na tym etapie pokazuje przepływ Węzeł-CZERWONY, aby to osiągnąć. Możesz również wkleić przepływ z mojej strony github do swojego Node-RED:

Ogłoszenie domowe Google to tylko jeden przykład tego projektu, ale myślę, że jest najbardziej użyteczny i praktyczny. Zawsze możesz połączyć się z innym słuchaczem MQTT, a nawet użyć IFTTT do sterowania innymi urządzeniami po naciśnięciu dzwonka.

Baw się dobrze…

Zalecana: