VISIÓN DE CONJUNTO
Después de construir nuestro nuevo cobertizo, pasó a llover bastante duro algún día. Por supuesto, olvidé cerrar las ventanas y el agua entró.
Así que decidí hacer un monitor de ventana WiFi al que pueda acceder desde el interior de la casa y verificar si se dejan ventanas abiertas cuando comienza a llover.
Dado que nuestro cobertizo está lo suficientemente cerca de nuestra casa, se puede acceder a la casa desde el interior del cobertizo.
Usaremos la placa NodeMCU y un sensor de evitación de obstáculos IR de 4 canales. Si eres nuevo en el NodeMCU, asegúrate de revisar el Introducción al tutorial de NodeMCU lo hicimos antes.
El cobertizo solo tiene dos ventanas que se abren, así que usaré solo 2 canales, pero si lo desea, puede usar los otros dos para puertas o algo así.
CONEXIONES
La placa NodeMCU ya tiene WiFi integrada y puede proporcionar 3.3V a la placa IR. Solo necesitamos un pin por canal, ya que el panel IR se ocupa del resto.
Los pines D0 y D1 del NodeMCU están conectados a IN1 e IN2
3.3V y GND del NodeMCU están conectados a los pines correspondientes de la placa IR.
EL CÓDIGO
La placa IR devuelve un valor de ALTO en los pines IN1 e IN2 si no hay nada colocado en frente de los sensores. Así que coloqué los sensores de manera que cuando las ventanas están cerradas se sientan frente a los sensores.
Tenemos el NodeMCU revise los pines D0 y D1 para ver si son ALTOS o BAJOS.
ALTO significa que la ventana está abierta y BAJA significa que está cerrada.
Luego creamos una página web que muestra cada ventana como un botón de un color diferente (Rojo para abierto y Verde para cerrado).
Como siempre, para obtener más información sobre el tutorial y la explicación del código, mire nuestro video tutorial.
/ * NodeMCU Open o Proyecto de monitor de Windows cerrado Creado por Yvan / https: // Inteligente - Bits . com Este código es en el dominio público ... Puede: copiarlo, usarlo, modificarlo, compartirlo o simplemente ignóralo ! Gracias ! * / #include "ESP8266WiFi.h" // Biblioteca WiFi para NodeMCU const char * sid = "xxxxxxxx" ; // Nombre de su red WiFi const char * contraseña = "xxxxxxxx" ; // Contraseña de la red WiFi Servidor WiFiServer ( 80 ); // Definir el puerto del servidor web void setup () { De serie . empezar( 115200 ); retrasar( 10 ); // Conéctate a la red WiFi De serie . impresión ( "Conectado a " ); De serie . println (ssid); Wifi . comenzar (ssid, contraseña); // Espere hasta que esté conectado a WiFi mientras (Wifi . estado() ! = WL_CONNECTED) { retrasar( 250 ); De serie . impresión ( "." ); } // Confirmación de que WiFi es conectado De serie . println ( "" ); De serie . println ( "WiFi conectado" ); // Inicie el servidor web servidor . empezar(); De serie . println ( "Servidor web iniciado" ); // Mostrar dirección IP De serie . impresión ( "Puede conectarse al servidor aquí:" ); De serie . impresión ( "http: //" ); De serie . impresión (Wifi . localIP ()); De serie . println (); De serie . println (); } void loop () { // Comprobar Si alguien es conectado a la página web Cliente WiFiClient = servidor . disponible(); Si ( ! cliente) { regreso ; } // Crear página web cliente . println ( "HTTP / 1.1 200 OK" ); // Encabezado HTML cliente . println ( "Content-Type: text / html" ); cliente . println ( "" ); cliente . println ( "" ); cliente . println ( "" ); // Inicio de HTML cliente . println ( "" ); cliente . println ( "" ); // Actualizar página web cada 5 segundos cliente . println ( "" ); cliente . println ( "
); cliente . println ( "body {background-color: # 8baee8;}" ); // Establecer color de fondo cliente . println ( "" ); cliente . impresión ( "ESTADO DE WINDOWS DE SHED:" ); cliente . println ( " " ); Si ( ! digitalRead (D0)) { // Si ventana # 1 es color de conjunto cerrado a Verde cliente . println ( " " ); } más { // Si ventana # 1 está abierto establece color a rojo cliente . println ( " " ); } Si ( ! digitalRead (D1)) { // Si ventana # 2 es el color de conjunto cerrado a Verde cliente . println ( " " ); } más { // Si ventana # 2 está abierto establecer color a rojo cliente . println ( " " ); } cliente . println ( "" ); // Fin de HTML retrasar( 10 ); }
DESCARGAR
Copie el código de Croquis anterior que desea usar arriba en su software Arduino IDE para programar su Arduino.
Para instalar la placa NodeMCU en Arduino IDE, deberá dirigirse a:
ARCHIVO -> PREFERENCIAS ->
y agregue la siguiente información en “URLs del administrador de juntas adicionales:”
http://arduino.esp8266.com/stable/package_esp8266com_index.json
Mira esto tutorial aquí para obtener más información y ver el video tutorial para ver exactamente cómo instalar el software de la placa NodeMCU dentro de Arduino IDE.