Indholdsfortegnelse:

Dørklokke -tryk og temperatursensor: 6 trin
Dørklokke -tryk og temperatursensor: 6 trin

Video: Dørklokke -tryk og temperatursensor: 6 trin

Video: Dørklokke -tryk og temperatursensor: 6 trin
Video: Как проверить генератор. За 3 минуты, БЕЗ ПРИБОРОВ и умений. 2024, Juli
Anonim
Dørklokke -tryk og temperatursensor
Dørklokke -tryk og temperatursensor

Dette forbedrer en standard hardwired dørklokke med et esp-12F (esp8266) modul.

Den installeres i selve klokkeenheden for at undgå enhver ændring af ledninger. Det giver følgende funktioner

  • Find dørklokkeskub
  • Sender meddelelser til telefonen via IFTTT
  • Gemmer dørklokkeaktivitet i en easyIOT -server (valgfri)
  • Udløser anden aktivitet via en URL, når dørklokken skubbes

    Jeg tager et øjebliksbillede på et webcam ved døren og kan se de seneste dørklokkefanger på min telefon

  • Valgfri indbygget temperatursensor (DS18B20), som er en del af min hus temperaturovervågning

Trin 1: Hardware og materialer

Hardware og materialer
Hardware og materialer
Hardware og materialer
Hardware og materialer

Følgende materialer er nødvendige

  • ESP-12F (ESP8266) wifi / cpu-modul
  • DC Buck -konverter til 3,3V forsyning
  • Ensretterdiode (f.eks. 1N4001)
  • Elektrolytisk kondensator 220uF 35V
  • Elektrolytisk kondensator 220uF 16V
  • Zenerdiode 3,3 eller 2,6V
  • Modstande
  • Et stykke stripbræt
  • Stik om nødvendigt
  • DS18B20 digital temp sensor, hvis det kræves

Skematisk viser det anvendte kredsløb. Det forudsætter en lavspændings vekselstrømsklokke, som er den mest almindelige type hardwired simple bell. Klokkeenheden får strøm fra en ekstern klokke transformer typisk omkring 10V AC. Dette er ikke kritisk, idet den eneste begrænsning er den maksimale spænding i bukkomformeren. Den jeg bruger er MP2307 baseret med en maksimal indgang på 23V DC (~ 16V AC).

Der er normalt 3 aktive terminaler. Med klokkeskubet foretager forbindelsen fra den ene side af vekselstrømforsyningen til klokkesolenoiden. Modulet bruger de to vekselstrømsklemmer til at producere jævnstrømmen gennem en simpel halvbølge -ensretter. Klokkeskubdetekteringen sker ved at overvåge spændingen over den faktiske magnetventil. Dette vil normalt blive formalet, men når klokken er aktiveret, vil den fulde vekselstrøm være. En modstand / zener -diode klemmer dette, så en 0 - 3.3V 50 Hz puls tilføres en GPIO -pin. Softwaren behandler dette for at give en enkelt aktivering pr.

Jeg konstruerede kredsløbet på en smule strippebord, og det er lille nok til let at passe ind i klokkeenheden. Jeg bruger enkle jumper -stik til at gøre det lettere at installere og inkludere specifikt i overensstemmelse med hovedstrømforsyningen, så det let kan nulstilles, hvis det kræves.

Skematisk som vist inkluderer en DS18B20 temperatursensor. Dette er valgfrit. Jeg bruger det som en del af et netværk, der overvåger de fleste områder i mit hus. Hvis den er inkluderet, er det godt at koble sensoren til med et par centimeter kabel, så den kan isoleres fra lokale varmeeffekter.

Trin 2: Software

Dørskubsenheden bruger en Arduino -skitse tilgængelig på github

Dette skal justeres, så det passer til lokale forhold og derefter kompileres i et esp8266 Arduino -miljø. Følgende biblioteker er nødvendige, de er standard eller kan tilføjes.

  • ESP8266WiFi
  • WifiClient
  • ESP8266WebServer
  • ESP8266mDNS
  • ESP8266HTTPUpdateServer
  • ArduinoJson
  • WifiClientSecure
  • IFTTTMaker
  • DNSServer
  • WiFiManager (valgfri brug)
  • OneWire
  • Dallas Temperatur

Elementer i skitsen, der skal ændres, omfatter

  • Lokale wifi -adgangsoplysninger (ssid, adgangskode), hvis du ikke bruger WifiManager
  • Godkendelseskode til webadgang AP_AUTHID. Det er godt at gøre dette til en anstændig længde. Det kan indeholde alfanumeriske tegn.
  • firmware OTA password update_password
  • WifiManager -adgangskode WM_PASSWORD

    Wifi kan konfigureres manuelt ved at kommentere WM_NAME

  • IFTTT maker -nøgle (se underretningstrinnet)

Valgfrie ændringer omfatter

  • Udskiftning af indgangsstift til dørklokke detektor
  • Skiftestift til temperatursensor
  • Ændring af webadgangsport fra standard 80

Når dette er gjort, skal det først kompileres og uploades ved hjælp af konventionel seriel upload. Efterfølgende opdatering kan udføres ved at kompilere en eksport binær i Arduino miljø og derefter få adgang til OTA interface på ip/firmware.

Dørklokkens tryk detekteres i softwaren ved at afbryde følelsen af den stigende kant af den første puls fra detektorkredsløbet. Alle efterfølgende afbrydelser ignoreres. En timeout bruges til at genaktivere detektoren efter BELL_MIN_INTERVAL, som er indstillet til 10 sekunder.

Andre aktiviteter kan fås på esp8266 webserveren

  • ip/recent viser nylig dørklokkeaktivitet
  • ip/reloadConfig genindlæser espConfig
  • ip/bellPush simulerer et klokkeskub

Trin 3: Konfiguration

Som konstrueret får softwaren sin konfiguration fra en lokal webserver. Modulet indlæser konfigurationsdata baseret på sin Mac -adresse. Dette gør det meget bekvemt at køre flere moduler ved hjælp af den samme binær, og gør det også lettere at opdatere konfigurationen uden at kompilere igen. Det ville være muligt at springe dette over og sætte konfigurationsdataene direkte i koden.

Jeg gemmer konfigurationsfilen på min EasyIOT -server, som har en mappe på easyIOT/html, hvor konfigurationsfilen let kan hentes.

Filen kaldes espConfig og er en enkel tekstfil, der gemmer et antal parametre (12) for hver mulig Mac -adresse. Et modul indlæser kun de parametre, der er indstillet for sin Mac -adresse.

Et eksempel fra filen er

#Hal

#Mac -adresse123456ABCDEF

#modul navn

esp8266-hal

#server -mode maske (1 = temp. følelse, 4 = kogemodus, 4 = dørklokke)

9

#EIOT -knudepunkt for temperatur

N9S0

#bruges

-1

# minimumstemperaturinterval i sekunder

60

#maksimal temperaturinterval i sekunder

300

#kedeleffektinterval

0

#EasyIOT kedelstrømsknudepunkt

-1

#EasyIOT bell push node

N10S0

# IFTTT underretter værdi

foran

#IFTTT underret begivenhedsnavn

dørklokke

#handling URL

192.168.0.2/snap.php

Enhver linje, der begynder med #, ignoreres. Alle linjer skal være til stede. -1 bruges til at ignorere parametre.

Konfigurationsfilen læses, når modulet først starter. Det kan også genindlæses i et kørende system (når konfigurationen er blevet ændret) ved at få adgang til ip/reloadConfig

Kedletilstandsdelen af konfigurationen er ikke relevant her, men bruges i mine temperatursensorer, der er knyttet til centralvarme i rørudgang, da den registrerer, når kedlen opvarmes og kan beregne det gennemsnitlige strømforbrug.

Trin 4: Meddelelser

Når et dørklokkeskub registreres, forsøger det at underrette dette med IFTTT eller PushOver. Jeg nu PushOver, da det giver en hurtigere repsonse.

Til IFTTT skal du have en konto og aktivere Maker WebHoooks -kanalen. MakerKey fra denne kanal skal samles i koden.

Opret en IF -handling ved hjælp af Maker WebHooks, og brug hændelsesnavn med samme navn som i konfigurationen (f.eks. Dørklokke). THEN -handlingen bør være IFTTT -meddelelse. Du kan tilføje værdi1 til meddelelsen, der vil være i konfigurationsfilen. Dette kan være nyttigt, hvis du har 2 eller flere detektorer.

Du skal installere IFTTT -appen på din telefon, og derefter vises meddelelser, når dørklokken udløses.

For PushOver skal du bruge en PushOver -konto og følge instruktionerne for at modtage API -meddelelser. Du skal konfigurere NOTIFICATION_APP og NOTIFICATION_USER -tokens i softwaren med værdierne fra din PushOver -konto.

Du skal installere PushOver-appen på din telefon og betale et beskedent engangsgebyr for at modtage underretninger. Dette er det værd efter min mening at få det meget hurtigere svar.

Trin 5: EasyIOT -integration

Softwaren kan sende temperatur- og Doorbell push -rapporter til en EasyIOT -server. EasyIOT -automatisering kan bruges til at foretage yderligere handlinger baseret på denne rapport.

Opret en EasyIOT -server (f.eks. På en Raspberry Pi). Konfigurer ip -adresse og brugernavnadgangskode i esp8266 -softwaren og kompilér.

Tilføj nu en virtuel driver i EASYIOT -konfigurationen. Vælg Temperatur Analog Input, og noter EasyIOT -nodenavnet. Dette skal indsættes i temperaturnodenavndelen af espConfig -filen.

Tilføj en anden virtuel driver. Vælg Door digital input, noter node -navnet og læg det i espConfig -fil.

Trin 6: Andre Bell Push -handlinger

Softwaren har en rutine kaldet actionBellOn. Som skrevet kan dette gøre 3 ting

  • IFTTT give besked
  • EasyIOT -rapport
  • Udfør en handlingswebadresse

URL'en kan bruges til at udløse anden aktivitet fra andre webservere. Den anvendte URL er i espConfig -filen.

Hvis serveren til URL'en er godkendt, skal brugernavn og adgangskode konfigureres og kompileres til koden.

Jeg bruger dette til at få adgang til en URL kaldet snap.php på et kamera ved siden af døren. Dette tager en jpg, når der trykkes på klokken. De sidste 4 gemmes og kan ses eksternt på kameraets webserver.

Jeg bruger raspberry Pi -baserede kameraer, der gør denne operation meget let. kamera

Anbefalede: