Talaan ng mga Nilalaman:

Door Bell Push at Temperature Sensor: 6 Hakbang
Door Bell Push at Temperature Sensor: 6 Hakbang

Video: Door Bell Push at Temperature Sensor: 6 Hakbang

Video: Door Bell Push at Temperature Sensor: 6 Hakbang
Video: How to Temporarily Disable Ring Doorbell Motion Detection 2024, Hulyo
Anonim
Door Bell Push at Temperature Sensor
Door Bell Push at Temperature Sensor

Pinahuhusay nito ang isang karaniwang hard wired door bell na may esp-12F (esp8266) na module.

Nag-i-install ito sa bell unit mismo upang maiwasan ang anumang pagbabago sa mga kable. Nagbibigay ito ng mga sumusunod na pagpapaandar

  • Makita ang mga tulak sa pintuan
  • Nagpapadala ng mga abiso sa telepono sa pamamagitan ng IFTTT
  • Ang aktibidad ng kampanilya ng pinto sa isang madalingIOT server (opsyonal)
  • Pag-trigger ng iba pang aktibidad sa pamamagitan ng isang URL kapag pinindot ang door bell

    Nakuha ko ang isang snapshot sa isang webcam sa pamamagitan ng pintuan at maaaring matingnan ang mga kamakailang nakunan ng kampanilya sa aking telepono

  • Opsyonal na naka-embed na sensor ng temperatura (DS18B20) na bumubuo sa bahagi ng pagsubaybay sa temperatura ng aking bahay

Hakbang 1: Hardware at Mga Materyales

Hardware at Mga Materyales
Hardware at Mga Materyales
Hardware at Mga Materyales
Hardware at Mga Materyales

Ang mga sumusunod na materyales ay kinakailangan

  • Ang module ng wifi / cpu ng ESP-12F (ESP8266)
  • DC Buck converter para sa supply ng 3.3V
  • Rectifier diode (hal. 1N4001)
  • Electrolytic capacitor 220uF 35V
  • Electrolytic capacitor 220uF 16V
  • Ang Zener diode 3.3 o 2.6V
  • Mga lumalaban
  • Piraso ng strip board
  • Konektor kung kinakailangan
  • DS18B20 digital temp sensor kung kinakailangan

Ipinapakita ng eskematiko ang ginamit na circuit. Ipinapalagay nito ang isang mababang boltahe na AC na pinalalakas na kampanilya na kung saan ay pinaka-karaniwang uri ng matapang na wired na simpleng kampanilya. Ang yunit ng kampanilya ay nakakakuha ng lakas mula sa isang panlabas na transpormador ng kampanilya na karaniwang nasa paligid ng 10V AC. Hindi ito kritikal sa ang tanging pagpilit na ang pinakamataas na boltahe sa buck converter. Ang ginagamit ko ay MP2307 batay sa isang maximum na input ng 23V dc (~ 16V AC).

Karaniwan may 3 aktibong mga terminal. Gamit ang pagtulak ng kampana paggawa ng koneksyon mula sa isang gilid ng suplay ng AC sa solenoid ng kampanilya. Gumagamit ang module ng dalawang mga terminal ng AC upang makagawa ng DC power sa pamamagitan ng isang simpleng half rectifier ng alon. Ang sensing ng push push ay sa pamamagitan ng pagsubaybay sa boltahe sa aktwal na solenoid. Ito ay magiging normal, ngunit kapag ang kampanilya ay naaktibo ay ang buong AC. Ang isang risistor / zener diode ay i-clip ito kaya't ang isang 0 - 3.3V 50 Hz na pulso ay pinakain sa isang GPIO pin. Pinoproseso ito ng software upang makapagbigay ng iisang activation bawat bell press.

Itinayo ko ang circuit sa isang piraso ng strip board at ito ay maliit na sapat upang madaling magkasya sa yunit ng kampanilya. Gumagamit ako ng mga simpleng konektor ng lumulukso upang mas madali itong mai-install at isama sa partikular na naaayon sa pangunahing supply ng AC upang madali itong mai-reset ng kuryente kung kinakailangan.

Ang eskematiko tulad ng ipinapakita ay nagsasama ng isang sensor ng temperatura ng DS18B20. Opsyonal ito. Ginagamit ko ito bilang bahagi ng isang network na sinusubaybayan ang karamihan sa mga lugar sa aking bahay. Kung kasama ito ay mabuti upang i-cable ang sensor sa gamit ang ilang sentimetro ng cable upang payagan itong ihiwalay mula sa anumang lokal na mga epekto ng pag-init.

Hakbang 2: Software

Ang yunit ng push door ay gumagamit ng isang Arduino sketch na magagamit sa github

Kailangan itong ayusin upang umangkop sa mga lokal na kundisyon at pagkatapos ay naipon sa isang esp8266 na Arduino na kapaligiran. Ang mga sumusunod na silid-aklatan kinakailangan, ang mga ito ay pamantayan o maaaring idagdag.

  • ESP8266WiFi
  • WifiClient
  • ESP8266WebServer
  • ESP8266mDNS
  • ESP8266HTTPUpdateServer
  • ArduinoJson
  • WifiClientSecure
  • IFTTTMaker
  • DNSServer
  • WiFiManager (opsyonal na paggamit)
  • OneWire
  • DallasTemperature

Isama ang mga item sa sketch na papalitan

  • Mga detalye ng access sa lokal na wifi (ssid, password) kung hindi gumagamit ng WifiManager
  • Ang code ng pahintulot para sa pag-access sa web sa AP_AUTHID. Mahusay na gawin itong disenteng haba. Maaari itong maglaman ng mga alphanumeric character.
  • firmware OTA password update_password
  • WifiManager password WM_PASSWORD

    Maaaring manu-manong maitaguyod ang Wifi sa pamamagitan ng pagbibigay puna sa WM_NAME

  • IFTTT maker key (tingnan ang hakbang sa pag-abiso)

Kasama sa mga opsyonal na pagbabago

  • Ang pagbabago ng input pin para sa detektor ng Doorbell
  • Ang pagbabago ng pin para sa sensor ng temperatura
  • Ang pagbabago sa Web access port mula sa default 80

Kapag tapos na ito pagkatapos ay dapat muna itong mai-compile at mai-upload gamit ang maginoo na serial upload. Ang kasunod na pag-update ay maaaring gawin sa pamamagitan ng pag-iipon ng isang binary na pag-export sa Arduino na kapaligiran at pagkatapos ay i-access ang interface ng OTA sa ip / firmware.

Ang push door bell ay napansin sa software sa pamamagitan ng pag-abala sa pagtaas ng gilid ng unang pulso mula sa detector circuit. Ang lahat ng mga kasunod na pagkagambala ay hindi pinapansin. Ginagamit ang isang pag-timeout upang muling buhayin ang detector pagkatapos ng BELL_MIN_INTERVAL na nakatakda sa 10 segundo.

Ang iba pang mga aktibidad ay maaaring ma-access sa esp8266 web server

  • Ip / kamakailang nagpapakita ng kamakailang aktibidad sa door bell
  • ip / reloadConfig reloads espConfig
  • ip / bellPush simulate a bell push

Hakbang 3: Pag-configure

Tulad ng pagkakagawa ng software ay makakakuha ng pagsasaayos nito mula sa isang lokal na web server. Naglo-load ang module ng data ng pagsasaayos batay sa Mac Address nito. Ginagawa nitong napakadali upang magpatakbo ng maraming mga module na gumagamit ng parehong binary, at ginagawang mas madaling i-update ang pagsasaayos nang hindi muling pagsasaayos. Posibleng laktawan ito at ilagay ang data ng config nang direkta sa code.

Iniimbak ko ang config file sa aking EasyIOT server na may isang folder sa easyIOT / html kung saan maaaring madaling makuha ang config file.

Ang file ay tinawag na espConfig at isang simpleng file ng teksto na nagtatago ng isang bilang ng mga parameter (12) para sa bawat posibleng Mac address. Nilo-load lamang ng isang module ang mga itinakdang parameter para sa Mac address nito.

Ang isang halimbawa mula sa file ay

#Hall

#Mac address123456ABCDEF

#module pangalan

esp8266-hall

#server mode mask (1 = temp sense, 4 = boilerermode, 4 = doorbell)

9

#EIOT node para sa temperatura

N9S0

# hindi nagamit

-1

# minimum na agwat ng temperatura sa segundo

60

#maximum na agwat ng temperatura sa segundo

300

# agwat ng kuryente ng boiler

0

#EasyIOT boiler ng kapangyarihan ng boiler

-1

#EasyIOT bell push node

N10S0

# IFTTT aabisuhan ang halaga

sa harap

#IFTTT aabisuhan ang eventname

kampana

#action URL

192.168.0.2/snap.php

Anumang linya na nagsisimula sa # ay hindi pinapansin. Lahat ng mga linya ay dapat naroroon. Ginagamit ang -1 para hindi pansinin ang mga parameter.

Nabasa ang config file nang unang nagsimula ang module. Maaari rin itong mai-reload sa isang tumatakbo na system (kapag ang config ay binago) sa pamamagitan ng pag-access sa ip / reloadConfig

Ang bahagi ng mode ng boiler ng config ay hindi nauugnay dito ngunit ginamit sa aking mga sensor ng temperatura na naka-attach sa output ng gitnang heatin pipe dahil nakikita nito kung ang pag-init ng boiler at makakalkula ang average na pagkonsumo ng kuryente.

Hakbang 4: Mga Abiso

Kapag napansin ang isang push door bell pagkatapos ay sinusubukan nitong abisuhan ito ng IFTTT o PushOver. PushOver ko ngayon dahil nagbibigay ito ng isang mas mabilis na repsonse.

Para sa IFTTT kailangan mo ng isang account at buhayin ang channel ng Maker WebHoooks. Ang MakerKey mula sa channel na ito ay kailangang maiipon sa code.

Mag-set up ng isang pagkilos na KUNG gamit ang Maker WebHooks at gumamit ng pangalan ng kaganapan ng parehong pangalan tulad ng sa config (hal. Doorbell). Ang pagkilos THEN ay dapat na abiso sa IFTTT. Maaari kang magdagdag ng value1 sa notification na nasa config file. Maaari itong maging kapaki-pakinabang kung mayroon kang 2 o higit pang mga detektor.

Kailangan mong i-install ang IFTTT app sa iyong telepono at pagkatapos ay lilitaw ang mga abiso tuwing na-trigger ang doorbell.

Para sa PushOver kailangan mo ng isang PushOver account at sundin ang mga tagubilin upang makatanggap ng mga notification sa API. Kailangan mong i-set up ang mga token ng NOTIFICATION_APP at NOTIFICATION_USER sa software kasama ang mga halaga mula sa iyong PushOver account.

Kailangan mong i-install ang PushOver App sa iyong telepono at magbayad ng isang katamtamang one-off fee upang makatanggap ng mga abiso. Ito ay sulit sa aking pagtingin upang makuha ang mas mabilis na tugon.

Hakbang 5: EasyIOT Pagsasama

Ang software ay maaaring magpadala ng mga ulat ng temperatura at itulak sa Doorbell sa isang EasyIOT server. Maaaring magamit ang automation na EasyIOT upang gumawa ng mga karagdagang pagkilos batay sa ulat na ito.

Mag-set up ng isang EasyIOT server (hal. Sa isang Raspberry Pi). I-configure ang ip address at username password sa esp8266 software at ipagsama.

Magdagdag ngayon ng isang Virtual driver sa pagsasaayos ng EASYIOT. Piliin ang Input ng Temperatura Analog at tandaan ang EasyIOT node pangalan. Dapat itong ilagay sa bahagi ng pangalan ng node ng temperatura ng espConfig file.

Magdagdag ng pangalawang virtual driver. Piliin ang Digital input ng Pinto, tandaan ang pangalan ng node at ilagay sa espConfig file.

Hakbang 6: Iba Pang Mga Pagkilos sa Bell Push

Ang software ay may isang gawain na tinatawag na actionBellOn. Tulad ng nakasulat na ito ay maaaring gumawa ng 3 bagay

  • Inaabisuhan ng IFTTT
  • EasyIOT ulat
  • Magsagawa ng isang URL ng pagkilos

Maaaring magamit ang URL upang ma-trigger ang iba pang aktibidad mula sa iba pang mga web server. Ang ginamit na URL ay nasa espConfig file.

Kung ang server ng URL ay napatunayan pagkatapos ang username at password ay kailangang mai-configure at maiipon sa code.

Ginagamit ko ito upang ma-access ang isang URL na tinatawag na snap.php sa isang camera sa tabi ng pintuan. Tumatagal ito ng isang-j.webp

Gumagamit ako ng mga kamera na batay sa raspberry Pi kung aling lalaki ang operasyon na ito napakadali. camera

Inirerekumendang: