Spisu treści:

Zasilany bateryjnie czujnik drzwi i zamka szopy, Solar, ESP8266, ESP-Now, MQTT: 4 kroki (ze zdjęciami)
Zasilany bateryjnie czujnik drzwi i zamka szopy, Solar, ESP8266, ESP-Now, MQTT: 4 kroki (ze zdjęciami)

Wideo: Zasilany bateryjnie czujnik drzwi i zamka szopy, Solar, ESP8266, ESP-Now, MQTT: 4 kroki (ze zdjęciami)

Wideo: Zasilany bateryjnie czujnik drzwi i zamka szopy, Solar, ESP8266, ESP-Now, MQTT: 4 kroki (ze zdjęciami)
Wideo: Czujnik Otwarcia drzwi - tuya zigbee od Woox R7047 2024, Lipiec
Anonim
Zasilany bateryjnie czujnik drzwi i zamka szopy, Solar, ESP8266, ESP-Now, MQTT
Zasilany bateryjnie czujnik drzwi i zamka szopy, Solar, ESP8266, ESP-Now, MQTT
Zasilany bateryjnie czujnik drzwi i zamka szopy, Solar, ESP8266, ESP-Now, MQTT
Zasilany bateryjnie czujnik drzwi i zamka szopy, Solar, ESP8266, ESP-Now, MQTT
Zasilany bateryjnie czujnik drzwi i zamka szopy, Solar, ESP8266, ESP-Now, MQTT
Zasilany bateryjnie czujnik drzwi i zamka szopy, Solar, ESP8266, ESP-Now, MQTT

W tej instrukcji pokazuję, jak stworzyłem czujnik zasilany bateryjnie, aby monitorować stan drzwi i blokady mojej zdalnej szopy na rowery. Nie mam zasilania sieciowego, dlatego zasilany jest bateryjnie. Akumulator jest ładowany przez mały panel słoneczny.

Moduł jest przeznaczony do pracy przy niskim poborze mocy i działa na ESP-07S w głębokim śnie, który budzi się i co minutę sprawdza położenie drzwi i zamka. Jednak po otwarciu drzwi moduł jest wybudzany przez prosty obwód sprzętowy, aby natychmiast wysłać informację o otwartych drzwiach. Moduł komunikuje się poprzez ESP-Now, w którym czas transmisji jest bardzo krótki, wymagający jedynie niewielkiej ilości energii.

Moja automatyka domowa działająca na Openhab i Mosquitto obsługuje wiadomości i wysyła alarmującą wiadomość przez Telegram, jeśli alarm jest włączony.

Kieszonkowe dzieci

Wszystkie komponenty kupowane są z Aliexpress.

  • Moduł ESP-07S został wybrany do łatwego podłączenia anteny zewnętrznej w celu zwiększenia zasięgu ESP-Now.
  • Płytka ładująca TP4056 z ochroną akumulatora
  • 18650 akumulator LiPo
  • Kontaktron (NIE, aby monitorować położenie drzwi)
  • Przełącznik kontaktowy (pozycja blokady monitora)
  • Panel słoneczny (6V, 0,6W)
  • Tranzystory, rezystory, dioda, złącza (patrz schemat)

Krok 1: Sprzęt

Sprzęt komputerowy
Sprzęt komputerowy
Sprzęt komputerowy
Sprzęt komputerowy
Sprzęt komputerowy
Sprzęt komputerowy

Schemat powykonawczy jest dołączony jako rysunek. Najpierw wykonałem prototyp obwodu na płytce prototypowej. Następnie wszystkie elementy przylutowałem na płytce perforowanej.

Używam modułu ESP-07S ESP8266, ponieważ ma podłączenie do anteny zewnętrznej. Ponieważ moja szopa na rowery jest na zewnątrz, sygnał Wi-Fi musi przejść przez betonową ścianę. Dowiedziałem się, że antena zewnętrzna mocno zwiększa zasięg ESP-Now. Dość logiczne, bo to sygnał WiFi.

Do czujnika drzwi użyłem kontaktronu z dolnymi połączeniami NO i NC. Gdy drzwi są zamknięte, magnes przymocowany do nich otwiera przełącznik. Moduł sprawdza stan drzwi i zamka co 60 sekund, jednak gdy drzwi zostaną otwarte, chcę być natychmiast o tym poinformowany, dlatego zaimplementowałem obwód resetowania, patrz niżej.

Do czujnika blokady użyłem przełącznika stykowego z dolnymi połączeniami NO i NC. Gdy zamek jest zamknięty, kołek blokujący otwiera przełącznik. Tak więc zarówno czujnik drzwi, jak i czujnik zamka są normalnie otwarte (NIE).

Akumulator jest ładowany za pomocą płytki ładowarki TP4056 z zabezpieczeniem akumulatora przymocowanym do małego panelu słonecznego 6V.

Poniżej wyjaśnię niektóre części obwodu.

Zresetuj obwód

Obwód resetowania z 2N7000 Mosfet jest podłączony do styku resetowania ESP8266. Jeśli drzwi są zamknięte, styk jest otwarty, zarówno bramka, jak i źródło tranzystora są w stanie wysokim, a mosfet jest wyłączony. Kondensator podłączony do bramki ma ładunek dodatni. ESP8266 stroik GPIO12 jako HIGH = zamknięty.

