Índice:

Sensor de temperatura e pressão da campainha da porta: 6 etapas
Sensor de temperatura e pressão da campainha da porta: 6 etapas

Vídeo: Sensor de temperatura e pressão da campainha da porta: 6 etapas

Vídeo: Sensor de temperatura e pressão da campainha da porta: 6 etapas
Vídeo: Sensor de porta e janela veja como você pode automatizar muito 2024, Novembro
Anonim
Sensor de temperatura e pressão da campainha da porta
Sensor de temperatura e pressão da campainha da porta

Isso aprimora uma campainha padrão com fio com um módulo esp-12F (esp8266).

Ele é instalado na própria unidade da campainha para evitar qualquer alteração na fiação. Ele fornece as seguintes funções

  • Detectar batidas de campainha
  • Envia notificações para telefone via IFTTT
  • Armazena a atividade da campainha em um servidor easyIOT (opcional)
  • Acione outra atividade por meio de um URL quando a campainha da porta for pressionada

    Eu tiro um instantâneo em uma webcam perto da porta e posso ver as capturas recentes da campainha da porta no meu telefone

  • Sensor de temperatura embutido opcional (DS18B20) que faz parte do monitoramento da temperatura da minha casa

Etapa 1: Hardware e Materiais

Hardware e Materiais
Hardware e Materiais
Hardware e Materiais
Hardware e Materiais

Os seguintes materiais são necessários

  • Módulo wi-fi / cpu ESP-12F (ESP8266)
  • Conversor DC Buck para alimentação de 3,3 V
  • Díodo retificador (por exemplo, 1N4001)
  • Capacitor eletrolítico 220uF 35V
  • Capacitor eletrolítico 220uF 16V
  • Diodo Zener 3.3 ou 2.6V
  • Resistores
  • Pedaço de strip board
  • Conectores, se necessário
  • Sensor de temperatura digital DS18B20, se necessário

O esquema mostra o circuito usado. Ele assume uma campainha alimentada por CA de baixa tensão, que é o tipo mais comum de campainha simples com fio. A unidade da campainha recebe energia de um transformador de campainha externo, normalmente em torno de 10 V CA. Isso não é crítico, pois a única restrição é a tensão máxima no conversor Buck. O que eu uso é baseado no MP2307 com uma entrada máxima de 23 Vcc (~ 16 Vca).

Normalmente existem 3 terminais ativos. Com a campainha, faça a conexão de um lado da alimentação CA ao solenóide da campainha. O módulo usa os dois terminais CA para produzir a energia CC por meio de um retificador de meia onda simples. O sensor de toque da campainha é feito pelo monitoramento da tensão no solenóide real. Isso normalmente será aterrado, mas quando a campainha for acionada será o AC completo. Um resistor / diodo zener prende isso de forma que um pulso de 0 - 3,3 V 50 Hz seja alimentado em um pino GPIO. O software processa isso para fornecer uma única ativação por campainha.

Construí o circuito em um pedaço de placa de tiras e isso é pequeno o suficiente para caber facilmente na unidade da campainha. Eu uso conectores de jumper simples para facilitar a instalação e incluí-lo especificamente em linha com a fonte de CA principal para que possa ser reiniciado facilmente, se necessário.

O esquema conforme mostrado inclui um sensor de temperatura DS18B20. Isso é opcional. Eu o uso como parte de uma rede que monitora a maioria das áreas da minha casa. Se incluído, é bom cabear o sensor com alguns centímetros de cabo para permitir que ele seja isolado de quaisquer efeitos de aquecimento local.

Etapa 2: Software

A unidade de empurrar da porta usa um esboço do Arduino disponível no github

Isso precisa ser ajustado para se adequar às condições locais e, em seguida, compilado em um ambiente Arduino esp8266. As seguintes bibliotecas são necessárias, elas são padrão ou podem ser adicionadas.

  • ESP8266WiFi
  • WifiClient
  • ESP8266WebServer
  • ESP8266mDNS
  • ESP8266HTTPUpdateServer
  • ArduinoJson
  • WifiClientSecure
  • IFTTTMaker
  • Servidor dns
  • WiFiManager (uso opcional)
  • OneWire
  • DallasTemperature

Os itens no esboço a serem alterados incluem

  • Detalhes de acesso wi-fi local (ssid, senha) se não estiver usando WifiManager
  • Código de autorização para acesso à web AP_AUTHID. É bom ter um comprimento decente. Ele pode conter caracteres alfanuméricos.
  • firmware OTA senha update_password
  • Senha do WifiManager WM_PASSWORD

    Wifi pode ser configurado manualmente comentando WM_NAME

  • Chave do fabricante do IFTTT (consulte a etapa de notificação)

Mudanças opcionais incluem

  • Alterando o pino de entrada para detector de campainha
  • Troca de pino para sensor de temperatura
  • Alterando a porta de acesso à Web do padrão 80

Uma vez feito isso, ele deve primeiro ser compilado e carregado usando o upload serial convencional. A atualização subsequente pode ser feita compilando um binário de exportação no ambiente Arduino e acessando a interface OTA no ip / firmware.

O toque da campainha da porta é detectado no software pela detecção da interrupção da borda ascendente do primeiro pulso do circuito do detector. Todas as interrupções subsequentes são ignoradas. Um tempo limite é usado para reativar o detector após o BELL_MIN_INTERVAL, que é definido para 10 segundos.

Outras atividades podem ser acessadas no servidor web esp8266

  • ip / recent mostra a atividade recente da campainha da porta
  • ip / reloadConfig recarrega espConfig
  • ip / bellPush simula um toque de sino

Etapa 3: Configuração

Conforme construído, o software obtém sua configuração de um servidor web local. O módulo carrega dados de configuração com base em seu endereço Mac. Isso torna muito conveniente executar vários módulos usando o mesmo binário e também torna mais fácil atualizar a configuração sem recompilar. Seria possível pular isso e colocar os dados de configuração diretamente no código.

Eu armazeno o arquivo de configuração no meu servidor EasyIOT que tem uma pasta em easyIOT / html onde o arquivo de configuração pode ser recuperado facilmente.

O arquivo é denominado espConfig e é um arquivo de texto simples que armazena uma série de parâmetros (12) para cada endereço Mac possível. Um módulo carrega apenas os parâmetros definidos para seu endereço Mac.

Um exemplo do arquivo é

#Corredor

#Mac address123456ABCDEF

#nome do módulo

esp8266-hall

# máscara de modo de servidor (1 = sensor de temperatura, 4 = modo de caldeira, 4 = campainha)

9

#EIOT nó para temperatura

N9S0

#unused

-1

# intervalo mínimo de temperatura em segundos

60

# intervalo máximo de temperatura em segundos

300

#boiler power interval

0

#EasyIOT nó de energia da caldeira

-1

#EasyIOT bell push node

N10S0

# IFTTT valor de notificação

frente

#IFTTT notificar nome do evento

campainha

#action URL

192.168.0.2/snap.php

Qualquer linha que comece com # é ignorada. Todas as linhas devem estar presentes. -1 é usado para parâmetros a serem ignorados.

O arquivo de configuração é lido quando o módulo é inicializado pela primeira vez. Ele também pode ser recarregado em um sistema em execução (quando a configuração foi alterada) acessando ip / reloadConfig

A parte do modo de caldeira da configuração não é relevante aqui, mas é usada em meus sensores de temperatura conectados à saída do heatin pipe central, pois detecta quando a caldeira está aquecendo e pode calcular o consumo médio de energia.

Etapa 4: notificações

Quando um toque de campainha é detectado, ele tenta notificar isso por IFTTT ou PushOver. Eu agora PushOver, pois dá uma resposta mais rápida.

Para IFTTT você precisa de uma conta e ativar o canal Maker WebHoooks. A MakerKey deste canal precisa ser compilada no código.

Configure uma ação IF usando Maker WebHooks e use o nome do evento com o mesmo nome da configuração (por exemplo, campainha). A ação ENTÃO deve ser uma notificação IFTTT. Você pode adicionar valor1 à notificação que estará no arquivo de configuração. Isso pode ser útil se você tiver 2 ou mais detectores.

Você precisa instalar o aplicativo IFTTT em seu telefone e, em seguida, as notificações aparecerão sempre que a campainha for acionada.

Para PushOver, você precisa de uma conta PushOver e seguir as instruções para receber notificações de API. Você precisa configurar os tokens NOTIFICATION_APP e NOTIFICATION_USER no software com os valores de sua conta PushOver.

Você precisa instalar o PushOver App no seu telefone e pagar uma taxa única modesta para receber notificações. Na minha opinião, vale a pena obter uma resposta muito mais rápida.

Etapa 5: Integração EasyIOT

O software pode enviar relatórios push de temperatura e campainha para um servidor EasyIOT. A automação EasyIOT pode ser usada para realizar ações adicionais com base nesses relatórios.

Configure um servidor EasyIOT (por exemplo, em um Raspberry Pi). Configure o endereço IP e a senha do nome de usuário no software esp8266 e compile.

Agora adicione um driver virtual na configuração EASYIOT. Escolha a entrada analógica de temperatura e observe o nome do nó EasyIOT. Isso deve ser colocado na parte do nome do nó de temperatura do arquivo espConfig.

Adicione um segundo driver virtual. Escolha a entrada digital da porta, anote o nome do nó e coloque no arquivo espConfig.

Etapa 6: Outras ações Bell Push

O software possui uma rotina chamada actionBellOn. Da forma como está escrito, isso pode fazer 3 coisas

  • Notificação IFTTT
  • Relatório EasyIOT
  • Executar uma ação URL

O URL pode ser usado para acionar outras atividades de outros servidores da web. O URL usado está no arquivo espConfig.

Se o servidor da URL for autenticado, o nome de usuário e a senha precisam ser configurados e compilados no código.

Eu uso isso para acessar um URL chamado snap.php em uma câmera ao lado da porta. Isso leva um-j.webp

Eu uso câmeras baseadas em Raspberry Pi que tornam essa operação muito fácil. Câmera

Recomendado: