Turinys:

Durų varpo stūmimas ir temperatūros jutiklis: 6 žingsniai
Durų varpo stūmimas ir temperatūros jutiklis: 6 žingsniai

Video: Durų varpo stūmimas ir temperatūros jutiklis: 6 žingsniai

Video: Durų varpo stūmimas ir temperatūros jutiklis: 6 žingsniai
Video: Part 2 - A Tale of Two Cities Audiobook by Charles Dickens (Book 02, Chs 01-06) 2024, Liepa
Anonim
Durų varpo stūmimas ir temperatūros jutiklis
Durų varpo stūmimas ir temperatūros jutiklis

Tai pagerina standartinį laidinį durų varpą su esp-12F (esp8266) moduliu.

Jis montuojamas pačiame varpo bloke, kad būtų išvengta laidų pakeitimų. Jis teikia šias funkcijas

  • Aptikti durų skambučių paspaudimus
  • Siunčia pranešimus į telefoną per IFTTT
  • Saugo durų skambučius „easyIOT“serveryje (neprivaloma)
  • Suaktyvinkite kitą veiklą per URL, kai paspaudžiamas durų skambutis

    Fotografuoju internetinėje kameroje prie durų ir galiu peržiūrėti naujausius skambučius telefone

  • Pasirinktinai įmontuotas temperatūros jutiklis (DS18B20), kuris yra mano namo temperatūros stebėjimo dalis

1 žingsnis: Aparatūra ir medžiagos

Aparatūra ir medžiagos
Aparatūra ir medžiagos
Aparatūra ir medžiagos
Aparatūra ir medžiagos

Reikia šių medžiagų

  • ESP-12F (ESP8266) belaidis / procesoriaus modulis
  • „DC Buck“keitiklis, skirtas 3.3 V tiekimui
  • Lygintuvo diodas (pvz., 1N4001)
  • Elektrolitinis kondensatorius 220uF 35V
  • Elektrolitinis kondensatorius 220uF 16V
  • Zenerio diodas 3.3 arba 2.6V
  • Rezistoriai
  • Juostos lentos gabalas
  • Jei reikia, jungtys
  • Jei reikia, skaitmeninis temperatūros jutiklis DS18B20

Schemoje parodyta naudojama grandinė. Jis prisiima žemos įtampos kintamosios srovės varpą, kuris yra labiausiai paplitęs paprasto laidinio varpo tipas. Varpas gauna maitinimą iš išorinio varpo transformatoriaus, paprastai apie 10 V kintamosios srovės. Tai nėra labai svarbu, nes vienintelis apribojimas yra maksimali įtampa į keitiklį. Aš naudoju MP2307, kurio maksimali įvestis yra 23V DC (~ 16V AC).

Paprastai yra 3 aktyvūs terminalai. Paspaudus varpą, jungtis iš vienos kintamosios srovės tiekimo pusės į varpo solenoidą. Modulis naudoja du kintamosios srovės gnybtus nuolatinės srovės tiekimui per paprastą pusės bangos lygintuvą. Skambučio paspaudimo jutiklis yra stebint tikrojo solenoido įtampą. Tai paprastai bus sumalta, tačiau įjungus varpą bus visas kintamosios srovės šaltinis. Rezistorius / Zenerio diodas jį užfiksuoja, todėl 0–3,3 V 50 Hz impulsas tiekiamas į GPIO kaištį. Programinė įranga tai apdoroja, kad vienu skambučio paspaudimu būtų įjungtas vienas aktyvinimas.

Aš sukūriau grandinę ant šiek tiek juostelės plokštės ir ji yra pakankamai maža, kad lengvai tilptų į varpelio bloką. Aš naudoju paprastas jungiamąsias jungtis, kad būtų lengviau sumontuoti ir įjungti specialiai pagal pagrindinį kintamosios srovės šaltinį, kad prireikus būtų galima lengvai atkurti maitinimą.

Schemoje, kaip parodyta, yra DS18B20 temperatūros jutiklis. Tai neprivaloma. Aš naudoju jį kaip tinklo dalį, stebinčią daugumą mano namų sričių. Jei yra jutiklis, jį gerai prijungti kelių centimetrų kabeliu, kad jis būtų izoliuotas nuo bet kokio vietinio šildymo poveikio.

2 žingsnis: programinė įranga

Durų stūmimo įrenginys naudoja „Arduino“eskizą, kurį galima rasti „github“

Tai reikia sureguliuoti, kad atitiktų vietos sąlygas, ir tada surinkti esp8266 Arduino aplinkoje. Reikia šių bibliotekų, jos yra standartinės arba gali būti pridėtos.

  • ESP8266WiFi
  • „WifiClient“
  • ESP8266WebServer
  • ESP8266mDNS
  • ESP8266HTTPatnaujinimo serveris
  • ArduinoJson
  • „WifiClientSecure“
  • IFTTTMaker
  • DNS serveris
  • „WiFiManager“(pasirenkama naudoti)
  • „OneWire“
  • Dalaso temperatūra

Eskizo elementai, kuriuos reikia keisti, apima

  • Vietinės „Wi -Fi“prieigos informacija (SSID, slaptažodis), jei nenaudojate „WifiManager“
  • Prieigos prie žiniatinklio prieigos teisės kodas AP_AUTHID. Gerai, kad tai būtų tinkamo ilgio. Jame gali būti raidiniai ir skaitmeniniai simboliai.
  • programinės įrangos OTA slaptažodis update_password
  • „WifiManager“slaptažodis WM_PASSWORD

    „Wifi“galima nustatyti rankiniu būdu, pakomentuojant „WM_NAME“

  • IFTTT kūrėjo raktas (žr. Pranešimo veiksmą)

Neprivalomi pakeitimai apima

  • Durų skambučio detektoriaus įvesties kaiščio keitimas
  • Temperatūros jutiklio keitimo kaištis
  • Prieigos prie interneto prievado keitimas iš numatytojo 80

Kai tai bus padaryta, pirmiausia ją reikia surinkti ir įkelti naudojant įprastą serijinį įkėlimą. Vėlesnis atnaujinimas gali būti atliktas surenkant eksporto dvejetainį failą „Arduino“aplinkoje ir pasiekus OTA sąsają naudojant „ip/firmware“.

Durų varpo paspaudimas aptinkamas programinėje įrangoje pertraukiant jutimo pirmojo impulso iš detektoriaus grandinės kraštą. Visi vėlesni pertraukimai ignoruojami. Laikas naudojamas detektoriui iš naujo suaktyvinti po BELL_MIN_INTERVAL, kuris nustatytas į 10 sekundžių.

Kitą veiklą galima pasiekti esp8266 žiniatinklio serveryje

  • ip/Recent rodo naujausią durų skambučių veiklą
  • ip/reloadConfig iš naujo įkelia espConfig
  • „ip/bellPush“imituoja varpo paspaudimą

3 žingsnis: konfigūravimas

Sukurta programinė įranga gauna konfigūraciją iš vietinio žiniatinklio serverio. Modulis įkelia konfigūracijos duomenis pagal savo „Mac“adresą. Dėl to labai patogu paleisti kelis modulius naudojant tą pačią dvejetainę sistemą, taip pat lengviau atnaujinti konfigūraciją neperkompiliuojant. Tai būtų galima praleisti ir įvesti konfigūracijos duomenis tiesiai į kodą.

Aš saugoju konfigūracijos failą savo „EasyIOT“serveryje, kuriame yra „easyIOT/html“aplankas, kuriame konfigūracijos failą galima lengvai gauti.

Failas vadinamas espConfig ir yra paprastas tekstinis failas, kuriame saugomi keli parametrai (12) kiekvienam galimam „Mac“adresui. Modulis įkelia tik parametrus, nustatytus jo „Mac“adresui.

Pavyzdys iš failo yra

#Salė

#Mac adresas123456ABCDEF

#modulio pavadinimas

esp8266-salė

#serverio režimo kaukė (1 = temperatūros jutiklis, 4 = katilo režimas, 4 = durų skambutis)

9

#EIOT temperatūros mazgas

N9S0

#nenaudojamas

-1

# minimalus temperatūros intervalas sekundėmis

60

#maksimalus temperatūros intervalas sekundėmis

300

#katilo galios intervalas

0

#EasyIOT katilo galios mazgas

-1

#EasyIOT varpo stūmimo mazgas

N10S0

# IFTTT praneša vertę

priekyje

#IFTTT praneša apie įvykio pavadinimą

durų skambutis

#action URL

192.168.0.2/snap.php

Bet kuri eilutė, prasidedanti #, ignoruojama. Turi būti visos eilutės. -1 naudojamas parametrams ignoruoti.

Konfigūracijos failas nuskaitomas pirmą kartą paleidus modulį. Jis taip pat gali būti perkrautas veikiančioje sistemoje (kai buvo pakeista konfigūracija), pasiekus „ip/reloadConfig“

Konfigūracijos katilo režimo dalis čia nėra svarbi, bet naudojama mano temperatūros jutikliuose, prijungtuose prie centrinio šildymo vamzdžio išėjimo, nes ji nustato, kada katilas šildo, ir gali apskaičiuoti vidutines energijos sąnaudas.

4 žingsnis: pranešimai

Kai aptinkamas durų skambutis, jis bando apie tai pranešti IFTTT arba „PushOver“. Dabar naudoju „PushOver“, nes tai suteikia greitesnį atkūrimą.

IFTTT jums reikia paskyros ir suaktyvinkite „Maker WebHoooks“kanalą. Šio kanalo „MakerKey“reikia surinkti į kodą.

Nustatykite IF veiksmą naudodami „Maker WebHooks“ir naudokite to paties pavadinimo įvykio pavadinimą, kaip ir konfigūracijoje (pvz., Durų skambutis). Tada veiksmas turėtų būti IFTTT pranešimas. Galite pridėti reikšmę1 prie pranešimo, kuris bus konfigūracijos faile. Tai gali būti naudinga, jei turite 2 ar daugiau detektorių.

Turite įdiegti IFTTT programą savo telefone ir tada, kai suveiks durų skambutis, pasirodys pranešimai.

Norėdami gauti „PushOver“, jums reikia „PushOver“paskyros ir vykdykite instrukcijas, kad gautumėte API pranešimus. Turite programinėje įrangoje nustatyti žymas NOTIFICATION_APP ir NOTIFICATION_USER, naudodami vertes iš „PushOver“paskyros.

Norėdami gauti pranešimus, telefone turite įdiegti „PushOver“programą ir sumokėti nedidelį vienkartinį mokestį. Mano nuomone, tai verta, kad atsakymas būtų daug greitesnis.

5 žingsnis: „EasyIOT“integracija

Programinė įranga gali siųsti temperatūros ir durų skambučių pranešimus į „EasyIOT“serverį. „EasyIOT“automatizavimas gali būti naudojamas atliekant papildomus veiksmus pagal šią ataskaitą.

Nustatykite „EasyIOT“serverį (pvz., „Raspberry Pi“). Konfigūruokite ip adresą ir vartotojo vardo slaptažodį į programinę įrangą esp8266 ir sukompiliuokite.

Dabar pridėkite virtualią tvarkyklę prie EASYIOT konfigūracijos. Pasirinkite Temperatūros analoginis įėjimas ir pažymėkite „EasyIOT“mazgo pavadinimą. Tai turėtų būti įtraukta į temperatūros mazgo pavadinimo failo espConfig dalį.

Pridėkite antrą virtualią tvarkyklę. Pasirinkite „Durų skaitmeninė įvestis“, pažymėkite mazgo pavadinimą ir įdėkite jį į „espConfig“failą.

6 veiksmas: kiti varpo paspaudimo veiksmai

Programinė įranga turi rutiną, vadinamą actionBellOn. Kaip parašyta, tai gali padaryti 3 dalykus

  • IFTTT praneša
  • „EasyIOT“ataskaita
  • Atlikite veiksmo URL

URL gali būti naudojamas kitai veiklai iš kitų žiniatinklio serverių suaktyvinti. Naudotas URL yra espConfig faile.

Jei URL serveris yra autentifikuotas, vartotojo vardą ir slaptažodį reikia sukonfigūruoti ir sudaryti į kodą.

Aš naudoju tai norėdamas pasiekti URL, pavadintą snap.php, esančiame šalia durų esančioje kameroje. Tai užtrunka JPG, kai paspaudžiamas varpas. Paskutiniai 4 yra saugomi ir juos galima peržiūrėti nuotoliniu būdu kamerų žiniatinklio serveryje.

Aš naudoju „Raspberry Pi“fotoaparatus, kurie labai palengvina šią operaciją. fotoaparatas

Rekomenduojamas: