Tartalomjegyzék:

Ajtócsengő nyomó- és hőmérsékletérzékelő: 6 lépés
Ajtócsengő nyomó- és hőmérsékletérzékelő: 6 lépés

Videó: Ajtócsengő nyomó- és hőmérsékletérzékelő: 6 lépés

Videó: Ajtócsengő nyomó- és hőmérsékletérzékelő: 6 lépés
Videó: A vezeték- és elemtelen csengő | BlitzWolf® BW-DB1 ◆ Eszközteszt 2024, Július
Anonim
Ajtócsengő nyomó- és hőmérsékletérzékelő
Ajtócsengő nyomó- és hőmérsékletérzékelő

Ez javítja a szabványos, vezetékes ajtócsengőt egy esp-12F (esp8266) modullal.

Maga a csengőegység telepíti, hogy elkerülje a vezetékek megváltoztatását. A következő funkciókat biztosítja

  • Érzékeli az ajtócsengő megnyomását
  • Értesítéseket küld a telefonra IFTTT -n keresztül
  • Ajtócsengő tevékenységet tárol az easyIOT szerverben (opcionális)
  • Indítson el egyéb tevékenységet egy URL -en keresztül, ha megnyomja a csengőt

    Pillanatfelvételt készítek az ajtó melletti webkamerán, és megtekinthetem a telefonomon a legutóbbi csengőhangokat

  • Opcionális beépített hőmérséklet -érzékelő (DS18B20), amely része a ház hőmérséklet -felügyeletének

1. lépés: Hardver és anyagok

Hardver és anyagok
Hardver és anyagok
Hardver és anyagok
Hardver és anyagok

A következő anyagok szükségesek

  • ESP-12F (ESP8266) wifi / cpu modul
  • DC Buck átalakító 3,3 V -os tápellátáshoz
  • Egyenirányító dióda (pl. 1N4001)
  • Elektrolit kondenzátor 220uF 35V
  • Elektrolit kondenzátor 220uF 16V
  • Zener dióda 3.3 vagy 2.6V
  • Ellenállások
  • Darab szalagdeszka
  • Szükség esetén csatlakozók
  • DS18B20 digitális hőmérséklet -érzékelő, ha szükséges

A vázlat a használt áramkört mutatja. Alacsony feszültségű váltóáramú harangot feltételez, amely a leggyakrabban használt vezetékes egyszerű csengő. A csengőegység áramot kap egy külső harangtranszformátorból, általában 10V AC körül. Ez nem kritikus, mivel az egyetlen korlátozás a bakfeszítő átalakító maximális feszültsége. Az általam használt MP2307 alapú, maximális bemenete 23V DC (~ 16V AC).

Általában 3 aktív terminál van. A harangnyomással létrejön a csatlakozás a váltakozó áramú tápegység egyik oldaláról a csengő mágnesszelephez. A modul a két váltóáramú csatlakozót használja az egyenáram előállítására egy egyszerű félhullámú egyenirányítón keresztül. A harangnyomó érzékelés a tényleges mágnesszelep feszültségének figyelésével történik. Ez általában le lesz őrölve, de ha a csengő aktiválódik, a teljes váltóáram lesz. Az ellenállás / zener dióda lekapcsolja ezt, így 0 - 3.3V 50 Hz impulzus kerül a GPIO tűbe. A szoftver ezt úgy dolgozza fel, hogy harangprésenként egyetlen aktiválást biztosítson.

Az áramkört egy kis szalaglapra építettem, és ez elég kicsi ahhoz, hogy könnyen illeszkedjen a csengőegységbe. Egyszerű áthidaló csatlakozókat használok, hogy megkönnyítsem a telepítést, és kifejezetten a fő hálózati tápegységhez illesztve, hogy szükség esetén könnyen visszaállítható legyen az áramellátás.

Az ábrán látható vázlat egy DS18B20 hőmérséklet -érzékelőt tartalmaz. Ez nem kötelező. Hálózat részeként használom a házam legtöbb területét. Ha tartalmazza, jó az érzékelőt néhány centiméteres kábellel bekötni, hogy el lehessen választani a helyi fűtési hatásoktól.

2. lépés: Szoftver

Az ajtó tolóegység Arduino vázlatot használ a githubon

Ezt a helyi körülményekhez kell igazítani, majd esp8266 Arduino környezetben kell összeállítani. A következő könyvtárakra van szükség, ezek szabványosak vagy hozzáadhatók.

  • ESP8266WiFi
  • WifiClient
  • ESP8266WebServer
  • ESP8266mDNS
  • ESP8266HTTPUddateServer
  • ArduinoJson
  • WifiClientSecure
  • IFTTTMaker
  • DNS -kiszolgáló
  • WiFiManager (opcionális)
  • OneWire
  • DallasHőmérséklet

A vázlat módosítandó elemei közé tartozik

  • Helyi wifi hozzáférési adatok (ssid, jelszó), ha nem használja a WifiManagert
  • Az AP_AUTHID webes hozzáférés engedélyezési kódja. Jó, ha ez megfelelő hosszúságú. Alfanumerikus karaktereket tartalmazhat.
  • firmware OTA jelszó update_password
  • WifiManager jelszó WM_PASSWORD

    A Wifi manuálisan beállítható a WM_NAME megjegyzésével

  • IFTTT készítő kulcs (lásd az értesítési lépést)

Az opcionális módosítások közé tartozik

  • Ajtócsengő -érzékelő bemeneti csapjának cseréje
  • Cserecsap a hőmérséklet -érzékelőhöz
  • A webes hozzáférési port megváltoztatása az alapértelmezett 80 -ról

Miután ez megtörtént, először össze kell állítani és fel kell tölteni a hagyományos soros feltöltéssel. A későbbi frissítés elvégezhető export bináris összeállításával Arduino környezetben, majd az OTA interfész elérésével az ip/firmware címen.

Az ajtócsengő nyomását a szoftver úgy érzékeli, hogy megszakítja az érzékelő áramkör első impulzusának emelkedő élének érzékelését. Minden további megszakítást figyelmen kívül hagy. A BELL_MIN_INTERVAL után 10 másodpercre beállított időtúllépéssel aktiválják az érzékelőt.

Egyéb tevékenységek az esp8266 webszerveren érhetők el

  • Az ip/Recent a legutóbbi ajtócsengő tevékenységet mutatja
  • ip/reloadConfig újratölti az espConfig parancsot
  • Az ip/bellPush harangnyomást szimulál

3. lépés: Konfiguráció

A szoftver elkészítése során a konfigurációját egy helyi webszerverről kapja meg. A modul a Mac -címe alapján tölti be a konfigurációs adatokat. Ez nagyon kényelmesvé teszi több modul futtatását ugyanazon bináris használatával, és megkönnyíti a konfiguráció frissítését újrafordítás nélkül. Lehetséges lenne ezt kihagyni, és a konfigurációs adatokat közvetlenül a kódba tenni.

A konfigurációs fájlt az EasyIOT szerveremen tárolom, amelynek mappája az easyIOT/html címen található, ahol a konfigurációs fájl könnyen lekérhető.

A fájl neve espConfig, és egy egyszerű szöveges fájl, amely számos paramétert (12) tárol minden lehetséges Mac -címhez. Egy modul csak a Mac -címéhez beállított paramétereket tölti be.

Egy példa a fájlból

#Előszoba

#Mac cím123456ABCDEF

#modul neve

esp8266-hall

#szerver mód maszk (1 = hőmérséklet érzékelés, 4 = kazán üzemmód, 4 = csengő)

9

#EIOT csomópont a hőmérséklethez

N9S0

#felhasználatlan

-1

# minimális hőmérsékleti intervallum másodpercben

60

#maximum hőmérséklet intervallum másodpercben

300

#kazán teljesítményintervalluma

0

#EasyIOT kazán teljesítménycsomópont

-1

#EasyIOT bell push csomópont

N10S0

# IFTTT értesítési érték

elülső

#IFTTT értesíti az esemény nevét

csengő

#action URL

192.168.0.2/snap.php

Minden # -al kezdődő sort figyelmen kívül hagy. Minden sornak jelen kell lennie. -1 a paraméterek figyelmen kívül hagyására szolgál.

A konfigurációs fájl a modul első indításakor olvasásra kerül. Az ip/reloadConfig elérésével futó rendszerben is újratölthető (ha a konfiguráció megváltozott)

A konfiguráció kazánüzemi része itt nem releváns, de a központi fűtőcső kimenetéhez csatlakoztatott hőmérséklet -érzékelőimben használják, mivel érzékeli, amikor a kazán fűt, és kiszámítja az átlagos energiafogyasztást.

4. lépés: Értesítések

Ha ajtócsengő nyomást észlel, akkor ezt az IFTTT vagy a PushOver értesíti. Most PushOver -t használok, mivel gyorsabb visszajátszást biztosít.

Az IFTTT használatához fiókra van szükség, és aktiválnia kell a Maker WebHoooks csatornát. Ennek a csatornának a MakerKey -jét be kell fordítani a kódba.

Állítson be IF műveletet a Maker WebHooks segítségével, és használja a konfigurációban szereplő nevű eseménynevet (pl. Ajtócsengő). A THEN műveletnek IFTTT értesítésnek kell lennie. Értéket1 adhat hozzá az értesítéshez, amely a konfigurációs fájlban lesz. Ez akkor lehet hasznos, ha 2 vagy több érzékelője van.

Telepítenie kell az IFTTT alkalmazást a telefonjára, és ekkor értesítések jelennek meg, amikor a csengő bekapcsol.

A PushOver esetében PushOver -fiókra van szüksége, és kövesse az utasításokat az API -értesítések fogadásához. Be kell állítania a NOTIFICATION_APP és NOTIFICATION_USER tokeneket a szoftverben a PushOver -fiókjából származó értékekkel.

Telepítenie kell a PushOver alkalmazást a telefonjára, és szerény egyszeri díjat kell fizetnie az értesítésekért. Véleményem szerint ez megéri, hogy sokkal gyorsabb választ kapjunk.

5. lépés: EasyIOT integráció

A szoftver hőmérséklet és Doorbell push jelentéseket küldhet az EasyIOT szerverre. Az EasyIOT automatizálás felhasználható további műveletek elvégzésére ezen jelentés alapján.

Állítson be EasyIOT szervert (pl. Raspberry Pi -n). Állítsa be az ip -címet és a felhasználónév jelszavát az esp8266 szoftverbe, és fordítsa le.

Most adjon hozzá egy virtuális illesztőprogramot az EASYIOT konfigurációhoz. Válassza a Hőmérséklet analóg bemenet lehetőséget, és jegyezze fel az EasyIOT csomópont nevét. Ezt az espConfig fájl hőmérsékletcsomópont -név részébe kell beírni.

Adjon hozzá egy második virtuális illesztőprogramot. Válassza az Ajtó digitális bemenet lehetőséget, jegyezze fel a csomópont nevét, és helyezze be az espConfig fájlba.

6. lépés: Egyéb harangnyomó műveletek

A szoftvernek van egy rutinja, az actionBellOn. Ahogy írták, ez 3 dolgot tehet

  • Az IFTTT értesíti
  • EasyIOT jelentés
  • Végezzen művelet URL -t

Az URL felhasználható más tevékenységek kiváltására más webszerverekről. A használt URL az espConfig fájlban található.

Ha az URL szerverét hitelesítik, akkor be kell állítani a felhasználónevet és a jelszót, és le kell fordítani a kódba.

Ezt használom a snap.php nevű URL eléréséhez az ajtó melletti kamerán. Ez egy-j.webp

Málna Pi alapú kamerákat használok, amelyek nagyon egyszerűvé teszik ezt a műveletet. kamera

Ajánlott: