Tabla de contenido:

Bot de alarma de llama de Telegram: 5 pasos
Bot de alarma de llama de Telegram: 5 pasos

Video: Bot de alarma de llama de Telegram: 5 pasos

Video: Bot de alarma de llama de Telegram: 5 pasos
Video: Conecté la alarma con telegram. Te cuento cómo lo armé. 2024, Mes de julio
Anonim
Bot de alarma de llama de Telegram
Bot de alarma de llama de Telegram

En este artículo presentaré un proyecto de IoT que permite detectar la llama y enviar una notificación al Telegram del usuario.

Lo que necesitarás:

  • Módulo sensor de llama
  • Microcontrolador NodeMCU ESP8266
  • Fuente de alimentación
  • Wifi
  • Dispositivo de salida con telegrama

Paso 1: hardware

Hardware
Hardware
Hardware
Hardware

Módulo sensor de llama Este módulo contiene un fototransistor y una electrónica de acondicionamiento de señales. Un fototransistor conduce más corriente eléctrica cuando se expone a la luz. La física nos enseñó que la luz (visible) se compone de todos los colores, desde el rojo hasta el violeta. Al recubrir el fototransistor con epoxi negro, se vuelve más sensible al rojo o incluso invisible debajo del rojo o el infrarrojo. Curiosamente, la llama emite radiación infrarroja. Por lo tanto, cuando este sensor ve una llama, conduce más corriente. El NodeMCU es una placa compatible con Arduino que cuenta con el ESP8266 en su núcleo. Se hizo popular porque es un microcontrolador listo para WiFi en sí mismo, sin necesidad de un Arduino. El objetivo de este artículo es mostrar todos los pines y placas de NodeMCU que están disponibles actualmente. Tenga en cuenta que al programar estas placas utilizando el núcleo ESP en Arduino IDE, se utilizan los números GPIO en lugar de lo que está en la placa.

Paso 2: Conexión

Conexión
Conexión

Sensor conectado a GPIO0 para interrupciones.

Las interrupciones son útiles para hacer que las cosas sucedan automáticamente en programas de microcontroladores y pueden ayudar a resolver problemas de sincronización. Con las interrupciones, no es necesario verificar constantemente el valor actual del pin. Cuando se detecta un cambio, se activa un evento: se llama a una función. Esta función se denomina rutina de servicio de interrupción (ISR). Cuando ocurre una interrupción, el procesador detiene la ejecución del programa principal para ejecutar una tarea y luego vuelve al programa principal

Paso 3: Telegram Bot

Bot de Telegram
Bot de Telegram

Los bots son aplicaciones de terceros que se ejecutan dentro de Telegram. Los usuarios pueden interactuar con los bots enviando mensajes, comandos y solicitudes en línea. Podemos controlar nuestros bots a través de las API HTTP proporcionadas por Telegram.

Un bot de Telegram es una aplicación alojada en un servidor (aquí es ESP8266) que usa la API del bot de Telegram para conectarse a los clientes de Telegram Messenger. Una gran ventaja de los bots de Telegram es que no tienen requisitos de instalación y se ejecutan sin problemas en todas las computadoras o plataformas móviles donde se ejecuta Telegram Messenger. Configure Telegram Bot Instale Telegram en su computadora portátil o teléfono y busque BotFather. A través de BotFather podemos crear un nuevo bot. Después de crear un nuevo bot, tenemos que anotar el token que es la clave de interacción entre el dispositivo y la API del bot de Telegram.

Paso 4: software

Descarga la biblioteca de Telegram Bot

Abra Arduino IDE, vaya a "Sketch", seleccione "Incluir biblioteca" y haga clic en "Agregar biblioteca. ZIP".

#incluir

#include #include // Inicialice la conexión Wifi al enrutador char ssid = "wifi"; // SSID (nombre) char contraseña = "12345678"; // su clave de red int status = 0; // Inicializar Telegram BOT #define BOTtoken "1234567890: AAEsdxDfSL57kpfZz1bduD9j4fddsiyfg" // token de @BotFather #define BOTname "ESP8266 FireBot" // nombre de bot #define BOTusername "esp8266firename BOTBOT" // bot int Bot_mtbs = 1000; // tiempo de actualización largo Bot_lasttime; bool Start = falso; bool isfire = falso; bool haveid = falso; int var = 0; ID de cadena; void Bot_EchoMessages () {for (int i = 1; i Bot_lasttime + Bot_mtbs) {bot.getUpdates (bot.message [0] [1]); Bot_EchoMessages (); // responder al mensaje con Echo Bot_lasttime = millis (); } alarma_si_fuego (); } void handleInterrupt () {Serial.println ("Interrupción detectada"); isfire = true; }

Recomendado: