Cuprins:

Telegram Flame Alarm Bot: 5 pași
Telegram Flame Alarm Bot: 5 pași

Video: Telegram Flame Alarm Bot: 5 pași

Video: Telegram Flame Alarm Bot: 5 pași
Video: IOT Device For Fire Alarm System using ESP32 || Telegram App Notification Alert || Google Maps Link 2024, Iunie
Anonim
Telegram Flame Alarm Bot
Telegram Flame Alarm Bot

În acest articol voi prezenta proiectul IoT care permite să simtă flacăra și să trimită notificări către Telegrama utilizatorului.

De ce veți avea nevoie:

  • Modul senzor de flacără
  • Microcontroler NodeMCU ESP8266
  • Sursa de putere
  • Wifi
  • Dispozitiv de ieșire cu telegramă

Pasul 1: Hardware

Hardware
Hardware
Hardware
Hardware

Modul senzor de flacără Acest modul conține un fototranzistor și electronice de condiționare a semnalului. Un fototranzistor conduce mai mult curent electric atunci când este expus la lumină. Fizica ne-a învățat că lumina (vizibilă) cuprinde toate culorile, de la roșu la violet. Prin acoperirea fototranzistorului cu epoxid negru, devine mai sensibil la roșu sau chiar invizibil sub roșu sau infraroșu. Interesant este că flacăra emite radiații infraroșii. Astfel, atunci când acest senzor vede flacără, el conduce mai mult curent. NodeMCU este o placă compatibilă cu Arduino care prezintă ESP8266 la bază. A devenit popular, deoarece este un microcontroler gata de WiFi de la sine - nu este nevoie de un Arduino. Scopul acestui articol este de a arăta toate pinout-urile și plăcile NodeMCU care sunt disponibile în prezent. Rețineți că atunci când programați aceste plăci folosind nucleul ESP în Arduino IDE, numerele GPIO sunt folosite în locul celor de pe placă.

Pasul 2: Conexiune

Conexiune
Conexiune

Senzor conectat la GPIO0 pentru întreruperi.

Întreruperile sunt utile pentru ca lucrurile să se întâmple automat în programele de microcontroler și pot ajuta la rezolvarea problemelor de sincronizare. În cazul întreruperilor, nu este necesar să verificați în mod constant valoarea pinului curent. Când este detectată o modificare, se declanșează un eveniment - se apelează o funcție. Această funcție se numește rutină de întrerupere (ISR). Când se întâmplă o întrerupere, procesorul oprește executarea programului principal pentru a executa o sarcină și apoi revine la programul principal

Pasul 3: Telegram Bot

Telegram Bot
Telegram Bot

Roboții sunt aplicații terțe care rulează în interiorul Telegram. Utilizatorii pot interacționa cu roboții prin trimiterea de mesaje, comenzi și cereri inline. Ne putem controla roboții prin intermediul API-urilor HTTP furnizate de Telegram.

Un bot Telegram este o aplicație găzduită pe un server (aici este ESP8266) care folosește API-ul Telegram bot pentru a se conecta la clienții Telegram Messenger. Un mare avantaj al roboților Telegram este că au cerințe de instalare zero și rulează fără probleme pe toate platformele computerizate sau mobile pe care rulează Telegram Messenger. Configurați Telegram Bot Instalați Telegram pe laptop sau telefon și căutați BotFather. Prin BotFather putem crea un nou bot. După crearea unui nou bot, trebuie să notăm simbolul care este cheia de interacțiune între dispozitiv și API-ul Telegram bot.

Pasul 4: Software

Descărcați biblioteca Telegram Bot

Deschideți Arduino IDE, accesați „Sketch”, selectați „Include Library” și faceți clic pe „Add. ZIP Library”.

#include

#include #include // Inițializați conexiunea Wifi la router char ssid = "wifi"; // SSID (nume) char password = "12345678"; // starea int a cheii de rețea = 0; // Inițializați Telegram BOT #define BOTtoken "1234567890: AAEsdxDfSL57kpfZz1bduD9j4fddsiyfg" // token from @BotFather #define BOTname "ESP8266 FireBot" // bot name #define BOTusername "esp8266fire_bot", bot_bot int Bot_mtbs = 1000; // refresh time long Bot_lasttime; bool Start = fals; bool isfire = fals; bool haveid = fals; int var = 0; String id; void Bot_EchoMessages () {for (int i = 1; i Bot_lasttime + Bot_mtbs) {bot.getUpdates (bot.message [0] [1]); Bot_EchoMessages (); // răspunde la mesaj cu Echo Bot_lasttime = millis (); } alarm_if_fire (); } void handleInterrupt () {Serial.println ("Interrupt Detected"); isfire = adevărat; }

Recomandat: