IOT - detector de movimiento con notificación por correo electrónico con NodeMCU, PIR, Carriots, WIFI, PCB, carcasa y mucho más. (5 / 7 paso)

Paso 5: El código

CÓDIGO:

Bueno veo ha llegado lejos, tienes una idea sobre el hardware, el esquema y el PCB, como caso muy bien. Ahora veamos la magia intangible que hace todo este trabajo.

Aquí escribimos el código en el código utilizando el IDE de Arduino para hacer NodeMCU trabajar con un relé, sensor de movimiento PIR y utilizar IOT plataforma carriots sobre WIFI

Chicos, que pasé un largo tiempo de problemas con este proyecto. había varios problemas. Voy a enumerar algunos de ellos para ayudarle a saltar quemando el aceite de la medianoche.

1) Compruebe que la NodeMCU de los pernos si están dando la entrada-salida correcto como están asumiendo, por ejemplo, permite decir que usted no está tomando el pin 4 (GPIO) como un pin de entrada. Ahora por defecto que este pin debe leer... bajo derecho Recuerde pero por alguna razón Lee alta incluso después de inicializar el pin de entrada. a prueba!!!! las consecuencias de las pruebas no son largos y no tan divertido.

2) utilizando un método directo de get y post HTTP en lugar de utilizar una función de visualización por BLYNK o Thinger.io. Mi profundo respeto a estos chicos para la construcción de plataformas y servicios increíbles.

Mis 2 centavos: la razón es que el PIR salida permanece alta durante un par de envíos y usted necesita traer retraso es necesario para evitar el envío de múltiples correos electrónicos. con algunos servicios como BLYNK este retraso causa un problema. como es necesaria para llamar a esa función una vez es de 6 o 7 seg. Esta es mi experiencia, puedo equivocarme.

3) una vez satisface la condición de if loop, llamar a una función, en lugar de escribir todo con el lazo. Esto aporta claridad del código y ayuda en la resolución de problemas. Otra vez este es mi sentimiento.

Usted podría ajustar la sensibilidad del PIR para reducir el tiempo que permanece alta. algo que usted puede considerar...

Diviértete haciendo este dispositivo de Internet...

escrito por Junaid Ahmed

Este es un software libre, protegido por la licencia de creative commons

Esto es para como utilizar y puede haber otros problemas y errores.

#include

#include "ESP8266WiFi.h"

const char * ssid = "NETGXXXXX";

const char * clave = "XXXXXXXXX";

const char * servidor = "api.carriots.com";

const String APIKEY = "1e2f6920a92e3ca079bf60329d7871d69b3881df88df9b2c44eXXXXXXXXXX"; Sustituir con su apikey Carriots

DISPOSITIVO de cadena const = "luz / / reemplazar con el id_developer del dispositivo

int ledpin = 4;

pirpin INT = 12;

int pirstate = bajo;

int val = 0;

void setup() {}

Serial.Begin(115200);

Delay(10);

pinMode(ledpin,OUTPUT);

pinMode(pirpin,INPUT);

Serial.println("calibrating");

para (int i = 0; i < 20; i ++) {}

Serial.Print(".");

Delay(1000);

}

iniciar wifi

Serial.println();

Serial.println();

Serial.Print ("conectarse");

Serial.println(SSID);

WiFi.begin (ssid, contraseña);

mientras que (WiFi.status()! = WL_CONNECTED) {}

Delay(500);

Serial.Print(".");

}

Serial.println("");

Serial.println ("Wi-Fi conectado");

Serial.println ("dirección IP:");

Serial.println(WiFi.localIP());

}

función para hablar con la plataforma Carriot

void sendStream()

{

String txt = ""; Texto para enviar

Si (pirstate == HIGH) {/ / alarma

txt = "Detecta movimiento;"

} else {/ / alarma en

txt = "Algo mal";

}

Serial.println(txt);

Serial.println(Val); / / para fines de depuración

Cliente WiFiClient;

const int httpPort = 80;

Si (client.connect (servidor, 80)) {/ / si hay una conexión exitosa

Serial.println(F("Connected"));

Construir el campo de datos

String json = "{\"protocol\":\"v2\",\"device\":\""+DEVICE+"\",\"at\":\"now\",\"data\":{\"light\":\""+txt+"\ "}}";

Realizar una solicitud HTTP

Client.println ("POST /streams HTTP/1.1");

Client.println ("Host: api.carriots.com");

Client.println ("Accept: aplicación/json");

Client.println ("User-Agent: Arduino-Carriots");

Client.println ("Content-Type: aplicación/json");

Client.Print ("carriots.apikey:");

Client.println(APIKEY);

Client.Print ("Content-Length:");

int thisLength = json.length();

Client.println(thisLength);

Client.println ("conexión: cerrar");

Client.println();

Client.println(JSON);

}

Else {}

Si no tienes una conexión con el servidor:

Serial.println (F ("Conexión fallida"));

}

}

void loop() {}

Val = digitalRead(pirpin);

Serial.println(Val);

if(Val == High) {}

digitalWrite(ledpin,HIGH);

Si (pirstate == LOW) {}

Serial.println ("movimiento detectado");

pirstate = alto;

Serial.println (F ("secuencia de enviar"));

sendStream();

Delay(30000);

}

/ * {while(client.available())}

String linea = client.readStringUntil('\r');

Serial.Print(line);

Delay(30000);

} */

}

Else {}

digitalWrite(ledpin,LOW);

if(pirstate == High) {}

Serial.println ("movimiento detectado correo enviado");

pirstate = bajo;

}

}

}

Artículos Relacionados

BRICOLAJE de IoT WiFi detector de movimiento con notificación por correo electrónico con sensor PIR y ESP8266

BRICOLAJE de IoT WiFi detector de movimiento con notificación por correo electrónico con sensor PIR y ESP8266

En este proyecto estoy utilizando el módulo de WiFi de ESP8266 y detector de movimiento PIR sensor para recibir alertas de correo electrónico si alguien entra en la habitación mientras yo estoy lejos. Estoy usando GadgetKeeper plataforma en la nube p
¿Campana de notificación de correo electrónico

¿Campana de notificación de correo electrónico

deseo el equipo tenía todas las campanas y silbidos?  Se puede llegar al menos a medio camino con este proyecto, una campana con USB y - controlada que puede ser utilizada para la notificación por correo electrónico o una manera de otras cosas que re
Publicar en BlogSpot por correo electrónico

Publicar en BlogSpot por correo electrónico

puedes publicar en tu blog de BlogSpot por correo electrónico. Por desgracia, sólo puede enviar mensajes de texto ya que no acepta imágenes con el correo electrónico. También puede encontrar esta información en la sección de ayuda de Blogger.Paso 1:
Cómo enviar archivos grandes por correo electrónico

Cómo enviar archivos grandes por correo electrónico

Seguimos en contacto con nuestro cliente a través de correo electrónico en la mayoría de los casos. Aunque varias herramientas de chat están disponibles en la actualidad, correo electrónico pagar todavía un papel importante durante el trabajo. A vece
Gmail Buddy - notificaciones por correo electrónico más inteligentes

Gmail Buddy - notificaciones por correo electrónico más inteligentes

¿Qué es amigo de Gmail?Es un dispositivo de compañero que nunca podrás perder ningún email importante. Comprueba tu bandeja de entrada (cada 15 segundos) para nuevos correos y le notifica con un dulce resplandor (Color rojo). Cuando usted ha comproba
Cosa de Sparkfun: Cómo activar IFTTT evento y enviar más datos por correo electrónico

Cosa de Sparkfun: Cómo activar IFTTT evento y enviar más datos por correo electrónico

Yo estaba jugando con Sparkfun ESP8266 cosa y IFTTT fabricante de canal. Quería desencadenar un evento IFTTT y luego enviar un correo electrónico a mí mismo con datos adicionales.Por ejemplo, activar Inicio evento de seguridad, envío de datos extras,
Suplantación de identidad por correo electrónico

Suplantación de identidad por correo electrónico

Email Spoofing también llamado falsificación de correo electrónico`Visita mi sitio en http://carbon14.ueuo.comPaso 1: ping En primer lugar Seleccione un dominio y asegúrese de que tiene servicio de correo electrónico y seguridad bajoentonces gotoInic
Registrador de temperatura ESP8266 con alarma de correo electrónico

Registrador de temperatura ESP8266 con alarma de correo electrónico

En este tutorial mostramos cómo construir registrador de temperatura DS18B20 ESP8266 con notificación de alarma por correo electrónico. Lo conectará a una nube de EasyIoT. Sensor es Plug and Play - no configuración es necesaria para agregar el sensor
Alarma de seguridad para el hogar o un Detector de movimiento con LCD y Sensor de Arduino,P.I.R.

Alarma de seguridad para el hogar o un Detector de movimiento con LCD y Sensor de Arduino,P.I.R.

Hola todo el mundo,Hoy voy a mostrarles como hacer una alarma de seguridad para el hogar interesante, maravilloso, barato. Este Gadget te ayuda a proteger su casa contra los ladrones. En este proyecto voy a utilizar un Freeduino Board(Arduino Compati
Alarma antirrobo con envío de SMS y correo electrónico desde su dispositivo de IoT

Alarma antirrobo con envío de SMS y correo electrónico desde su dispositivo de IoT

Teléfono las notificaciones son una buena manera de conseguir alertó sobre unactividad inusual. Cuando estamos desarrollando una solución de Internet siempre es bueno enviar SMS al teléfono del usuario para ciertas actividades como los smartphones es
LinkIT una IoT: envío de correo electrónico alerta

LinkIT una IoT: envío de correo electrónico alerta

Este es mi tercer instructivo de mi serie de Linkit una IoT. Revise mi instructables anterior porque este instructables es una continuación de la misma.Aquí está el enlace:1 º Linkit IoT un Instructable2 º Linkit IoT un InstructableEn este tutorial v
Luz de notificación de nuevo correo electrónico

Luz de notificación de nuevo correo electrónico

En este Instructable construimos un divertido gadget de escritorio para que le avise cuando llegue un nuevo correo electrónico en su bandeja de entrada.Paso 1: materialesMateriales:Frambuesa Pi (RadioShack #277-196)Protoboard (RadioShack #276-168)res
Correo electrónico con Intel Edison (alarma de intruso)

Correo electrónico con Intel Edison (alarma de intruso)

Si tienes un dispositivo habilitado para web, necesita web trucos activados! Una de muchas cosas que hacer en línea con frecuencia es utilizar nuestro correo electrónico. Ya sea en el trabajo, en un tablet en la tienda de café, o directamente a nuest
Partículas fundamentales: Enviar un correo electrónico cuando se detecta movimiento

Partículas fundamentales: Enviar un correo electrónico cuando se detecta movimiento

Este instructable es parte de una serie de instrucatbles, y si estás siguiendo la serie en el instrucatble pasado veíamos cómo hacer un sensor de movimiento a internet usando un núcleo de partículas. En este instructable voy a mostrar cómo ese circui