Spisu treści:
2025 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2025-01-13 06:58
W tej instrukcji pokazuję, jak zrobiłem klawiaturę zasilaną bateryjnie, aby włączyć i wyłączyć mój alarm domowy. W przyszłości planuję zrobić ulepszony, który ma w zestawie czytnik RFID i który nie jest zasilany bateryjnie. Planuję również odczytywać klawiaturę przez układ I2C, ponieważ moja obecna konfiguracja wykorzystywała większość odsłoniętych pinów GPIO mojego modułu ESP8266 (ESP12F).
Obudowa jest drukowana w 3D. Posiada włącznik/wyłącznik zasilania oraz wskaźnik LED WS2812b. Komunikuje się przez MQTT i ma interfejs sieciowy do przeglądania stanu i aktualizacji oprogramowania układowego
Kieszonkowe dzieci
Kupiłem swoje komponenty na Aliexpress
Klawiatura 16 klawiszy: link
Moduł ESP12F: link
Akumulator LiPo: link
Piny Pogo do przesłania: link
tabliczka do przesłania: link
Krok 1: Jak działa klawiatura alarmowa - oprogramowanie
Kod jest opublikowany na moim Github.
W załączonych przepływach wyjaśniono program.
Nagrywanie sekwencji klawiszy rozpoczyna się od wciśnięcia klawisza '*' i kończy po wciśnięciu klawisza '#'. Jeśli zostanie wprowadzona poprawna zaprogramowana sekwencja klawiszy, alarm zostanie włączony lub wyłączony.
Klawiatura alarmowa komunikuje się przez MQTT z moim systemem automatyki domowej z systemem Openhab. Klawiatura alarmowa jest subskrybowana w temacie „stan alarmu” MQTT i publikowana w „temacie poleceń alarmowych”.
Jeśli moja automatyka domowa odbierze polecenie ON w temacie „polecenie alarmu”, włączy alarm i potwierdzi to w temacie „stan alarmu”. W ten sposób mam pewność, że komenda alarmowa zostanie dobrze odebrana i przetworzona.
Komunikaty dotyczące „tematu stanu alarmu” są zachowywane. Jeśli więc wyłączysz zasilaną bateryjnie klawiaturę alarmową i włączysz ją ponownie, zobaczysz stan alarmu za pomocą wskaźnika LED, gdy zostanie on ponownie podłączony do brokera MQTT.
Krok 2: Przesyłanie kodu
Kod jest programowany i wgrywany przez Arduino IDE.
Przygotowałem płytkę zaciskową ESP z pinami pogo, abym mógł łatwo wgrać kod do gołego modułu ESP-12F, patrz załączone zdjęcia. Wystarczy użyć programatora FTDI ustawionego na 3,3V podłączonego do:
- Moduł FTDI do ESP
- 3,3 V do VCC i EN
- GND do GND, GPIO15 i GPIO0 (do ustawienia ESP8266 w trybie flash)
- Odbiór do TX
- TX do RX
Gdy urządzenie jest włączone i połączone z siecią Wi-Fi, możesz połączyć się z jego adresem IP i zobaczyć stan alarmu i baterii w interfejsie internetowym oraz zaktualizować kod OTA, przesyłając plik.bin przez
Krok 3: Sprzęt
Sprzęt jest dość prosty. Zobacz komentarze na załączonych zdjęciach. Wolę używać żeńskich nagłówków do łatwego montażu i demontażu urządzenia w celu debugowania i aktualizacji.
- Urządzenie zasilane jest baterią LiPo (ładowaną zewnętrznie).
- Za pomocą przełącznika suwakowego zasilanie jest doprowadzane do regulatora napięcia, aby uzyskać 3,3 V na VCC ESP8266 za pomocą nakładek.
- Napięcie akumulatora jest również podawane do ADC ESP8266 przez dzielnik napięcia (20k i 68k).
- 8 pinów klawiatury jest podłączonych do 8 pinów ESP8266
- Wskaźnik LED WS2812b jest podłączony do akumulatora, GND i GPIO15 ESP8266.
Jeśli chciałbyś schemat układu elektronicznego, daj mi znać w komentarzach.
Krok 4: Montaż
Pliki STL sprawy są publikowane na moim Thingiverse.
Etui można łatwo otworzyć, aby naładować baterię.
Bateria jest przyklejona z tyłu klawiatury. Przełącznik suwakowy i dioda LED są wklejone w obudowie.
Komponenty są połączone przez kołki rozgałęźne.