El ESP-12 va a estar conectado a Internet mediante wifi y, uilizando un bot de telegram, apagará y encenderá los LEDs. Los comandos serán los mismos que en los proyectos anteriores.
De momento queda aparcado.
Pongo los códigos del ESP-12 que funcionan con el bot. No se si a otras personas les funcionará porque hace algún tiempo que lo hice y casi he olvidado el procedimiento.
En cualquier caso, cuando lo retome haré un bot nuevo porque voy a compartir sus códigos.
Creo que quien lo utilice debería hacer lo que yo y conectar el ESP-12 a una red de invitados para que no pueda acceder a la LAN.
Está sacado de otro proyecto, ya no recuerdo de donde lo saqué, pero será sencillo encontrarlo con los comentarios que tiene. Recuerdo que estaba bien documentado y me costó poco hacerlo funcionar.
Código:
//Alarma con esp8266 Nodemcu mini y sensor radar RCWL-0516
//Activación y notificación con Telegram
// ¡¡¡¡¡¡USAR CON LIBRERIA ARDUINOJSON VERSION 5.13.5!!!!!
//En IDE ir a Programa->Incluir librería->Gestionar librerias->Arduinojson->seleccionar version
//
//
/*
* https://forum.arduino.cc/index.php?topic=578384.0
* http://www.jopapa.me/telegramesp8266.html
* http://www.jopapa.me/alarmamicroondas2.html
*/
/*
* imbita2 ya le da la IP 192.168.1.188 al ESP8266
*/
/*
* Este funciona bien
* Escribiendo en el chat On
* responde:Alarma activada y cada 1/2 segundo escribe Alarma en bibilioteca
* Escribiendo en el chat Off
* responde Alarma desactivada
*/
#include "CTBot.h" //Libreria para Telegram version 1.4.0
CTBot myBot;
String ssid = "imbita2";
String pass = "qwertyuiop";
//Poner tu Telegram BOT TOKEN
String token = "1005110195:AAHskbRUYrXig7Hy5nqbguJLeXS6zfnG_M4";
boolean alarma = false;
boolean activa = false; //Estado de la alarma
long id=14322944; //chat_id
void setup() {
Serial.begin(115200);
myBot.wifiConnect(ssid, pass);
myBot.setTelegramToken(token);
pinMode(2,OUTPUT); //LED que confirma alarma activa
pinMode(D3, INPUT); //Para leer el OUT del RCWL-0516
digitalWrite(2, HIGH); //LED apagado
// ¿Todo va bien?
if (myBot.testConnection())
Serial.println("\nConexion OK");
else
Serial.println("\nConexion fallida");
}
void loop() {
// almacena mensaje telegram recibido
TBMessage msg;
myBot.getNewMessage(msg);
if ((msg.text)=="On"){
digitalWrite(2, LOW);
activa = true;
myBot.sendMessage(msg.sender.id, "Alarma activada");
}
if ((msg.text)=="Off"){
digitalWrite(2, HIGH);
activa = false;
myBot.sendMessage(msg.sender.id, "Alarma desactivada");
}
alarma = digitalRead(D3);
if ((alarma == HIGH) && (activa == true)) {
myBot.sendMessage(id, "Alarma en biblioteca");
delay(500); //evita repetición notificación
}
delay(50);
}
No hay comentarios:
Publicar un comentario