Kiedy drzwi są otwarte, źródło mosfetu jest połączone z masą. Ponieważ bramka jest wysoka, mosfet jest włączony i ściąga pin resetujący do masy, co skutkuje resetem ESP8266. Kondensator jest rozładowywany przez R7, a następnie wyłącza mosfet. Zobacz zrzut ekranu mojego oscyloskopu dla niskiego pulsu 50 ms. Po impulsie uruchamia się ESP8266. ESP8266 stroik GPIO12 jako LOW = otwarty.

Gdy drzwi zostaną ponownie zamknięte, rezystor R6 podciąga źródło i GPIO12 w górę.

Monitorowanie baterii

Napięcie baterii jest odczytywane przez dzielnik napięcia pomiędzy VBat i GND. Nie chcę jednak stałego połączenia między VBat a GND, bo to wyczerpuje baterię. Dlatego umieściłem mosfet z kanałem P na wysokiej stronie dzielnika napięcia i bramka mosfeta jest podciągnięta, więc mosfet jest wyłączony. Dopiero gdy GPIO14 jest na niskim poziomie mosfet jest włączony i ESP8266 może odczytywać napięcie z ADC.

Krok 2: Oprogramowanie

Moduł ESP8266 w większości znajduje się w trybie głębokiego uśpienia, aby oszczędzać energię.

Co 60 sekund moduł uruchamia się z wyłączonym WiFi i mierzy pozycję zamka i drzwi oraz sprawdza, czy te pozycje zmieniły się w porównaniu z wartościami zapisanymi w pamięci RTC. Jeśli pozycja się zmieniła, moduł śpi przez minimalny czas i budzi się z włączoną funkcją Wi-Fi, aby wysłać nową pozycję przez ESP-Now. I oczywiście nowe pozycje są przechowywane w pamięci RTC. Jeśli nic nie zostało zmienione, moduł po prostu ponownie śpi i budzi się z wyłączonym WiFi.

Zobacz mój inny Instructable, w którym wyjaśniam, w jaki sposób używam ESP-Now do przesyłania wiadomości i przekształcania ich w wiadomości MQTT.

Jeśli „obwód OTA” zostanie ręcznie zamknięty za pomocą zworki, moduł budzi się i łączy z moją siecią Wi-Fi, aby czekać na aktualizację OTA przez ESP8266HTTPUpdateServer.

Co 30 minut mierzone jest i publikowane napięcie akumulatora.

Działa jak maszyna stanu. Stany są zdefiniowane w programie, który jest publikowany na moim Github.

STATE_CHECK: obudź się z wyłączonym radiem (wyłączone WiFi), po prostu sprawdź, czy coś się zmieniło

STATE_INIT: obudź się z włączonym radiem (włączone WiFi) i przesyłaj stany drzwi i zamków

STATE_DOOR: obudź się z włączonym radiem, opublikuj stan drzwi przy następnym uruchomieniu

STATE_LOCK: obudź się z włączonym radiem, opublikuj stan blokady przy następnym uruchomieniu

STATE_VOLTAGE: obudź się z włączonym radiem, opublikuj napięcie przy następnym uruchomieniu

STATE_OTA 5: obudź się z włączonym radiem, przejdź do trybu OTA

Krok 3: montaż

Gromadzić się
Gromadzić się
Gromadzić się
Gromadzić się
Gromadzić się
Gromadzić się
Gromadzić się
Gromadzić się

Używam zacisków śrubowych i złączy męskich / żeńskich DC, aby móc składać i demontować mój projekt. Wszystkie części włożyłem do małego pudełka z ABS, zobacz zdjęcia. Zamknąłem części w taśmie Kapton w celu izolacji elektrycznej

Podłączam panel słoneczny przez męski wtyk DC (5,5 x 2,1) z diodą 1N5817, która ma niskie napięcie przewodzenia.

Kontaktron jest wklejony w pudełku, a magnes przyklejony na drzwiach w odpowiedniej pozycji.

Styk zamka wprowadzany jest z boku, patrz zdjęcie.

Krok 4: Moduł roboczy

Moduł roboczy
Moduł roboczy
Moduł roboczy
Moduł roboczy

Otrzymane dane są odczytywane przez moją automatykę domową Openhab. Lubię, mogę publikować pliki Openhab.

Monitoruję:

  • Napięcie baterii (z uporem więc widzę napięcie w czasie na wykresie).
  • Pozycje drzwi i zamka.
  • Czasy, kiedy pozycja się zmieniła.

W ten sposób, kiedy kładę się spać, mogę łatwo sprawdzić, czy wszystkie szopy są zamknięte.

Na początku użytkowania bateria była ładowana w jasny dzień, a po około tygodniu bateria była w pełni naładowana. Teraz jesienią akumulator pozostaje naładowany. Podobno moduł jest bardzo ekonomiczny i zużywa znacznie mniej energii niż generuje mały panel słoneczny. Mocna bateria prawdopodobnie ma moc na kilka miesięcy ciemności. Zobaczmy, jak moduł sprawuje się tej zimy, kiedy temperatura w szopie jest znacznie niższa.

Zalecana: