Tabla de contenido:

Red de estaciones de sensores para control de iluminación y seguridad: 5 pasos (con imágenes)
Red de estaciones de sensores para control de iluminación y seguridad: 5 pasos (con imágenes)

Video: Red de estaciones de sensores para control de iluminación y seguridad: 5 pasos (con imágenes)

Video: Red de estaciones de sensores para control de iluminación y seguridad: 5 pasos (con imágenes)
Video: CÓMO INSTALAR 3 TIPOS DIFERENTES DE DETECTORES DE MOVIMIENTO PIR 2024, Mes de julio
Anonim
Red de estaciones de sensores para control de iluminación y seguridad
Red de estaciones de sensores para control de iluminación y seguridad
Red de estaciones de sensores para control de iluminación y seguridad
Red de estaciones de sensores para control de iluminación y seguridad
Red de estaciones de sensores para control de iluminación y seguridad
Red de estaciones de sensores para control de iluminación y seguridad

Con esta red de estaciones de sensores configurada en modo maestro / esclavo, podrá realizar control de iluminación y seguridad en su hogar. Estas estaciones de sensores (Node01, Node02 en este proyecto) están conectadas a una estación maestra (Node00) conectada a su red wifi local. He instalado el Node01 en mi trastero y el Node02 en mi garaje controlando luces y movimientos. La estación maestra está instalada en nuestro comedor conectado a nuestro enrutador wifi. He instalado el timbre en el garaje y un pequeño timbre en la estación maestra para que suene cuando alguna estación sensora de la red detecte un movimiento.

Las principales características de la red son:

  • Es posible configurar una red con más de dos estaciones de sensores (estaciones esclavas) (Nodo01, Nodo02, Nodo03,….)
  • Debido al uso de transceptores inalámbricos con antena, la red puede cubrir un área amplia
  • Puedes controlar toda la red desde un teléfono móvil
  • Envíe un correo electrónico (cuenta de Gmail) cuando se detecte un movimiento y el modo de alarma esté habilitado. Entonces, si habilita las notificaciones push de Gmail en su móvil, sabrá cuando se detecte un movimiento en su red.

para fines domóticos:

  • Encienda las luces cuando se detecte un movimiento / encienda siempre las luces (para toda la red o para cada estación esclava)
  • Cambie el tiempo en minutos en que las luces están encendidas después de que se haya detectado un movimiento para cada estación esclava

por motivos de seguridad:

  • Activar y desactivar el modo de alarma
  • Cada estación esclava puede enviar una señal a una estación maestra (Nodo00) cuando el modo de alarma está habilitado y se detecta movimiento
  • La estación maestra puede activar un timbre y enviar un correo electrónico cuando se recibe una de estas señales desde cualquier estación esclava y el modo de alarma está habilitado. La estación maestra (Node00) está conectada a Internet mediante una conexión wifi para controlar todo el sistema mediante un teléfono móvil. Está configurado como WifiWebServer

Paso 1: Lista de material

Lista de material
Lista de material
Lista de material
Lista de material

La lista de material que he usado para construir Node01 y Node02 (estaciones esclavas) es la siguiente:

  • Placa Mega 2560 R3
  • Soporte de plástico para MEGA 2560 R3
  • Sensor PIR HC-SR501
  • Soporte de plástico para HC-SR501
  • Relé de 5V
  • Módulo Transceptor Inalámbrico 2.4G 1100m NRF24L01 + PA + LNA con Antena LKY67
  • Adaptador 8Pin NRF24L01 (para mejorar las características del NRF24L01)
  • Mini fuente de alimentación HLK-PM01 AC DC 220V a 5V

La lista de material para construir el Node00 (estaciones maestras) es la siguiente:

  • Placa Mega 2560 R3
  • Soporte de plástico para MEGA 2560 R3
  • Módulo WiFi NodeMCU Lua Amica V2 ESP8266
  • Módulo Transceptor Inalámbrico 2.4G 1100m NRF24L01 + PA + LNA con Antena LKY67
  • Placa adaptadora VCC 5v-3.3v para NRF24L01 (para mejorar las características del NRF24L01)
  • Adaptador AC-DC, 9V, 1A (2, 1 mm x 5, 5 mm)

Además he utilizado el siguiente material:

  • Conectores para PCB de 2 pines de 5 mm
  • Cables de puente
  • Placa de pruebas MB-102 (800 contactos)
  • Mini protoboard sin soldadura 170 contactos
  • Conjunto de leds y resistencias
  • Placas PCB
  • Kit de soldador de estaño
  • Pistola de pegamento
  • Metacrilato transparente
  • campana

Paso 2: Cómo conectar y programar Node01 y Node02 (estaciones esclavas)

Cómo conectar y programar Node01 y Node02 (estaciones esclavas)
Cómo conectar y programar Node01 y Node02 (estaciones esclavas)
Cómo conectar y programar Node01 y Node02 (estaciones esclavas)
Cómo conectar y programar Node01 y Node02 (estaciones esclavas)

Para programar el boceto "SlaveSation.ino", he necesitado la biblioteca RF24 y la biblioteca de red RF24.

En el diagrama de flujo de arriba puede ver la lógica de la estación de sensores y los mensajes intercambiados entre una estación de sensores esclava y la maestra.

Antes de cargar el boceto, debe configurar la dirección del nodo esclavo en formato octal

const uint16_t this_node = 01; // Dirección de nuestro nodo en formato octal (esclavo): 01, 02, 03…

El significado de los leds en cada estación esclava es el siguiente:

  • Led azul. Estará encendido mientras el pin del sensor PIR esté alto.
  • Led verde. Estará encendido cuando la alarma esté conectada.

Paso 3: Cómo conectar y programar Node00 (estación maestra)

Cómo conectar y programar Node00 (estación maestra)
Cómo conectar y programar Node00 (estación maestra)
Cómo conectar y programar Node00 (estación maestra)
Cómo conectar y programar Node00 (estación maestra)
Cómo conectar y programar Node00 (estación maestra)
Cómo conectar y programar Node00 (estación maestra)

En la estación Node00 podemos encontrar dos tableros diferentes:

  • Placa MEGA 2560 R3. Este dispositivo se utiliza para recibir mensajes de la estación esclava cuando se detecta un movimiento mediante la comunicación inalámbrica. Activará una campana cuando se detecte un movimiento y se conecte la alarma. Para detener el timbre, solo desconecte el modo de alarma. Además envía a la estación esclava mensajes desde NodeMCU para habilitar o deshabilitar la detección de movimiento, encender siempre las luces, apagar siempre las luces,…
  • Placa NodeMCU Lua Amica V2 ESP8266. Funciona como un servidor web Wifi para transmitir y recibir comandos desde un lugar remoto utilizando una página web en un teléfono móvil. Además envía mensajes de correo electrónico cuando se detecta un movimiento y el modo de alarma está habilitado.

Ambos dispositivos están programados para comunicarse entre sí en una configuración Maestro (NodeMCU) / Esclavo (MEGA) a través del protocolo serial síncrono I2C utilizando la biblioteca de cables. El protocolo I2C implica el uso de dos líneas para enviar y recibir datos: un pin de reloj en serie (SCL) y un pin de datos en serie (SDA) a través del cual se envían datos entre los dos dispositivos.

Como puede ver en el dibujo, los dos pines para la comunicación I2C en la placa MEGA 2560 R3 son:

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

y los otros en el NodemMCU son:

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

Antes de cargar el boceto para el ESP8266, debe instalar la placa ESP8266. Para hacerlo, debe ingresar "https://arduino.esp8266.com/stable/package_esp8266com_index.json" en las "URL adicionales del administrador de la placa" en la ventana de preferencias en el IDE de Arduino. Después de eso, debe abrir el administrador de placas e instalar "esp8266"

Utilizo un adaptador de fuente de alimentación externa (9V, 1A) para la placa MEGA 2560 R3 (conector de alimentación CC, 2, 1 mm x 5, 5 mm) y conecto la placa NodeMCU al pin 3V3 en la placa MEGA.

Paso 4: WifiWebServer (NodeMCU en Master Station)

WifiWebServer (NodeMCU en Master Station)
WifiWebServer (NodeMCU en Master Station)
WifiWebServer (NodeMCU en Master Station)
WifiWebServer (NodeMCU en Master Station)

El boceto cargado en el NodeMCU (Node00 o estación maestra) está configurado como un servidor web conectado a la red wifi de su hogar. Es posible acceder de forma remota si configura el reenvío de puertos en su enrutador.

Antes de cargar el boceto WifiWebServerV3.ino en NodeMCU, debe hacer lo siguiente:

  1. Actualiza el puerto que vas a configurar en tu router (reenvío de puertos) para acceder de forma remota al NodeMCU
  2. Actualice el usuario y la contraseña para acceder a la red wifi de su hogar
  3. Actualice el nombre de usuario y la contraseña de su cuenta de Gmail para enviar correos electrónicos cuando se detecta un movimiento y la alarma está conectada
  4. Actualice la dirección de correo electrónico donde recibirá los correos electrónicos.

Para actualizar el usuario, la contraseña y el puerto que el servidor usará para escuchar, debe buscar el siguiente código en el boceto WifiWebServerV3.ino y actualizarlo:

const char * ssid = "*** tu ssid ***";

const char * contraseña = "*** su contraseña ***"; Servidor WiFiServer (80);

Para actualizar la dirección de correo electrónico donde recibirá los correos electrónicos debe buscar el siguiente código y actualizarlo:

const char * to_email = "*** dirección de correo electrónico donde recibirá el mensaje ***";

Para actualizar el usuario y contraseña de su cuenta de Gmail para recibir correos electrónicos debe buscar el siguiente código en el archivo "Gsender.h" y actualizarlo:

const char * EMAILBASE64_LOGIN = "*** su dirección de correo electrónico codificada en BASE64 ***";

const char * EMAILBASE64_PASSWORD = "*** su contraseña codificada en BASE64 ***"; const char * FROM = "*** su dirección de correo electrónico ***";

Para codificar o decodificar datos en BASE64 he usado www.base64encode.org

Si necesita más información sobre cómo enviar y recibir correos electrónicos con el ESP8266, hay un "Instructable" al respecto aquí.

Una vez que pueda hacerlo, puede probar la conexión en su enrutador. Si el dispositivo está conectado, debe reservar la dirección IP asignada a este dispositivo. Además, es una buena idea hablar con su proveedor de Internet para establecer una dirección IP estática en su enrutador.

Para acceder a la página web cerca de su enrutador wifi, solo ingrese la dirección IP local asignada por su enrutador siguiendo el puerto que está utilizando en un navegador web. Por ejemplo: 192.168.40.15:800. Si intenta acceder de forma remota, debe escribir la dirección IP de su enrutador siguiendo el puerto que está utilizando como se indica arriba.

La página web que les muestro en las imágenes está programada para controlar una red con dos estaciones esclavas.

El sistema está configurado inicialmente para controlar 5 estaciones esclavas como máximo, pero puede modificarlo. Solo busque el siguiente código en WifiWebServerV3.ino y SlaveStation.ino

#define number_max_slaves 5

La página web inicialmente se divide en 4 secciones:

  1. Sección "Estado" donde te muestra si la alarma está conectada o no
  2. Sección "Contador de alarmas" donde te muestra el número de detección de movimiento en cada estación esclava
  3. Sección "Alarma" donde se puede conectar o desconectar (CONECTAR ALARMA / DESCONECTAR ALARMA) la alarma y resetear el contador de alarmas (RESTABLECER CONTADORES)
  4. Sección "Iluminación" donde se pueden controlar las luces de cada estación esclava. Puede controlar lo siguiente:

    • Encienda las luces en todas las estaciones esclavas / encienda las luces solo cuando se detecte movimiento en todas las estaciones esclavas (RED SIEMPRE ENCENDIDA / RED CUANDO MOVIMIENTO)
    • Cambie el tiempo en minutos en que las luces están encendidas para cada estación esclava (NODExx ENCENDIDO 1 MINUTO / NODEXX ENCENDIDO 2 MINUTOS)
    • Encienda las luces de cada estación esclava (NODExx SIEMPRE ENCENDIDO)
    • Encienda las luces de cada estación esclava solo cuando se detecte un movimiento (NODExx_MOV)

No tiene que cambiar nada porque funcionará sea cual sea el nombre de las estaciones esclavas que configure. Además, detectará automáticamente el número de estaciones esclavas conectadas en la red.

Por supuesto, puede descargar el boceto y modificar fácilmente el código necesario para mostrar su propia página de control web.

Paso 5: desde el principio …

Estos son los pasos que debe seguir para construir su red:

  1. Compra todo el material siguiendo la lista que te doy en el "Paso 1"
  2. Conecte los componentes siguiendo el dibujo que puede descargar en el "Paso 2" y el "Paso 3"
  3. Construya cajas para cada estación esclava y la estación maestra. He construido cajas de metacrilato.
  4. Configure cada estación esclava:

    Descargue y cargue el boceto "SlaveStation.ino" en una placa MEGA 2560 R3. Solo tienes que editar el boceto y actualizar la dirección de la estación esclava como puedes ver en el "Paso 2"

  5. Configure la estación maestra:

    • Descargue y cargue el boceto "SlaveStation.ino" en un MEGA 2560 R3. No tiene que cambiar nada independientemente del número de nodos esclavos de su red. Inicialmente, el esquema está configurado para un máximo de 5 estaciones esclavas.
    • Descargue y cargue el boceto "WifiServerV3.ino" en el NodeMCU. Tienes que actualizar el croquis siguiendo las instrucciones del "Paso 4"
  6. Configure su enrutador para acceder de forma remota al NodeMCU (reenvío de puertos, IP estática …)

Recomendado: