Índice:

Rede de estações de sensores para controle de iluminação e segurança: 5 etapas (com fotos)
Rede de estações de sensores para controle de iluminação e segurança: 5 etapas (com fotos)

Vídeo: Rede de estações de sensores para controle de iluminação e segurança: 5 etapas (com fotos)

Vídeo: Rede de estações de sensores para controle de iluminação e segurança: 5 etapas (com fotos)
Vídeo: 👉 02 SENSORES de PRESENÇA que ESTÃO em OUTRO NÍVEL 2024, Julho
Anonim
Rede de estações de sensores para controle de iluminação e segurança
Rede de estações de sensores para controle de iluminação e segurança
Rede de estações de sensores para controle de iluminação e segurança
Rede de estações de sensores para controle de iluminação e segurança
Rede de estações de sensores para controle de iluminação e segurança
Rede de estações de sensores para controle de iluminação e segurança

Com esta rede de estações sensoras configurada em modo mestre / escravo, você poderá realizar o controle de iluminação e segurança em sua casa. Essas estações de sensores (Node01, Node02 neste projeto) são conectadas a uma estação mestre (Node00) conectada à sua rede wi-fi local. Instalei o Node01 na minha sala de armazenamento e o Node02 na minha garagem, controlando luzes e movimentos. A estação master está instalada em nossa sala de jantar conectada ao nosso roteador wi-fi. Instalei a campainha na garagem e uma pequena campainha na estação mestre para soar quando um movimento for detectado por alguma estação sensora na rede.

As principais características da rede são:

  • É possível configurar uma rede com mais de duas estações sensoras (estações escravas) (Nó01, Nó02, Nó03,….)
  • Devido ao uso de transceptores sem fio com antena, a rede é capaz de cobrir uma ampla área
  • Você pode controlar toda a rede de um telefone celular
  • Envie um e-mail (conta do Gmail) quando um movimento for detectado e o modo de alarme estiver ativado. Então, se você ativar as notificações push do Gmail em seu celular, você saberá quando um movimento for detectado em sua rede

para fins domóticos:

  • Acenda as luzes quando um movimento for detectado / acenda sempre as luzes (para toda a rede ou para cada estação escrava)
  • Altere o tempo em minutos em que as luzes ficam acesas depois que um movimento foi detectado para cada estação escrava

para fins de segurança:

  • Habilite e desabilite o modo de alarme
  • Cada estação escrava é capaz de enviar um sinal para uma estação mestre (Node00) quando o modo de alarme é habilitado e um movimento é detectado
  • A estação mestre é capaz de ativar uma campainha e enviar um e-mail quando um desses sinais é recebido de qualquer estação escrava e o modo de alarme é habilitado. A estação master (Node00) é conectada à internet por meio de uma conexão wi-fi para controlar todo o sistema por meio de um telefone celular. Ele é configurado como um WifiWebServer

Etapa 1: Lista de Material

Lista de Material
Lista de Material
Lista de Material
Lista de Material

A lista de material que usei para construir o Node01 e o Node02 (estações escravas) é a seguinte:

  • Placa Mega 2560 R3
  • Suporte de plástico para MEGA 2560 R3
  • Sensor HC-SR501 PIR
  • Suporte de plástico para HC-SR501
  • Relé 5V
  • Módulo Transceptor Sem Fio 2.4G 1100m NRF24L01 + PA + LNA com Antena LKY67
  • Adaptador 8Pin NRF24L01 (para melhorar os recursos do NRF24L01)
  • HLK-PM01 AC DC 220V a 5V Mini fonte de alimentação

A lista de material para construir o Node00 (estações mestres) é a seguinte:

  • Placa Mega 2560 R3
  • Suporte de plástico para MEGA 2560 R3
  • Módulo WiFi NodeMCU Lua Amica V2 ESP8266
  • Módulo Transceptor Sem Fio 2.4G 1100m NRF24L01 + PA + LNA com Antena LKY67
  • Placa adaptadora 5v-3,3v VCC para NRF24L01 (para melhorar os recursos do NRF24L01)
  • Adaptador AC-DC, 9V, 1A (2, 1 mm x 5, 5 mm)

Além disso, usei o seguinte material:

  • Conectores de PCB de 2 pinos de 5 mm
  • Fios de ligação
  • Breadboard MB-102 (800 contatos)
  • Contatos Mini Solderless Breadboard 170
  • Conjunto de leds e resistências
  • Placas PCB
  • Kit de ferro de solda de estanho
  • Pistola de cola
  • Metacrilato transparente
  • Sino

Etapa 2: como conectar e programar Node01 e Node02 (estações escravas)

Como conectar e programar Node01 e Node02 (estações escravas)
Como conectar e programar Node01 e Node02 (estações escravas)
Como conectar e programar Node01 e Node02 (estações escravas)
Como conectar e programar Node01 e Node02 (estações escravas)

Para programar o sketch "SlaveSation.ino", precisei da biblioteca RF24 e da biblioteca RF24 Network.

No fluxograma acima você pode ver a lógica da estação sensora e as mensagens trocadas entre uma estação sensora escrava e a mestre.

Antes de carregar o esboço, você deve configurar o endereço do nó escravo em formato octal

const uint16_t this_node = 01; // Endereço do nosso nó em formato octal (escravo): 01, 02, 03 …

O significado dos leds em cada estação escrava é o seguinte:

  • Led azul. Ele ficará ligado enquanto o pino do sensor PIR estiver alto.
  • Led verde. Ele estará ligado quando o alarme for conectado.

Etapa 3: como conectar e programar o Node00 (estação mestre)

Como conectar e programar o Node00 (estação mestre)
Como conectar e programar o Node00 (estação mestre)
Como conectar e programar o Node00 (estação mestre)
Como conectar e programar o Node00 (estação mestre)
Como conectar e programar o Node00 (estação mestre)
Como conectar e programar o Node00 (estação mestre)

Na estação Node00 podemos encontrar duas placas diferentes:

  • Placa MEGA 2560 R3. Este dispositivo é usado para receber mensagens da estação de escravos quando um movimento é detectado usando comunicação sem fio. Ele ativará uma campainha quando um movimento for detectado e o alarme for conectado. Para parar a campainha basta desconectar o modo de alarme. Além disso, ele envia para a estação de escravos mensagens de NodeMCU para habilitar ou desabilitar a detecção de movimento, para acender sempre as luzes, para apagar sempre as luzes, …
  • Placa NodeMCU Lua Amica V2 ESP8266. Ele funciona como um Wifi Web Server para transmitir e receber comandos de um local remoto usando uma página da Web em um telefone celular. Além disso, envia mensagens de e-mail quando um movimento é detectado e o modo de alarme está ativado.

Ambos os dispositivos são programados para se comunicarem em uma configuração Mestre (NodeMCU) / Escravo (MEGA) por meio do protocolo serial síncrono I2C usando a Wire Library. O protocolo I2C envolve o uso de duas linhas para enviar e receber dados: um pino de relógio serial (SCL) e um pino de dados serial (SDA) através do qual os dados são enviados entre os dois dispositivos.

Como você pode ver no desenho, os dois pinos para a comunicação I2C na placa MEGA 2560 R3 são:

  1. SDA -> pino 20 SDA
  2. SCL -> pino 21 SCL

e os outros no NodemMCU são:

  1. SDA -> pino digital 1
  2. SCL -> pino digital 2

Antes de carregar o esboço para o ESP8266, você deve instalar a placa ESP8266. Para fazer isso, você deve inserir "https://arduino.esp8266.com/stable/package_esp8266com_index.json" em “URLs adicionais do gerenciador de placa” na janela de preferências no IDE do Arduino. Depois disso, você deve abrir o gerenciador de placas e instalar "esp8266"

Eu uso um adaptador de fonte de alimentação externa (9V, 1A) para a placa MEGA 2560 R3 (conector de alimentação DC, 2, 1mm x 5, 5 mm) e eu conecto a placa NodeMCU ao pino 3V3 na placa MEGA.

Etapa 4: WifiWebServer (NodeMCU na estação mestre)

WifiWebServer (NodeMCU na estação mestre)
WifiWebServer (NodeMCU na estação mestre)
WifiWebServer (NodeMCU na estação mestre)
WifiWebServer (NodeMCU na estação mestre)

O esboço carregado no NodeMCU (Node00 ou estação mestre) é configurado como um WebServer conectado à sua rede wi-fi doméstica. É possível acessar remotamente se você configurar o encaminhamento de porta em seu roteador.

Antes de carregar o esboço WifiWebServerV3.ino no NodeMCU, você deve fazer o seguinte:

  1. Atualize a porta que você vai configurar em seu roteador (encaminhamento de porta) para acessar remotamente o NodeMCU
  2. Atualize o usuário e a senha para acessar sua rede wi-fi doméstica
  3. Atualize o login e a senha de sua conta do Gmail para enviar e-mails quando um movimento for detectado e o alarme for conectado
  4. Atualize o endereço de e-mail onde você receberá os e-mails

Para atualizar o usuário, a senha e a porta que o servidor usará para ouvir, você deve pesquisar o seguinte código no esboço WifiWebServerV3.ino e atualizá-lo:

const char * ssid = "*** seu ssid ***";

const char * password = "*** sua senha ***"; Servidor WiFiServer (80);

Para atualizar o endereço de e-mail onde você receberá os e-mails, você deve pesquisar o seguinte código e atualizá-lo:

const char * to_email = "*** endereço de e-mail onde você receberá a mensagem ***";

Para atualizar o usuário e a senha de sua conta do Gmail para receber e-mails, você deve pesquisar o seguinte código no arquivo "Gsender.h" e atualizá-lo:

const char * EMAILBASE64_LOGIN = "*** seu endereço de e-mail codificado em BASE64 ***";

const char * EMAILBASE64_PASSWORD = "*** sua senha codificada em BASE64 ***"; const char * FROM = "*** seu endereço de e-mail ***";

Para codificar ou decodificar dados em BASE64, usei www.base64encode.org

Se precisar de mais informações sobre como enviar e receber e-mails com o ESP8266 há um "Instrutível" sobre ele aqui

Depois de fazer isso, você pode testar a conexão em seu roteador. Se o dispositivo estiver conectado, você deve reservar o endereço IP atribuído a este dispositivo. Além disso, é uma boa ideia falar com seu provedor de Internet para definir um endereço IP estático em seu roteador.

Para acessar a página da web perto do seu roteador wi-fi, basta digitar o endereço IP local atribuído pelo seu roteador seguindo a porta que você está usando em um navegador da web. Por exemplo: 192.168.40.15:800. Se você tentar acessar remotamente, terá que digitar o endereço IP do seu roteador seguindo a porta que está usando, como acima.

A página da web que mostro nas imagens está programada para controlar uma rede com duas estações escravas.

O sistema está configurado inicialmente para controlar no máximo 5 estações escravas, mas você pode modificá-lo. Basta pesquisar o seguinte código em WifiWebServerV3.ino e SlaveStation.ino

#define number_max_slaves 5

A página da web inicialmente é dividida em 4 seções:

  1. Seção "Estado" onde mostra se o alarme está conectado ou não
  2. Seção "Contador de alarmes" onde mostra o número de detecção de movimento em cada estação escrava
  3. Seção "Alarme" onde você pode conectar ou desconectar (CONECTAR ALARME / DESCONECTAR ALARME) o alarme e zerar o contador de alarmes (RESET CONTADORES)
  4. Seção "Iluminação" onde você pode controlar as luzes de cada estação escrava. Você pode controlar o seguinte:

    • Acenda as luzes em todas as estações escravas / acenda as luzes somente quando um movimento for detectado em todas as estações escravas (REDE SEMPRE LIGADA / REDE QUANDO MOVIMENTO)
    • Altere o tempo em minutos em que as luzes estão acesas para cada estação escrava (NODExx ON 1 MINUTE / NODEXX ON 2 MINUTE)
    • Acenda as luzes de cada estação escrava (NODExx SEMPRE LIGADO)
    • Ligue as luzes para cada estação escrava apenas quando um movimento for detectado (NODExx_MOV)

Você não precisa mudar nada porque vai funcionar independentemente do nome das estações escravas que você configurar. Além disso, ele detectará automaticamente o número de estações escravas conectadas na rede.

Claro, você pode baixar o esboço e modificar facilmente o código necessário para mostrar sua própria página de controle da web.

Etapa 5: desde o início …

Aqui estão as etapas que você deve seguir para construir sua rede:

  1. Compre todo o material seguindo a lista que apresento na "Etapa 1"
  2. Conecte os componentes seguindo o desenho que você pode baixar na "Etapa 2" e na "Etapa 3"
  3. Construa caixas para cada estação escrava e a estação mestre. Eu construí caixas de metacrilato.
  4. Configure cada estação escrava:

    Baixe e carregue o sketch "SlaveStation.ino" em uma placa MEGA 2560 R3. Você só precisa editar o esboço e atualizar o endereço da estação escrava como você pode ver na "Etapa 2"

  5. Configure a estação mestre:

    • Baixe e carregue o sketch "SlaveStation.ino" em um MEGA 2560 R3. Você não precisa mudar nada seja qual for o número de nós escravos de sua rede. Inicialmente, o esboço é configurado para no máximo 5 estações escravas.
    • Baixe e carregue o esboço "WifiServerV3.ino" no NodeMCU. Você deve atualizar o esboço seguindo as instruções na "Etapa 4"
  6. Configure seu roteador para acessar remotamente o NodeMCU (encaminhamento de porta, IP estático …)

Recomendado: