Spisu treści:

Czujnik dzwonka do drzwi i czujnik temperatury: 6 kroków
Czujnik dzwonka do drzwi i czujnik temperatury: 6 kroków

Wideo: Czujnik dzwonka do drzwi i czujnik temperatury: 6 kroków

Wideo: Czujnik dzwonka do drzwi i czujnik temperatury: 6 kroków
Wideo: Czujnik temperatury i wilgotności TUYA WiFi - monitoruj warunki w miejscu pracy i sypialni. 2024, Lipiec
Anonim
Czujnik dzwonka do drzwi i czujnik temperatury
Czujnik dzwonka do drzwi i czujnik temperatury

Ulepsza to standardowy przewodowy dzwonek do drzwi z modułem esp-12F (esp8266).

Instaluje się go w samym dzwonku, aby uniknąć jakichkolwiek zmian w okablowaniu. Zapewnia następujące funkcje

  • Wykryj pchnięcia dzwonka do drzwi
  • Wysyła powiadomienia na telefon przez IFTTT
  • Przechowuje aktywność dzwonka do drzwi na serwerze easyIOT (opcjonalnie)
  • Wywołaj inną aktywność za pomocą adresu URL po naciśnięciu dzwonka do drzwi

    Robię migawkę na kamerze internetowej przy drzwiach i mogę wyświetlić ostatnie ujęcia dzwonka do drzwi na moim telefonie

  • Opcjonalny wbudowany czujnik temperatury (DS18B20), który stanowi część monitorowania temperatury w moim domu

Krok 1: Sprzęt i materiały

Sprzęt i materiały
Sprzęt i materiały
Sprzęt i materiały
Sprzęt i materiały

Potrzebne są następujące materiały

  • ESP-12F (ESP8266) moduł wifi/cpu
  • Przetwornica DC Buck do zasilania 3,3 V
  • Dioda prostownicza (np. 1N4001)
  • Kondensator elektrolityczny 220uF 35V
  • Kondensator elektrolityczny 220uF 16V
  • Dioda Zenera 3,3 lub 2,6V
  • Rezystory
  • Kawałek deski z paskami
  • Złącza w razie potrzeby
  • Cyfrowy czujnik temperatury DS18B20 w razie potrzeby;

Schemat przedstawia używany obwód. Przyjmuje się dzwonek zasilany prądem przemiennym niskiego napięcia, który jest najpowszechniejszym typem prostego dzwonka przewodowego. Jednostka dzwonkowa jest zasilana z zewnętrznego transformatora dzwonkowego, zwykle około 10 V AC. Nie jest to krytyczne, ponieważ jedynym ograniczeniem jest maksymalne napięcie do konwertera buck. Ten, którego używam, to MP2307 z maksymalnym napięciem wejściowym 23 V DC (~16 V AC).

Zwykle są 3 aktywne terminale. Z naciśnięciem dzwonka, wykonując połączenie z jednej strony zasilania AC do solenoidu dzwonka. Moduł wykorzystuje dwa zaciski AC do wytwarzania prądu stałego przez prosty prostownik półfalowy. Wykrywanie nacisku dzwonka polega na monitorowaniu napięcia na rzeczywistym elektromagnesie. Zwykle będzie to uziemienie, ale gdy dzwonek zostanie aktywowany, będzie to pełne AC. Dioda rezystora / Zenera przycina to, więc impuls 0 - 3,3 V 50 Hz jest podawany do pinu GPIO. Oprogramowanie przetwarza to, aby zapewnić pojedynczą aktywację na każdą prasę dzwonową.

Skonstruowałem obwód na kawałku płytki z paskiem, która jest wystarczająco mała, aby z łatwością zmieścić się w dzwonku. Używam prostych złączy zworek, aby ułatwić instalację i włączyć je konkretnie w linii z głównym zasilaniem AC, aby w razie potrzeby można było łatwo zresetować zasilanie.

Przedstawiony schemat zawiera czujnik temperatury DS18B20. Jest to opcjonalne. Używam go w ramach sieci monitorującej większość obszarów w moim domu. Jeśli jest dołączony, dobrze jest podłączyć czujnik za pomocą kilku centymetrów kabla, aby umożliwić odizolowanie go od wszelkich lokalnych efektów cieplnych.

