Taula de continguts:

Sensor d'empenta i temperatura del timbre de la porta: 6 passos
Sensor d'empenta i temperatura del timbre de la porta: 6 passos

Vídeo: Sensor d'empenta i temperatura del timbre de la porta: 6 passos

Vídeo: Sensor d'empenta i temperatura del timbre de la porta: 6 passos
Vídeo: Riden RD6018 Programmable 60V 18A 1080W Buck Converter | WattHour 2024, Juliol
Anonim
Sensor de temperatura i empenta del timbre de la porta
Sensor de temperatura i empenta del timbre de la porta

Això millora el timbre de la porta cablejat estàndard amb un mòdul esp-12F (esp8266).

S'instal·la a la campana per evitar qualsevol canvi de cablejat. Ofereix les funcions següents

  • Detecta els timbres de la porta
  • Envia notificacions al telèfon mitjançant IFTTT
  • Emmagatzema l'activitat del timbre de la porta en un servidor easyIOT (opcional)
  • Desencadenar una altra activitat mitjançant un URL quan es toqui el timbre

    Capturo una instantània en una càmera web que hi ha al costat de la porta i puc veure les captures de timbres recents del meu telèfon

  • Sensor de temperatura incorporat opcional (DS18B20) que forma part del meu control de temperatura de casa

Pas 1: maquinari i materials

Maquinari i materials
Maquinari i materials
Maquinari i materials
Maquinari i materials

Es necessiten els següents materials

  • Mòdul wifi / cpu ESP-12F (ESP8266)
  • Convertidor DC Buck per a un subministrament de 3,3 V.
  • Diodo rectificador (per exemple, 1N4001)
  • Condensador electrolític 220uF 35V
  • Condensador electrolític 220uF 16V
  • Diodo Zener 3,3 o 2,6V
  • Resistències
  • Peça de tauler de tires
  • Connectors si cal
  • Sensor de temperatura digital DS18B20 si cal

L’esquema mostra el circuit utilitzat. Suposa una campana de baixa tensió alimentada per CA, que és el tipus més habitual de campana senzilla amb cable dur. Això no és crític, ja que l'única restricció és la tensió màxima al convertidor de buck. El que faig servir és basat en MP2307 amb una entrada màxima de 23 V CC (~ 16 V CA).

Normalment hi ha 3 terminals actius. Amb la campana empenyent la connexió des d’un costat de l’alimentació de CA al solenoide de la campana. El mòdul utilitza els dos terminals de CA per produir energia CC a través d’un simple rectificador de mitja ona. La detecció d’empenta de campana es realitza mitjançant el control de la tensió a través del solenoide real. Normalment, això es triturarà, però quan s’activi la campana serà la CA completa. Un díode de resistència / zener ho retalla de manera que s’introdueix un pols de 0 - 3,3 V 50 Hz a un pin GPIO. El programari processa això per proporcionar una única activació per campana.

Vaig construir el circuit sobre una mica de tauler de tires i aquest és prou petit per cabre fàcilment a la unitat de campana. Utilitzo connectors jumper senzills per facilitar la instal·lació i incloure-los específicament en línia amb el subministrament de CA principal, de manera que es pugui reiniciar fàcilment si és necessari.

L'esquema que es mostra inclou un sensor de temperatura DS18B20. Això és opcional. L’utilitzo com a part d’una xarxa que controla la majoria d’àrees de casa meva. Si s’inclou, és bo connectar el sensor amb uns centímetres de cable per permetre que quedi aïllat dels efectes de la calefacció local.

Pas 2: programari

La unitat d’empenta de la porta utilitza un esbós Arduino disponible a github

Cal ajustar-lo per adaptar-se a les condicions locals i després compilar-lo en un entorn Arduino esp8266. Calen les biblioteques següents, són estàndard o es poden afegir.

  • ESP8266WiFi
  • WifiClient
  • ESP8266WebServer
  • ESP8266mDNS
  • ESP8266HTTPUpdateServer
  • ArduinoJson
  • WifiClientSecure
  • IFTTTMaker
  • Servidor DNS
  • WiFiManager (ús opcional)
  • OneWire
  • DallasTemperature

Els elements de l'esbós que es canviaran inclouen

  • Detalls d'accés wifi local (ssid, contrasenya) si no utilitzeu WifiManager
  • Codi d'autorització per a l'accés web AP_AUTHID. És bo fer que aquesta durada sigui decent. Pot contenir caràcters alfanumèrics.
  • contrasenya OTA del microprogramari update_password
  • Contrasenya de WifiManager WM_PASSWORD

    El Wifi es pot configurar manualment comentant WM_NAME

  • Clau de fabricant IFTTT (vegeu el pas de notificació)

Els canvis opcionals inclouen

  • Canvi de pin d'entrada per al detector de campanes
  • Pin de canvi per al sensor de temperatura
  • Canvi del port d’accés web del 80 per defecte

Un cop fet això, primer s’hauria de compilar i carregar mitjançant una càrrega en sèrie convencional. L'actualització posterior es pot fer compilant un binari d'exportació a l'entorn Arduino i accedint a la interfície OTA a ip / firmware.

L'empenta del timbre de la porta es detecta al programari mitjançant una interrupció que detecta la vora ascendent del primer impuls del circuit del detector. S'ignoren totes les interrupcions posteriors. S'utilitza un temps d'espera per reactivar el detector després de BELL_MIN_INTERVAL, que s'estableix en 10 segons.

Es pot accedir a altres activitats al servidor web esp8266

  • ip / recent mostra l'activitat recent del timbre
  • ip / reloadConfig recarrega espConfig
  • ip / bellPush simula un impuls de campana

Pas 3: Configuració

Tal com es construeix, el programari obté la seva configuració des d'un servidor web local. El mòdul carrega les dades de configuració segons la seva adreça Mac. Això fa que sigui molt convenient executar diversos mòduls amb el mateix binari i també facilita l’actualització de la configuració sense recompilar-la. Seria possible ometre-ho i posar les dades de configuració directament al codi.

Emmagatzemo el fitxer de configuració al meu servidor EasyIOT que té una carpeta a easyIOT / html on es pot recuperar fàcilment el fitxer de configuració.

El fitxer s’anomena espConfig i és un fitxer de text senzill que emmagatzema diversos paràmetres (12) per a cada possible adreça de Mac. Un mòdul només carrega els paràmetres establerts per a la seva adreça Mac.

Un exemple del fitxer és

#Sala

#Mac address123456ABCDEF

# nom del mòdul

esp8266-hall

# màscara de mode servidor (1 = sentit de la temperatura, 4 = mode de caldera, 4 = timbre)

9

Node #EIOT per a la temperatura

N9S0

# inutilitzat

-1

# interval de temperatura mínim en segons

60

#interval de temperatura màxima en segons

300

#interval de potència de la caldera

0

Node de potència de la caldera #EasyIOT

-1

Node d'empenta de campana #EasyIOT

N10S0

# Valor de notificació IFTTT

frontal

#IFTTT notifica el nom de l'esdeveniment

timbre

#acció URL

192.168.0.2/snap.php

Qualsevol línia que comenci per # s'ignora. Totes les línies han d’estar presents. -1 s'utilitza per ignorar paràmetres.

El fitxer de configuració es llegeix quan s’inicia el mòdul per primera vegada. També es pot tornar a carregar en un sistema en execució (quan s’ha canviat la configuració) accedint a ip / reloadConfig

La part del mode de caldera de la configuració no és rellevant aquí, però s’utilitza en els meus sensors de temperatura connectats a la sortida de la canonada de calor central, ja que detecta quan la caldera s’escalfa i pot calcular el consum mitjà d’energia.

Pas 4: notificacions

Quan es detecta un timbre de porta, intenta notificar-ho mitjançant IFTTT o PushOver. Ara PushOver ja que dóna una resposta més ràpida.

Per a IFTTT necessiteu un compte i activeu el canal Maker WebHoooks. El MakerKey d’aquest canal s’ha de compilar al codi.

Configureu una acció IF mitjançant Maker WebHooks i utilitzeu el nom de l'esdeveniment amb el mateix nom que a la configuració (per exemple, timbre). L'acció THEN hauria de ser una notificació IFTTT. Podeu afegir valor1 a la notificació que hi haurà al fitxer de configuració. Això pot ser útil si teniu 2 o més detectors.

Heu d’instal·lar l’aplicació IFTTT al telèfon i, a continuació, apareixeran les notificacions sempre que s’activi el timbre.

Per a PushOver, necessiteu un compte PushOver i seguiu les instruccions per rebre notificacions de l'API. Heu de configurar les fitxes NOTIFICATION_APP i NOTIFICATION_USER al programari amb els valors del vostre compte PushOver.

Heu d’instal·lar l’aplicació PushOver al telèfon i pagar una taxa única per rebre notificacions. Al meu entendre, val la pena obtenir una resposta molt més ràpida.

Pas 5: Integració EasyIOT

El programari pot enviar informes d'empenta de temperatura i Doorbell a un servidor EasyIOT. L'automatització EasyIOT es pot utilitzar per fer accions addicionals basades en aquest informe.

Configureu un servidor EasyIOT (per exemple, en un Raspberry Pi). Configureu l'adreça IP i la contrasenya del nom d'usuari al programari esp8266 i compileu-la.

Ara afegiu un controlador virtual a la configuració EASYIOT. Trieu Entrada analògica de temperatura i anoteu el nom del node EasyIOT. Això s'hauria de posar a la part del nom del node de temperatura del fitxer espConfig.

Afegiu un segon controlador virtual. Trieu l'entrada digital de la porta, anoteu el nom del node i poseu-lo al fitxer espConfig.

Pas 6: altres accions de campana

El programari té una rutina anomenada actionBellOn. Tal com està escrit, això pot fer 3 coses

  • Notificació IFTTT
  • Informe EasyIOT
  • Realitzeu un URL d'acció

L'URL es pot utilitzar per activar altres activitats d'altres servidors web. La URL utilitzada es troba al fitxer espConfig.

Si el servidor de l'URL està autenticat, cal configurar el nom d'usuari i la contrasenya i compilar-los al codi.

Ho faig servir per accedir a un URL anomenat snap.php en una càmera al costat de la porta. Això pren un-j.webp

Utilitzo càmeres basades en raspberry Pi, que permeten operar molt fàcilment aquesta operació. càmera

Recomanat: