Tabla de contenido:
2025 Autor: John Day | [email protected]. Última modificación: 2025-01-13 06:57
En este tutorial, le mostraré cómo detectar el evento de apertura de la puerta y enviar una notificación a través de Gmail usando Arduino Uno.
Si eres un principiante, puedes aprender sobre wifi y sensor en Arduino - WiFi y Arduino - tutoriales de sensor de puerta.
¡Empecemos!
Detección de eventos de apertura de puertas El sensor magnético que utilicé incluye dos partes: sensor e imán. Cuando dos partes están próximas, el pin de salida del sensor es ALTO; de lo contrario, el pin de salida es BAJO. Aprovechando esta característica, instalé una parte del sensor en la hoja de la puerta y la otra en el marco de la puerta. Al verificar el estado del pin de salida, podemos detectar cuándo se abre la puerta y luego hacer una alerta o enviar una notificación.
Evento de manejo
Cuando ocurre el evento de apertura de la puerta, se envía una notificación a través de Gmail.
Paso 1: Cosas que necesitamos
1. Arduino UNO o Genuino UNO
2. PHPoC Shield para Arduino
3. Sensor magnético
Paso 2: Montaje
1. Apile PHPoC Shield en Arduino.
2. Conecte el cable LAN al blindaje para Ethernet.
3. Cableado de clavijas entre Arduino y Sensor.
---- 5v -------- pin rojo.
---- A0 ------- pin negro.
Paso 3: instale este juego en la puerta
1. Coloque la parte del sensor, el conjunto Arduino (incluido el protector PHPoC) al marco de la puerta
2. Coloque la parte del imán en la hoja de la puerta.
3. Potencia Arduino
4. Conéctese a Internet mediante un cable LAN o una llave USB Wifi.
Paso 4: descargue e instale la biblioteca en Arduino
Instale PHPoC y la biblioteca ezButton
Paso 5: Código Arduino
#incluir
# incluir correo electrónico PhpocEmail; Botón ezButton (A0); // crea un objeto Button que se adjunta al pin A0; configuración vacía () {Serial.begin (9600); Phpoc.begin (PF_LOG_SPI | PF_LOG_NET | PF_LOG_APP); //Phpoc.beginIP6 (); descomente esta línea si va a utilizar IPv6 button.setDebounceTime (100); // establece el tiempo de supresión de rebotes en 100 milisegundos} void loop () {button.loop (); // DEBE llamar primero a la función loop () if (button.isPressed ()) {// si la puerta está abierta… email.setOutgoingServer ("smtp.gmail.com", 587); email.setOutgoingLogin ("ID de Google", "Contraseña de Google"); email.setFrom ("Dirección de Gmail", "Nombre del remitente"); email.setTo ("Dirección de correo electrónico del destinatario", "Nombre del destinatario"); email.setSubject ("La puerta está abierta. [# 905]"); // Asunto del correo // Contenido del correo email.beginMessage (); email.println ("# 905"); email.println (""); email.println ("La puerta está abierta"); email.endMessage (); if (email.send ()> 0) // Enviar correo electrónico Serial.println ("Su correo se ha enviado correctamente"); else Serial.println ("Su correo no se envía"); } else if (button.isReleased ()) {// si la puerta está cerrada… // Escribe los códigos de la misma manera}}
Paso 6: Referencias de funciones
- círculo()
- configuración()
- Serial.begin ()
- Serial.println ()
- demora()
- en bucle
- mientras que bucle
- si mas
- String.toInt ()