Krok 2: Oprogramowanie

Jednostka popychająca drzwi wykorzystuje szkic Arduino dostępny na github

Należy to dostosować do lokalnych warunków, a następnie skompilować w środowisku Arduino esp8266. Potrzebne są następujące biblioteki, są one standardowe lub można je dodać.

  • ESP8266WiFi
  • Klient Wifi
  • ESP8266Serwer WWW
  • ESP8266mDNS
  • ESP8266HTTPUpdateServer
  • ArduinoJson
  • WifiClientSecure
  • Kreator IFTTT
  • Serwer DNS
  • WiFiManager (opcjonalne użycie)
  • OneWire
  • DallasTemperatura

Elementy w szkicu, które mają zostać zmienione, obejmują

  • Szczegóły dostępu do lokalnej sieci Wi-Fi (ssid, hasło), jeśli nie używasz WifiManager
  • Kod autoryzacji dostępu do sieci AP_AUTHID. Dobrze jest zrobić z tego przyzwoitą długość. Może zawierać znaki alfanumeryczne.
  • firmware OTA hasło update_password
  • Hasło WifiManager WM_PASSWORD

    Wifi można skonfigurować ręcznie, komentując WM_NAME

  • Klucz ekspresu IFTTT (patrz krok powiadomienia)

Opcjonalne zmiany obejmują

  • Zmiana pinu wejściowego dla detektora dzwonka
  • Zmiana pinu czujnika temperatury
  • Zmiana portu dostępu do sieci z domyślnego 80

Po wykonaniu tej czynności należy go najpierw skompilować i przesłać przy użyciu konwencjonalnego przesyłania szeregowego. Kolejną aktualizację można wykonać poprzez kompilację binarnego eksportu w środowisku Arduino, a następnie dostęp do interfejsu OTA na ip/firmware.

Naciśnięcie dzwonka do drzwi jest wykrywane w oprogramowaniu przez przerwanie wykrywania narastającego zbocza pierwszego impulsu z obwodu detektora. Wszystkie kolejne przerwania są ignorowane. Limit czasu jest używany do ponownej aktywacji detektora po BELL_MIN_INTERVAL, który jest ustawiony na 10 sekund.

Dostęp do innych działań można uzyskać na serwerze WWW esp8266

  • ip/recent pokazuje ostatnią aktywność dzwonka do drzwi
  • ip/reloadConfig ponownie ładuje espConfig
  • ip/bellPush symuluje naciśnięcie dzwonka

Krok 3: Konfiguracja

Tak skonstruowane oprogramowanie pobiera swoją konfigurację z lokalnego serwera WWW. Moduł ładuje dane konfiguracyjne na podstawie swojego adresu Mac. To sprawia, że uruchamianie wielu modułów przy użyciu tego samego pliku binarnego jest bardzo wygodne, a także ułatwia aktualizowanie konfiguracji bez ponownej kompilacji. Można to pominąć i umieścić dane konfiguracyjne bezpośrednio w kodzie.

Przechowuję plik konfiguracyjny na moim serwerze EasyIOT, który ma folder w easyIOT/html, gdzie plik konfiguracyjny można łatwo pobrać.

Plik nazywa się espConfig i jest prostym plikiem tekstowym przechowującym szereg parametrów (12) dla każdego możliwego adresu Mac. Moduł ładuje tylko parametry ustawione dla jego adresu Mac.

Przykładem z pliku jest

#Hala

#Adres MAC123456ABCDEF

#Nazwa modułu

esp8266-hall

#maska trybu serwera (1=temp sens, 4 = tryb kotła, 4 = dzwonek do drzwi)

9

# Węzeł EIOT dla temperatury

N9S0

#nie używany

-1

# minimalny przedział temperatury w sekundach

60

#maksymalny przedział temperatury w sekundach

300

#przedział mocy kotła

0

#Węzeł zasilający kotła EasyIOT

-1

#EasyIOT dzwonek push węzeł

N10S0

# Wartość powiadomienia IFTTT

z przodu

#IFTTTT powiadom nazwę zdarzenia

dzwonek do drzwi

#adres URL działania

192.168.0.2/snap.php

Każda linia zaczynająca się od # jest ignorowana. Wszystkie linie muszą być obecne. -1 służy do ignorowania parametrów.

Plik konfiguracyjny jest odczytywany przy pierwszym uruchomieniu modułu. Można go również ponownie załadować w działającym systemie (gdy konfiguracja została zmieniona) poprzez dostęp do ip/reloadConfig

Część konfiguracji dotycząca trybu kotła nie ma tutaj znaczenia, ale jest używana w moich czujnikach temperatury podłączonych do wyjścia rury centralnego ogrzewania, ponieważ wykrywa, kiedy kocioł grzeje i może obliczyć średnie zużycie energii.

Krok 4: Powiadomienia

Gdy zostanie wykryte naciśnięcie dzwonka do drzwi, próbuje powiadomić o tym przez IFTTT lub PushOver. Teraz naciskam, ponieważ daje to szybszą odpowiedź.

Dla IFTTT potrzebujesz konta i aktywuj kanał Maker WebHooks. Klucz MakerKey z tego kanału musi zostać skompilowany do kodu.

Skonfiguruj akcję IF za pomocą Maker WebHooks i użyj nazwy zdarzenia o tej samej nazwie, co w konfiguracji (np. dzwonek do drzwi). Działanie THEN powinno być powiadomieniem IFTTT. Możesz dodać wartość 1 do powiadomienia, które będzie w pliku konfiguracyjnym. Może to być przydatne, jeśli masz 2 lub więcej detektorów.

Musisz zainstalować aplikację IFTTT na swoim telefonie, a powiadomienia będą pojawiać się przy każdym uruchomieniu dzwonka.

Do PushOver potrzebujesz konta PushOver i postępuj zgodnie z instrukcjami, aby otrzymywać powiadomienia API. Musisz skonfigurować tokeny NOTIFICATION_APP i NOTIFICATION_USER w programie z wartościami z Twojego konta PushOver.

Aby otrzymywać powiadomienia, musisz zainstalować na telefonie aplikację PushOver i uiścić niewielką jednorazową opłatę. Moim zdaniem warto, aby uzyskać znacznie szybszą odpowiedź.

Krok 5: Integracja EasyIOT

Oprogramowanie może wysyłać raporty dotyczące temperatury i dzwonka do serwera EasyIOT. Automatyzacja EasyIOT może być wykorzystana do podjęcia dodatkowych działań na podstawie tego raportu.

Skonfiguruj serwer EasyIOT (np. na Raspberry Pi). Skonfiguruj adres IP i hasło do nazwy użytkownika w oprogramowaniu esp8266 i skompiluj.

Teraz dodaj wirtualny sterownik w konfiguracji EASYIOT. Wybierz Wejście analogowe temperatury i zanotuj nazwę węzła EasyIOT. Należy to umieścić w części nazwy węzła temperatury w pliku espConfig.

Dodaj drugiego wirtualnego kierowcę. Wybierz wejście cyfrowe Door, zanotuj nazwę węzła i umieść w pliku espConfig.

Krok 6: Inne działania dzwonka

Oprogramowanie ma procedurę o nazwie actionBellOn. Jak napisano, może to zrobić 3 rzeczy

  • Powiadomienie IFTTT
  • Raport EasyIOT
  • Wykonaj adres URL akcji

Adres URL może służyć do wyzwalania innej aktywności z innych serwerów internetowych. Użyty adres URL znajduje się w pliku espConfig.

Jeśli serwer adresu URL jest uwierzytelniony, nazwa użytkownika i hasło muszą zostać skonfigurowane i wkompilowane w kod.

Używam tego, aby uzyskać dostęp do adresu URL o nazwie snap.php na kamerze obok drzwi. Po naciśnięciu dzwonka pobiera plik jpg. Ostatnie 4 są zachowywane i mogą być przeglądane zdalnie na serwerze WWW kamer.

Używam kamer opartych na raspberry Pi, które są bardzo łatwe w obsłudze. kamera

Zalecana: