Spisu treści:

Wifi do RF - Zamek drzwi: 3 kroki (ze zdjęciami)
Wifi do RF - Zamek drzwi: 3 kroki (ze zdjęciami)

Wideo: Wifi do RF - Zamek drzwi: 3 kroki (ze zdjęciami)

Wideo: Wifi do RF - Zamek drzwi: 3 kroki (ze zdjęciami)
Wideo: ZLOT MŁODZIEŻY GRYPSUJĄCEJ 2024, Lipiec
Anonim
Wifi do RF - Zamek do drzwi
Wifi do RF - Zamek do drzwi
Wifi do RF - Zamek do drzwi
Wifi do RF - Zamek do drzwi
Wifi do RF - Zamek do drzwi
Wifi do RF - Zamek do drzwi

Przegląd

Ta instrukcja daje możliwość blokowania / odblokowywania drzwi wejściowych za pomocą oprogramowania do automatyzacji domu (takiego jak OpenHAB – bezpłatne oprogramowanie do automatyzacji domu, którego osobiście używam). Powyższy obrazek pokazuje przykładowy zrzut ekranu aplikacji OpenHAB na iPhone'a. Alternatywnie możesz wykorzystać komunikaty MQTT, jak opisano poniżej, w prawie każdym systemie, który chcesz.

Założenia

Ta instrukcja zakłada, że już masz (lub skonfigurujesz):

  • OpenHAB (bezpłatne oprogramowanie do automatyki domowej o otwartym kodzie źródłowym) działa, chociaż jak wspomniano, powinno działać z dowolnym oprogramowaniem do automatyki domowej, które może zawierać powiązanie MQTT. Alternatywnie możesz samodzielnie zmienić kod, aby dopasować go do własnych potrzeb.
  • Powiązanie Mosquitto MQTT zainstalowane i skonfigurowane za pomocą OpenHAB (MQTT to protokół typu subskrybowania/publikowania komunikatów, który jest lekki i świetnie nadaje się do komunikacji między urządzeniami)
  • Że już zainstalowałeś blokadę klawiatury do drzwi przednich opartą na RF, która jest dostarczana z co najmniej jednym pilotem zdalnego sterowania (większość to robi) Można je kupić stosunkowo tanio na Amazon (około ~ 60 USD, chociaż baterie w tym modelu wystarczą tylko na ~ 4 miesięcy więc zobacz, czy możesz dostarczyć DC, który zasila zamek lub wydać trochę więcej na porządny model:-))

Jeśli nie korzystasz z OpenHAB i brokera MQTT, zapoznaj się z tym doskonałym artykułem na stronie internetowej MakeUseOf

Wstęp

Ten projekt pokazuje w szczególności, jak korzystać z zamka do drzwi opartego na RF KEY FOB, aby był znacznie bardziej użyteczny, konwertując go do pracy bezprzewodowej, co daje możliwość blokowania lub odblokowywania drzwi za pomocą systemu automatyki domowej, przeglądarki internetowej, telefonu (za pomocą aplikacji OpenHAB), a nawet zaplanuj automatyczne blokowanie w nocy za pomocą reguł w oprogramowaniu automatyki domowej. Do tego projektu kupiłem „zamek do drzwi wejściowych z klawiaturą opartą na Mi RF” od Amazona za około 60 USD *

(* EDYCJA: baterie w tej konkretnej marce zamka drzwiowego nie wytrzymują tak długo! Miałem tylko 3-4 miesiące użytkowania, zanim musiałem wymienić baterie, co stało się dość frustrujące. Od tego czasu wymieniłem tę jednostkę dla elektronicznego zamka do drzwi marki Windsor, którego baterie wystarczają na 2 lata. Alternatywnie, choć dużo więcej pracy, rozważ podłączenie zasilania prądem stałym przez rdzeń drzwi do zamka)

W tym celu zapewniają zamek do drzwi sterowany częstotliwością radiową (RF) z wbudowaną klawiaturą i brelokiem do zdalnego blokowania / odblokowywania. Jednak w przypadku RF brelok musi znajdować się w zasięgu zamka drzwi. Ten projekt wykorzysta brelok poprzez zintegrowanie go z Wemos (płyta IOT z chipem ESP8266) do bezprzewodowego blokowania / odblokowywania, dzięki czemu można go kontrolować z dowolnego miejsca, w którym masz połączenie z Internetem.

Czego potrzebuję?

Najpierw kup i zainstaluj blokadę klawiatury opartą na RF. Musisz upewnić się, że jest wyposażony w brelok! Przetestuj brelok i upewnij się, że naciśnięcie przycisków spowoduje zablokowanie lub odblokowanie drzwi przed uruchomieniem. Większość tych zamków drzwiowych powinna opierać się na standardowych rozmiarach drzwi i przesunięciach zamków, więc jeśli masz już zasuwę (tak jak ja), wymiana jest wyjątkowo łatwa.

