W artykule zobaczmy, jak można zamienić zwykły dzwonek do drzwi w inteligentny dzwonek, czyli taki, który jest podłączony do sieci naszego inteligentnego domu i do smartfona. Pomysł wziął się z prostego problemu autora konstrukcji: "W moim domu dzwonek do drzwi jest w rozdzielni elektrycznej z wyłącznikiem głównym itd. Rozdzielnia ta ma własne drzwi i sama dodatkowo znajduje się w szafce. Więc jeśli ktoś dzwoni do drzwi, słychać go bardzo słabo. Moim pomysłem było otrzymywanie powiadomień na telefonie, gdy ktoś zadzwoni do drzwi. Ten system jest dla mnie bardzo przydatny również, dlatego, że często buduję swoje projekty w garażu, więc dzięki powiadomieniu na telefonie wiem, czy ktoś zadzwonił do drzwi, gdy jestem w garażu" opowiada autor konstrukcji.
Więcej szczegółów tej konstrukcji można zobaczyć na filmie, umieszczonym przez konstruktora na jego kanale YouTube (jest po włosku, ale ma angielskie napisy). Link do filmu znajduje się na końcu artykułu, w bibliografii.
Potrzebne elementy
Do zestawienia omawianego urządzenia potrzebne będzie zaledwie kilka komponentów:
- moduł Wemos D1 z układem ESP8266 lub dowolny inny moduł z tym układem,
- moduł z mikrofonem przeznaczony do Arduino,
- przewody połączeniowe, złącze JST, płytka uniwersalna itp.,
- zasilacz.
Prototyp zmontowany z tych komponentów został pokazany na fotografii 1. Opcjonalnie potrzebna będzie nam drukarka 3D lub dostęp do niej, aby wykonać z jej pomocą obudowę. Jeśli chodzi o inne narzędzia, to projekt ma naprawdę minimalistyczne wymagania i w zasadzie oprócz podstawowych przyrządów do lutowania żadne inne narzędzie nie będą nam potrzebne.
Budowa urządzenia
Układ, omawiany w tym artykule, bazuje na płytce z układem ESP8266. Płytki tego rodzaju obsługiwane są przez ekosystem Arduino, ale charakteryzują się znacznie mocniejszym mikrokontrolerem, który dodatkowo wyposażony jest w moduł umożliwiający połączenie z Wi-Fi. Aby ESP8266 słyszał, gdy ktoś dzwoni do drzwi, do układu dołączono płytkę z mikrofonem wykonanym specjalnie dla Arduino. Na pewno są inne sposoby na wykrycie dzwonka do drzwi, ale użycie mikrofonu ma tę wielką zaletę, że nie trzeba dokonywać żadnych zmian w instalacji elektrycznej, wystarczy umieścić moduł z mikrofonem w pobliżu dzwonka do drzwi.
Płytka z mikrofonem ma mikrofon na górze, a styki połączeniowe na dole. Zawiera wyjście cyfrowe, jak i analogowe. Wyjście cyfrowe jest aktywowane, gdy natężenie dźwięku mierzone przez mikrofon przekroczy określony próg. Aby wyregulować ten próg należy ustawić go na małym potencjometrze wieloobrotowym na płytce tego modułu.
Płytkę mikrofonu podłączamy do modułu z ESP8266 zgodnie ze schematem pokazanym na rysunku 1. Zasilanie i masę z modułu z ESP8266 podłączamy do zasilania modułu z mikrofonem. Wyjście cyfrowe mikrofonu podłączone jest do wyprowadzenia D7 modułu ESP8266. Finalne strojenie mikrofonu musimy zrealizować po zainstalowaniu oprogramowania na mikrokontrolerze. Poziom wyzwalania mikrofonu ustawiamy tak, aby był on każdorazowo wyzwalany dźwiękiem mikrofonu, ale aby żadne inne dźwięki w mieszkaniu nie wyzwalały fałszywych detekcji.
Aby przekształcić moduły w gotowe urządzenie, w coś, co bardziej przypomina gotowy produkt, autor zamontował moduł z ESP8266 na płytce uniwersalnej, która została docięta do wymiarów modułu. Do płytki dolutowano gniazdko JST, do którego podłączony jest przewód do modułu z mikrofonem. Aby podłączyć mikrofon trzeba dobrać przewód, który ma zwykłe gniazdka na goldpiny na jednym końcu i złącze JST na drugim.
Obudowa
Autor zaprojektował również obudowę do tego urządzenia. Wykonana jest ona w technologii druku 3D i mieści w sobie moduł Wemos D1 na płytce uniwersalnej. W pokrywie obudowy przygotowane jest miejsce do wykonania otworu dla przewodów biegnących do mikrofonu. Przewidziano także miejsce na port USB.
W miejscu, gdzie moduł z ESP8266 ma diodę LED ścianka obudowy ma zaledwie jedną warstwę. Przy takiej grubości, jeśli zastosujemy biały PLA lub podobny materiał, to światło diody będzie dostatecznie widoczne z zewnątrz. Na fotografii 2 widoczne jest zdjęcie gotowego modułu w obudowie. Pliki STL z elementami przygotowanymi do druku można pobrać ze strony z projektem (link znajduje się na końcu artykułu).
Instalacja
Gdy konstrukcja jest ukończona, system możemy zamontować obok dzwonka do drzwi, aby wysyłać powiadomienie, gdy dzwonek dzwoni. W przypadku autora dzwonek znajduje się w skrzynce rozdzielczej, więc obudowa z ESP8266 umieszczona jest w skrzynce - przyklejona za pomocą taśmy dwustronnej.
Następnie płytka z mikrofonem umieszczona jest obok dzwonka i zabezpieczona kolejnym kawałkiem taśmy dwustronnej.
Do zasilania modułu z ESP8266 zastosowano zwykły zasilacz USB. Można zamiast niego zastosować np. zasilacz 5 V na szynę DIN i zabudować go w rozdzielni elektrycznej.
Po zainstalowaniu i wgraniu oprogramowania (patrz dalsza część artykułu) ostatnim krokiem instalacji modułu jest regulacja czułości tak, aby mikrofon wykrywał dzwonek do drzwi.
Oprogramowanie
Oprogramowanie modułu w tym projekcie zapewnia integrację z Home Assistantem. Aby połączyć ESP8266 z naszym systemem inteligentnego domu i telefonem komórkowym, użyjemy Home Assistant i ESPhome.
Home Assistant to system, który działa lokalnie i pozwala łączyć ze sobą urządzenia automatyki domowej, takie jak żarówki, inteligentne gniazdka. Do uruchomienia Home Assistant autor używa starego komputera PC z Windowsem i maszyną wirtualną, ale zamiast tego można użyć np. komputera jednopłytkowego Raspberry pi, który zużywa o wiele mniej prądu. Aby zobaczyć dane z poziomu smartfona, można pobrać aplikację Home Assistant na telefon komórkowy. Do łączenia się spoza sieci lokalnej do Home Assistanta można użyć Nabu Casa Cloud, który jest najprostszym rozwiązaniem, ale niestety nie jest to rozwiązanie darmowe. Istnieją inne rozwiązania, ale nie zawsze są one całkowicie bezpieczne.
ESPhome to dodatek do Home Assistant, który umożliwia podłączenie modułu z układem ESP do Home Assistant poprzez Wi-Fi. Aby podłączyć płytkę ESP8266 do ESPhome, należy wykonać następujące kroki:
należy zainstalować plugin ESPhome w Home Assistancie;
- w menu ESPhome Wybieramy New device i kontynuujemy;
- nazywamy nowe urządzenie;
- wybieramy ESP8266 lub płytkę, której używamy (jeśli jest dostępna);
- kopiujemy klucz szyfrowania, będziemy później go potrzebować;
- naciskamy EDIT, aby zobaczyć konfigurację dla urządzenia;
- pod nazwą, jaką wcześniej wybraliśmy dla tego modułu musimy wpisać typ płytki, jeśli skorzystaliśmy z Wemos D1 Mini powinno znaleźć się tam:
esp8266:
board: d1_mini
- w sekcji Wi-Fi musimy wpisać SSID I hasło do naszej sieci bezprzewodowej;
- aby poprawić stabilność działania systemu możemy płytce nadać stały adres IP, jak pokazano na listingu 1;
- na koniec sekcji kodu dodajemy konfigurację wejścia modułu, jak pokazano na listingu 2;
Wi-Fi:
ssid: yourssid
password: yourwifipassword
manual_ip:
# Set this to the IP of the ESP
static_ip: 192.168.1.61
# Set this to the IP address of the router. Often ends with .1
gateway: 192.168.1.1
# The subnet of the network. 255.255.255.0 works for most home networks.
subnet: 255.255.255.0
binary_sensor:
- platform: gpio
pin: GPIO13
name: “Drzwi wejsciowe”
device_class: sound
filters:
- delayed_off: 2000ms
on_press:
then:
- light.turn_on: led
- delay: 4s
- light.turn_off: led
light:
- platform: status_led
name: “Led status drzwi wejsciowych”
id: “led”
pin:
number: GPIO2
inverted: true
Jeśli w projekcie użyjemy tej samej płytki, co autor, prawdopodobnie wyprowadzenia wpisane w kodzie będą w porządku i nie będzie trzeba nic zmieniać. Jeśli jednak zastosujemy inny moduł, albo inaczej podłączymy sensory konieczna może być zmiana konfiguracji. Po zakończeniu wpisywania konfiguracji można kliknąć Install, podłączyć ESP8266 do komputera i postępować zgodnie z kolejnymi instrukcjami wyświetlanymi na ekranie, aby przesłać kod programu do modułu.
Gdy ESP8266 jest podłączony do sieci Wi-Fi można przejść do ustawień Home Assistanta, gdzie prawdopodobnie zobaczymy, że Home Assistant wykrył nowe urządzenie. Należy kliknąć konfiguruj i wkleić tam klucz szyfrowania, jaki zapisaliśmy wcześniej.
Jeśli nie dysponujemy Home Assistantem do podłączenia ESP8266 do sieci, można skorzystać z platformy Blynk, która jest częściowo darmowa i nie wymaga do działania komputera. Jednak wtedy opisany kod nie działa, a ESP8266 wymaga innej konfiguracji.
Konfiguracja automatyzacji
Aby otrzymać powiadomienie na telefon, gdy ktoś zadzwoni do drzwi, co jest celem tego projektu, można utworzyć bardzo prostą automatyzację w Home Assistant. Można ją zobaczyć na zrzucie ekranu na rysunku 2.
W celu aktywacji automatyki nie musimy nic robić. Po ustawieniu wszystkiego można sprawdzić działanie systemu, uruchamiając dzwonek do drzwi. Jeśli wszystkie elementy zostały prawidłowo skonfigurowane, na ekranie smartfona zobaczymy powiadomienie, takie jak pokazano na fotografii 3.
Podsumowanie
Projekt działa świetnie i zawsze przesyła powiadomienie, gdy ktoś dzwoni do drzwi. Jedynym problemem, jaki zauważył autor, jest to, że czasami mikrofon wychwytuje inne dźwięki, więc trzeba ostrożnie ustawiać potencjometr czułości na płytce mikrofonu, aby otrzymywać powiadomienia tylko dla dźwięku dzwonka do drzwi.
Nikodem Czechowski, EP
Bibliografia: