Innehållsförteckning:
2025 Författare: John Day | [email protected]. Senast ändrad: 2025-01-13 06:58
I denna instruktionsbok visar jag dig hur jag gjorde en batteridriven knappsats för att aktivera och inaktivera mitt hemlarm. I framtiden tänker jag göra en förbättrad som har en RFID -läsare inkluderad och som inte är batteridriven. Jag planerar också att läsa en knappsats via ett I2C -chip, eftersom min nuvarande installation använde de flesta exponerade GPIO -stiften på min ESP8266 -modul (ESP12F).
Höljet är 3D -tryckt. Den har en på/av strömbrytare och en WS2812b indikator LED. Den kommunicerar via MQTT och har ett webbgränssnitt för att se status och uppdatera firmware
Tillbehör
Jag köpte mina komponenter på Aliexpress
16 tangenter knappsats: länk
ESP12F -modul: länk
LiPo -batteri: länk
Pogo -pins för uppladdning: länk
breakout board för uppladdning: länk
Steg 1: Hur larmtangentbordet fungerar - Programvara
Koden publiceras på min Github.
I de bifogade flödena förklaras programmet.
Inspelningen av nyckelsekvensen börjar med att trycka på "*" - knappen och slutar med att trycka på "#" - knappen. Om rätt förinställd nyckelsekvens anges, aktiveras eller inaktiveras larmet.
Larmknappsatsen kommunicerar via MQTT med mitt hemautomatiseringssystem som kör Openhab. Larmknappsatsen prenumererar på MQTT -ämnet "alarm state" och publicerar om "alarm command topic".
Om min hemautomation tar emot PÅ -kommandot på 'larmkommandoämnet' väl, slår det på larmet och bekräftar detta på 'larmstatusämnet'. På detta sätt är jag säker på att larmkommandot tas emot och behandlas väl.
Meddelandena om 'larmtillståndsämnet' behålls. Så om du stänger av den batteridrivna larmknappsatsen och slår på den igen, kommer du att se alarmstatus via indikatorlampan när den är ansluten igen till MQTT -mäklaren.
Steg 2: Ladda upp koden
Koden programmeras och laddas upp via Arduino IDE.
Jag förberedde en ESP breakout board med pogo pins, så att jag enkelt kunde ladda upp koden till den bara ESP-12F modulen, se de bifogade bilderna. Använd bara en FTDI -programmerare inställd på 3,3V ansluten till:
- FTDI till ESP -modul
- 3.3V till VCC och EN
- GND till GND, GPIO15 och GPIO0 (för att ställa in ESP8266 i blixtläge)
- RX till TX
- TX till RX
När enheten är på och ansluten till ditt WiFi -nätverk kan du ansluta till dess IP -adress och se larm- och batteristatus på webbgränssnittet och uppdatera koden OTA genom att ladda upp.bin -filen via
Steg 3: Hårdvaran
Hårdvaran är ganska enkel. Se kommentarerna på bifogade bilder. Jag föredrar att använda kvinnliga rubriker för att enkelt montera och demontera enheten för felsökning och uppgradering.
- Enheten drivs av ett LiPo -batteri (externt laddad).
- Via en skjutströmställare leds strömmen till en spänningsregulator för att få 3,3V vid VCC på ESP8266, med hjälp av lock.
- Batteriets spänning matas också in i ADC för ESP8266 via en spänningsdelare (20k och 68k).
- Knappsatsens 8 stift är anslutna till 8 stift på ESP8266
- WS2812b -indikatorlampan är ansluten till batteriet, GND och GPIO15 i ESP8266.
Om du vill ha ett schema för den elektroniska kretsen, meddela mig i kommentarerna.
Steg 4: Montering
STL -filerna i ärendet publiceras på min Thingiverse.
Lådan kan enkelt öppnas för att ladda batteriet.
Batteriet är limmat på baksidan av knappsatsen. Skjutreglaget och lysdioden är limmade i fodralet.
Via huvudstiften är komponenterna anslutna.