Spisu treści:
Wideo: Zasilany bateryjnie czujnik drzwi i zamka szopy, Solar, ESP8266, ESP-Now, MQTT: 4 kroki (ze zdjęciami)
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:27
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
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ż
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
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:
Zasilany bateryjnie czujnik poziomu kolektora wody: 7 kroków (ze zdjęciami)
Zasilany bateryjnie czujnik poziomu kolektora wody: Nasz dom ma zbiornik na wodę zasilany z deszczu padającego na dach i używany do toalety, pralki i podlewania roślin w ogrodzie. Przez ostatnie trzy lata lata były bardzo suche, więc obserwowaliśmy poziom wody w zbiorniku. S
Czujnik wilgotności kwiatów IOT WiFi (zasilany bateryjnie): 8 kroków (ze zdjęciami)
IOT WiFi Flower Moisture Sensor (zasilany bateryjnie): W tej instrukcji przedstawiamy, jak zbudować WiFi czujnik wilgoci / wody z monitorem poziomu baterii w mniej niż 30 minut. Urządzenie monitoruje poziom wilgoci i przesyła dane do smartfona przez internet (MQTT) z wybranym interwałem czasowym. U
Wzmacniacz lampowy zasilany bateryjnie: 4 kroki (ze zdjęciami)
Wzmacniacz lampowy zasilany bateryjnie: Wzmacniacze lampowe są kochane przez gitarzystów ze względu na przyjemne zniekształcenia, które wytwarzają. Ideą stojącą za tym nieskonfigurowalnym jest zbudowanie wzmacniacza lampowego o niskiej mocy, który można również nosić ze sobą, aby grać w podróży. W wieku bluetoo
Zasilany bateryjnie ESP IoT: 10 kroków (ze zdjęciami)
Zasilany bateryjnie ESP IoT: Ta instrukcja pokazuje, jak stworzyć zasilany bateryjnie ESP IoT w oparciu o projekt z moich poprzednich instrukcji
Zasilany bateryjnie projekt ESP: 3 kroki (ze zdjęciami)
Projekt ESP zasilany z baterii: Ta instrukcja pokazuje, jak zmniejszyć zużycie energii baterii podczas opracowywania nieprzewodowego urządzenia IoT opartego na ESP