Aby utworzyć kontroler bezprzewodowy, musisz pozyskać następujące części:

  • Wemos D1 mini V2 (ma wbudowany bezprzewodowy CHIP ESP8266) lub po prostu CHIP ESP8266 powinien wystarczyć (nie polecam wersji ESP-01 do tego projektu, ponieważ pin GPIO 0 musi być trzymany wysoko po włączeniu, aby aby uruchomić go z pamięci flash, jednak spowoduje to uruchomienie blokady drzwi, gdy ESP8266 włączy się, potencjalnie odblokowując drzwi wejściowe! Chociaż istnieją rozwiązania, które możemy w tym celu zrobić, takie jak użycie timerów lub tranzystorów itp., Za niski koszt Wemos i mniej komponentów, będziemy dążyć do prostszego podejścia)
  • Źródło zasilania 5 V DC do zasilania Wemos i pilota (baterie nie będą już potrzebne) Jeśli zasilasz Wemos za pomocą pinu 5 V VCC (zamiast portu USB), a źródło zasilania DC jest wyższe niż 5 V, potrzebujesz również regulatora napięcia 5 V (takiego jak LM7805) plus 2 x kondensatory, 10 V 0,33 uF i 10 V 0,1 uF lub podobny rozmiar (zgodnie z arkuszem danych LM7805)
  • Dwa tranzystory MOSFET 2N7000 lub podobne (będą używane do przełączania pilota, jeden do blokowania, drugi do odblokowywania. 2N7000 jest bardzo popularnym i bardzo tanim tranzystorem typu N-Channel MOSFET, więc powinien być bardzo łatwy do pozyskania)

  • Dwa rezystory 10 kiloomów (będą one używane jako rezystory ściągające dla każdego z tranzystorów MOSFET, dzięki czemu blokada / odblokowanie drzwi nie zostanie uruchomione po włączeniu zasilania!)
  • W zależności od pilota może być konieczne podłączenie innego kondensatora (np. 10 V 220 uF lub podobnego), aby zwiększyć zasilanie pilota. Zobacz powody, dlaczego w dalszej części tego artykułu.
  • Potrzebne narzędzia: obcinaki boczne, drut jednożyłowy, lutownica, topnik i opcjonalnie multimetr

Sam brelok zwykle wykorzystuje szeregowo 2 x 3 V baterie (6 V Vcc). Dlatego użycie zasilania 5 V z kondensatorem jest jednak wystarczające do zasilania Wemos i wyzwalania blokowania/odblokowywania.

Jeśli masz pilota, który działa na pojedynczej baterii 3 V, powinieneś być w stanie dodać regulator napięcia 3,3 V do obwodu, aby obniżyć napięcie zbliżone do wymaganego 3 V. Bateria 3 V faktycznie wytwarza około 3,1 V, a większość obwodów ma jakąś wyższą tolerancję napięcia, więc w tym przypadku od 3,1 V do 3,3 V wynosi +6%. Połącz to z faktem, że Wemos pobiera prąd, więc napięcie prawdopodobnie będzie jeszcze mniejsze. W razie wątpliwości zmierz multimetrem i jeśli to możliwe, sprawdź u sprzedawcy zamka maksymalne napięcie (lub maksymalną tolerancję), jaką zaakceptuje pilot, ponieważ nie ponoszę odpowiedzialności, jeśli pilot przestanie działać! Wreszcie, jako alternatywne rozwiązanie, zamiast tego skonfiguruj obwód dzielnika napięcia.

Krok 1: Montaż

montaż
montaż
montaż
montaż
montaż
montaż

Lutowanie

Montaż komponentów jest bardzo prosty. Najpierw rozerwij breloczek - wyjmij baterie i obudowę, ponieważ potrzebujesz tylko płytki drukowanej w środku. Następnie przylutuj drut po obu stronach nóżek przycisku pilota. Zrób to zarówno dla przycisku „zablokuj”, jak i przycisku „odblokuj”. Następnie odwróć brelok i przylutuj drut na podkładkach + i - z tyłu breloka, jak pokazano na zdjęciach. Większy pad to +, mniejszy to -

Uwaga: Zasilacz 5 V będzie zasilał zarówno Wemos, jak i brelok, więc baterie breloka nie są już potrzebne.

montaż

Dostarcz 5 V Vcc i GND do Wemos i dodaj MOSFETy i rezystory do płytki stykowej zgodnie z obrazkiem. Rezystory 10 kiloomów powinny biegać od GND do bramki (środkowego styku) tranzystorów MOSFET. Spowoduje to sprowadzenie napięcia do masy, zatrzymując wyzwalanie tranzystorów MOSFET po włączeniu zasilania.

Następnie poprowadź przewód od D1 na Wemos do bramki pierwszego MOSFET-u i D2 na Wemos do bramki drugiego MOSFET-u. D1 i D2 to piny GPIO (wejście/wyjście ogólnego przeznaczenia), które w kodzie są oznaczone jako piny OUTPUT.

Na koniec podłącz przewody pilota do płytki stykowej, szynę Vcc do 5 V, GND do GND, a następnie przewód po ujemnej stronie przycisku do strony źródłowej każdego MOSFET-u i dodatniej stronie przycisku do strony drenażu każdego MOSFET-u jak pokazano na obrazku (użyj multimetru, jeśli nie masz pewności co do polaryzacji)

(EDYTUJ: Zamienny zamek do drzwi Windsor, o którym wspomniałem wcześniej, ma pilota, który zużywa nieco więcej napięcia niż stary pilot. To spowodowało, że Wemos skutecznie przestał reagować z powodu spadku napięcia, gdy drzwi zostały zablokowane/odblokowane. Jeśli napotkasz ten sam problem, a następnie napraw przewód w kondensatorze 220uF (lub podobnym) tuż przed okablowaniem +/-, które wychodzi do pilota. Kondensator naładuje się i podczas wyzwalania opróżnij kondensator zamiast bezpośredniego zasilania prądem stałym)

Teraz podłącz kabel USB do Wemos, a drugi koniec kabla do komputera.

(Kod wyprowadzi pin D1 „HIGH”, wyzwalając MOSFET, aby włączyć się, umożliwiając przejście napięcia od drenu do źródła, a zatem „włączając” przycisk na 1 sekundę przed ponownym przyłożeniem pinu wyjściowego „LOW” i wyłączeniem go W efekcie jest to po prostu symulacja naciśnięcia klawisza za pomocą kodu)

IDE Arduino

Uruchom środowisko Arduino IDE. Pobierz i otwórz kod (alternatywny link TUTAJ) Upewnij się, że dodatkowe karty są zawarte w IDE, zobacz tutaj, jak skonfigurować. Następnie musisz upewnić się, że zainstalowano i załadowano prawidłową kartę dla twojego projektu (Narzędzia, Tablice, Menedżer tablicy - wyszukaj „esp8266” i zainstaluj), a także wybrany prawidłowy port COM (Narzędzia, Port, COM…). Potrzebne będą również odpowiednie biblioteki PubSubClient i ESP8266Wifi zainstalowane (Sketch, Manage Libraries, Include Library…)

Następnie zmień następujące wiersze kodu i zastąp własnym identyfikatorem SSID i hasłem dla połączenia bezprzewodowego. Zmień również adres IP, aby wskazywał na własnego brokera MQTT. Jeśli nie masz zainstalowanego brokera MQTT, polecam skorzystać z Mosquitto. Pobierz tutaj dla systemu Windows lub Linux.

// Wificonst char* ssid = "tutaj_twój_ssid_wifi";const char* hasło = "tutaj_hasło_wifi";// Adres IP brokera MQTT MQTT_SERVER(192, 168, 222, 254);

Po zmianie zweryfikuj swój kod, a następnie prześlij go na płytkę Wemos / ESP8266 za pomocą kabla USB.

Krok 2: Testowanie i konfiguracja OpenHAB

Testowanie i konfiguracja OpenHAB
Testowanie i konfiguracja OpenHAB
Testowanie i konfiguracja OpenHAB
Testowanie i konfiguracja OpenHAB
Testowanie i konfiguracja OpenHAB
Testowanie i konfiguracja OpenHAB

Testowanie MQTT

MQTT to system przesyłania wiadomości typu „subskrybuj / publikuj”. Jedno lub więcej urządzeń może rozmawiać z „brokerem MQTT” i „zasubskrybować” określony temat. Wszelkie komunikaty przychodzące z dowolnego innego urządzenia, które są „opublikowane” w tym samym temacie, będą wysyłane przez brokera do dowolnego innego urządzenia, które subskrybuje ten temat. Jest to niezwykle lekki i prosty w użyciu protokół, idealny jako prosty system wyzwalania, taki jak ten tutaj. Zobacz diagram przepływu, aby uzyskać przybliżony obraz tego, jak to działa.

W celu przetestowania możesz wyświetlić przychodzące wiadomości MQTT z Wemos do swojego brokera MQTT, uruchamiając następujące polecenie na serwerze Mosquitto (Mosquitto jest jednym z wielu dostępnych programów MQTT Broker). To polecenie subskrybuje przychodzące wiadomości Keepalive:

mosquitto_sub -v -t openhab/frontdoor/stan

Powinieneś widzieć wiadomości przychodzące z Wemos co około 30 sekund z liczbą „1” (co oznacza „żyję”) Jeśli widzisz stałe „0” (lub brak odpowiedzi), oznacza to brak komunikacji. Gdy zobaczysz nadchodzący numer 1, oznacza to, że Wemos komunikuje się z brokerem MQTT (wyszukaj „MQTT Last Will and Testament”, aby uzyskać więcej informacji o tym, jak to działa, lub zobacz ten naprawdę dobry wpis na blogu)

Po sprawdzeniu, że komunikacja działa, możesz teraz śledzić rzeczywisty komunikat „wyzwalacza” (zablokowania/odblokowania). Najpierw zasubskrybuj następujący temat.

mosquitto_sub -v -t openhab/frontdoor/trigger

Teraz otwórz drugie okno wiersza poleceń i uruchom następujące polecenie publikowania, wysyłając tematowi komunikat „LOCK” lub „UNLOCK”. W pierwszym oknie powinien pojawić się odpowiedni komunikat, a także czerwona dioda LED na pilocie i mechanizmie drzwi, który blokuje lub odblokowuje się zgodnie z wymaganiami.

mosquitto_pub -t openhab/frontdoor/trigger -m LOCK

(-t oznacza „temat”, -m oznacza „wiadomość”, -v oznacza „pełne” wyjście)

Uwaga: Jeśli drzwi odblokują się po wysłaniu zamka lub zamków po wysłaniu polecenia odblokowania, po prostu zamień przewody D1 i D2 wokół

Konfiguracja OpenHAB

Do OpenHAB wymagane są następujące zmiany:

plik „przedmioty”:

Przełącz frontdoorTrigger "Front Door" (gDoors) { mqtt=">[mqttbroker:openhab/frontdoor/trigger:command:ON:LOCK], >[mqttbroker:openhab/frontdoor/trigger:command:OFF:UNLOCK]" }Numer frontdoorStatus "Drzwi wejściowe [MAP(status.map):%d]" (gDoors) { mqtt="<[mqttbroker:openhab/frontdoor/status:state:default]" }

plik „mapa witryny”:

Przełącz element=frontdoorWyzwalanie mapowania=[ON="Zablokuj", OFF="Odblokuj"]Pozycja tekstowa=frontdoorStatus

Plik „status.map” (w folderze transformacji):

0=W dół1=Żyje-=nieznane

Być może trzeba będzie nieco zmienić powyższą konfigurację OpenHAB, aby dopasować ją do własnej konfiguracji, na przykład część „mqttbroker:”, która odnosi się do skonfigurowanej nazwy brokera MQTT.

Ostateczny obraz przedstawia komponenty na płytce drukowanej. W tym przypadku, ponieważ używam zasilacza DC, który jest >5V (w moim przypadku 9V) na płytce znajduje się również regulator napięcia LM7805 oraz kondensator 0,33uF po stronie zasilania i kondensator 0,1uF po stronie zasilania aby pomóc wygładzić i ustabilizować napięcie. W przeciwnym razie pozostałe połączenia są takie same, jak opisano wcześniej.

Rozwiązywanie problemów

- Jeśli masz problemy, w których Wemos stale blokuje lub odblokowuje drzwi (np. wysyła sygnał RF, a dioda LED pilota pozostaje włączona), sprawdź przewody VCC i GND do Wemos. Możliwe, że jedno lub oba z nich nie są prawidłowo podłączone.

Krok 3: Przylutuj komponenty do płytki drukowanej

Przylutuj komponenty do płytki drukowanej
Przylutuj komponenty do płytki drukowanej
Przylutuj komponenty do płytki drukowanej
Przylutuj komponenty do płytki drukowanej

Skończyło się na przylutowaniu wszystkich komponentów do płytki drukowanej, po prostu używając przewodów i/lub ścieżek lutowniczych, aby połączyć wszystkie komponenty. Potem dostałem starą brodawkę ścienną DC i odciąłem z niej przewód nieco krócej, a następnie poprowadziłem go do bloku złącza, który przylutowałem do płytki drukowanej. Następnie włącza się regulator napięcia/kondensatory 5V i niezbędne podzespoły. Po prostu przykleiłem tylną płytkę PCB do brodawki ściennej i podłączyłem ją do gniazdka w jednej z moich szafek. Działa już od około 9 miesięcy bez żadnych problemów!

Zalecana: