Innholdsfortegnelse:
- Trinn 1: Maskinvare og materialer
- Trinn 2: Programvare
- Trinn 3: Konfigurasjon
- Trinn 4: Varsler
- Trinn 5: EasyIOT -integrasjon
- Trinn 6: Andre Bell Push -handlinger
Video: Dørklokke trykk og temperatursensor: 6 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:23
Dette forbedrer en standard hardt kablet dørklokke med en esp-12F (esp8266) modul.
Den installeres i selve klokkeenheten for å unngå endringer i ledninger. Den gir følgende funksjoner
- Finn dørklokkene
- Sender varsler til telefonen via IFTTT
- Lagrer dørklokkeaktivitet på en easyIOT -server (valgfritt)
-
Utløser annen aktivitet via en URL når dørklokken trykkes
Jeg tar et øyeblikksbilde på et webkamera ved døren og kan se nylige dørklokkefanger på telefonen min
- Valgfri innebygd temperatursensor (DS18B20) som er en del av husets temperaturovervåking
Trinn 1: Maskinvare og materialer
Følgende materialer er nødvendige
- ESP-12F (ESP8266) wifi / cpu-modul
- DC Buck -omformer for 3,3V forsyning
- Likeretterdiode (f.eks. 1N4001)
- Elektrolytisk kondensator 220uF 35V
- Elektrolytisk kondensator 220uF 16V
- Zenerdiode 3,3 eller 2,6V
- Motstander
- Et stykke stripebrett
- Koblinger om nødvendig
- DS18B20 digital temp sensor hvis nødvendig
Skjematisk viser kretsen som er brukt. Den forutsetter en lavspennings vekselstrømsklokke som er den vanligste typen hardt kablet enkel klokke. Klokkeenheten får strøm fra en ekstern klokketransformator vanligvis rundt 10V vekselstrøm. Dette er ikke kritisk, med den eneste begrensningen som er maksimal spenning til bukkomformeren. Den jeg bruker er MP2307 basert med en maksimal inngang på 23V DC (~ 16V AC).
Det er normalt 3 aktive terminaler. Med klokketrykket gjør du forbindelsen fra den ene siden av vekselstrømforsyningen til klokkens solenoid. Modulen bruker de to AC -terminalene for å produsere likestrøm gjennom en enkel halvbølgelig likeretter. Bell push -sensing er ved å overvåke spenningen over den faktiske solenoiden. Dette vil normalt bli malt, men når klokken er aktivert vil det være full AC. En motstand / zener -diode klemmer dette slik at en 0 - 3.3V 50 Hz puls mates inn i en GPIO -pinne. Programvaren behandler dette for å gi en enkelt aktivering per ringetrykk.
Jeg konstruerte kretsen på litt stripeplate, og denne er liten nok til å passe lett inn i klokkeenheten. Jeg bruker enkle jumperkontakter for å gjøre det enklere å installere og inkludere spesielt i tråd med hovedstrømforsyningen, slik at den enkelt kan tilbakestilles om nødvendig.
Skjematisk som vist inkluderer en DS18B20 temperatursensor. Dette er valgfritt. Jeg bruker den som en del av et nettverk som overvåker de fleste områdene i huset mitt. Hvis det er inkludert, er det godt å koble sensoren med noen få centimeter kabel for å la den isoleres fra lokale varmeeffekter.
Trinn 2: Programvare
Dørskuffenheten bruker en Arduino -skisse tilgjengelig på github
Dette må justeres for å passe lokale forhold og deretter kompileres i et esp8266 Arduino -miljø. Følgende biblioteker trengs, de er standard eller kan legges til.
- ESP8266WiFi
- WifiClient
- ESP8266WebServer
- ESP8266mDNS
- ESP8266HTTPUpdateServer
- ArduinoJson
- WifiClientSecure
- IFTTTMaker
- DNSServer
- WiFiManager (valgfri bruk)
- OneWire
- Dallas Temperatur
Elementer i skissen som skal endres inkluderer
- Lokal wifi -informasjon (ssid, passord) hvis du ikke bruker WifiManager
- Autorisasjonskode for nettilgang AP_AUTHID. Det er godt å gjøre dette til en anstendig lengde. Den kan inneholde alfanumeriske tegn.
- fastvare OTA passord update_password
-
WifiManager -passord WM_PASSWORD
Wifi kan konfigureres manuelt ved å kommentere WM_NAME
- IFTTT maker key (se varslingstrinnet)
Valgfrie endringer inkluderer
- Bytt inngangspinne for dørklokkedetektor
- Skiftestift for temperatursensor
- Endre nettilgangsport fra standard 80
Når dette er gjort, bør det først kompileres og lastes opp ved hjelp av konvensjonell serieopplasting. Etterfølgende oppdatering kan gjøres ved å kompilere en eksportbinari i Arduino -miljø og deretter få tilgang til OTA -grensesnittet på ip/firmware.
Dørklokkens trykk blir detektert i programvaren ved å avbryte følelsen av den stigende kanten av den første pulsen fra detektorkretsen. Alle påfølgende avbrudd ignoreres. En timeout brukes til å aktivere detektoren igjen etter BELL_MIN_INTERVAL som er satt til 10 sekunder.
Du kan få tilgang til andre aktiviteter på esp8266 -webserveren
- ip/recent viser nylig dørklokkeaktivitet
- ip/reloadConfig laster inn espConfig
- ip/bellPush simulerer et klokketrykk
Trinn 3: Konfigurasjon
Slik den er konstruert, får programvaren sin konfigurasjon fra en lokal webserver. Modulen laster inn konfigurasjonsdata basert på Mac -adressen. Dette gjør det veldig praktisk å kjøre flere moduler med samme binære, og gjør det også lettere å oppdatere konfigurasjonen uten å kompilere på nytt. Det ville være mulig å hoppe over dette og sette konfigurasjonsdataene direkte i koden.
Jeg lagrer konfigurasjonsfilen på EasyIOT -serveren min som har en mappe på easyIOT/html der konfigurasjonsfilen lett kan hentes.
Filen heter espConfig og er en enkel tekstfil som lagrer et antall parametere (12) for hver mulig Mac -adresse. En modul laster bare inn parameterne som er angitt for Mac -adressen.
Et eksempel fra filen er
#Hall
#Mac -adresse123456ABCDEF
#modulenavn
esp8266-hall
#servermodusmaske (1 = temp. følelse, 4 = kjelemodus, 4 = dørklokke)
9
#EIOT -node for temperatur
N9S0
#ubrukt
-1
# minimumstemperaturintervall i sekunder
60
#maksimal temperaturintervall i sekunder
300
#kjeleeffektintervall
0
#EasyIOT kjelens strømnode
-1
#EasyIOT bell push node
N10S0
# IFTTT varslingsverdi
front
#IFTTT varsle hendelsesnavn
dør-klokke
#action URL
192.168.0.2/snap.php
Enhver linje som begynner med # blir ignorert. Alle linjer må være tilstede. -1 brukes for å ignorere parametere.
Konfigurasjonsfilen leses når modulen først starter. Det kan også lastes om i et system som kjører (når konfigurasjonen er endret) ved å få tilgang til ip/reloadConfig
Kjelemodus -delen av konfigurasjonen er ikke relevant her, men brukes i mine temperatursensorer festet til sentralvarme i rørutgang da den oppdager når kjelen varmes opp og kan beregne gjennomsnittlig strømforbruk.
Trinn 4: Varsler
Når et dørklokketrykk oppdages, prøver det å varsle dette med IFTTT eller PushOver. Jeg nå PushOver som det gir en raskere repsonse.
For IFTTT trenger du en konto og aktiverer Maker WebHoooks -kanalen. MakerKey fra denne kanalen må samles i koden.
Sett opp en IF -handling med Maker WebHooks og bruk hendelsesnavn med samme navn som i konfigurasjonen (f.eks. Dørklokke). THEN -handlingen bør være IFTTT -varsling. Du kan legge til verdi1 i varselet som vil være i konfigurasjonsfilen. Dette kan være nyttig hvis du har to eller flere detektorer.
Du må installere IFTTT -appen på telefonen din, og deretter vil varsler vises når dørklokken utløses.
For PushOver trenger du en PushOver -konto og følger instruksjonene for å motta API -varsler. Du må konfigurere NOTIFICATION_APP og NOTIFICATION_USER -tokens i programvaren med verdiene fra PushOver -kontoen din.
Du må installere PushOver-appen på telefonen og betale en beskjeden engangsavgift for å motta varsler. Dette er verdt det etter mitt syn for å få mye raskere respons.
Trinn 5: EasyIOT -integrasjon
Programvaren kan sende temperatur- og Doorbell push -rapporter til en EasyIOT -server. EasyIOT -automatisering kan brukes til å utføre flere handlinger basert på denne rapporten.
Sett opp en EasyIOT -server (f.eks. På en Raspberry Pi). Konfigurer ip -adresse og brukernavn passord i esp8266 -programvaren og kompiler.
Legg nå til en virtuell driver i EASYIOT -konfigurasjonen. Velg Temperatur Analog inngang og noter EasyIOT -nodenavnet. Dette bør settes inn i temperaturnodenavnsdelen i espConfig -filen.
Legg til en annen virtuell driver. Velg Door digital input, noter nodenavnet og legg det i espConfig -filen.
Trinn 6: Andre Bell Push -handlinger
Programvaren har en rutine kalt actionBellOn. Som skrevet kan dette gjøre 3 ting
- IFTTT varsle
- EasyIOT -rapport
- Utfør en handlingsadresse
URL -en kan brukes til å utløse annen aktivitet fra andre webservere. URL -en som brukes er i espConfig -filen.
Hvis serveren til URL -adressen er godkjent, må brukernavn og passord konfigureres og kompileres til koden.
Jeg bruker dette for å få tilgang til en URL som heter snap.php på et kamera ved siden av døren. Dette tar en-j.webp
Jeg bruker bringebær Pi -baserte kameraer som gjør denne operasjonen veldig enkel. kamera
Anbefalt:
M5STACK Slik viser du temperatur, fuktighet og trykk på M5StickC ESP32 ved hjelp av Visuino - Enkelt å gjøre: 6 trinn
M5STACK Slik viser du temperatur, fuktighet og trykk på M5StickC ESP32 ved hjelp av Visuino - enkelt å gjøre: I denne opplæringen lærer vi hvordan du programmerer ESP32 M5Stack StickC med Arduino IDE og Visuino for å vise temperatur, fuktighet og trykk ved hjelp av ENV -sensor (DHT12, BMP280, BMM150)
Fotkontrollert Trykk og snakk -knapp: 5 trinn
Fotkontrollert Trykk og snakk -knapp: Slik lagde jeg en Trykk og snakk -knapp som du kan bruke med føttene
Trykk på knappen); // Et Arduino LCD -spill: 5 trinn (med bilder)
Trykk på knappen); // Et Arduino LCD -spill: Nylig i speiderne jobbet jeg med fortjenestemerket Game Design. For et av kravene, bygde jeg dette spillet ved hjelp av Arduino som er basert på LED Rocker Game. Poenget med spillet er å score flest mulig poeng. I begynnelsen av t
Fotobioreaktor under trykk: 10 trinn (med bilder)
Trykkalger Fotobioreaktor: Før du dykker ned i denne instruerbare, vil jeg gjerne forklare litt mer om hva dette prosjektet er og hvorfor jeg valgte å gjøre det. Selv om det er litt langt, oppfordrer jeg deg til å lese gjennom det, siden mye av det jeg gjør ikke gir mening
Fuktighet, trykk og temperaturberegning ved bruk av BME280 og fotongrensesnitt .: 6 trinn
Fuktighet, trykk og temperaturberegning ved hjelp av BME280 og fotoninterfacing .: Vi støter på forskjellige prosjekter som krever temperatur-, trykk- og fuktighetsovervåking. Dermed innser vi at disse parameterne faktisk spiller en viktig rolle for å ha et estimat av arbeidseffektiviteten til et system ved forskjellige atmosfæriske forhold