Sommario:

Telegram Flame Alarm Bot: 5 passaggi
Telegram Flame Alarm Bot: 5 passaggi

Video: Telegram Flame Alarm Bot: 5 passaggi

Video: Telegram Flame Alarm Bot: 5 passaggi
Video: How to make IoT based Fire Alarm Notification System using NodeMCU ESP8266 2020 | Easytronic 2024, Luglio
Anonim
Bot di allarme fiamma di Telegram
Bot di allarme fiamma di Telegram

In questo articolo presenterò il progetto IoT che consente di rilevare la fiamma e inviare notifiche al Telegram dell'utente.

Cosa ti servirà:

  • Modulo sensore di fiamma
  • Microcontrollore NodeMCU ESP8266
  • Fonte di potere
  • Wifi
  • Dispositivo di uscita con telegramma

Passaggio 1: hardware

Hardware
Hardware
Hardware
Hardware

Modulo sensore di fiammaQuesto modulo contiene un fototransistor e un'elettronica di condizionamento del segnale. Un fototransistor conduce più corrente elettrica se esposto alla luce. La fisica ci ha insegnato che la luce (visibile) comprende tutti i colori, dal rosso al viola. Rivestendo il fototransistor con resina epossidica nera, diventa più sensibile al rosso o addirittura invisibile al di sotto del rosso o dell'infrarosso. È interessante notare che la fiamma emette radiazioni infrarosse. Pertanto, quando questo sensore vede la fiamma, conduce più corrente. Il NodeMCU è una scheda compatibile con Arduino che presenta l'ESP8266 al suo interno. È diventato popolare perché è un microcontrollore pronto per il WiFi da solo, non c'è bisogno di un Arduino. Lo scopo di questo articolo è mostrare tutti i pinout e le schede NodeMCU attualmente disponibili. Si noti che quando si programmano queste schede utilizzando il core ESP in Arduino IDE, vengono utilizzati i numeri GPIO invece di ciò che è sulla scheda.

Passaggio 2: connessione

Connessione
Connessione

Sensore collegato a GPIO0 per gli interrupt.

Gli interrupt sono utili per far accadere le cose automaticamente nei programmi del microcontrollore e possono aiutare a risolvere i problemi di temporizzazione. Con gli interrupt non è necessario controllare costantemente il valore del pin corrente. Quando viene rilevata una modifica, viene attivato un evento: viene chiamata una funzione. Questa funzione è chiamata routine di servizio di interruzione (ISR). Quando si verifica un'interruzione, il processore interrompe l'esecuzione del programma principale per eseguire un'attività, quindi torna al programma principale

Passaggio 3: Bot di Telegram

Telegram Bot
Telegram Bot

I bot sono applicazioni di terze parti che vengono eseguite all'interno di Telegram. Gli utenti possono interagire con i bot inviando messaggi, comandi e richieste in linea. Possiamo controllare i nostri bot tramite le API HTTP fornite da Telegram.

Un bot di Telegram è un'applicazione ospitata su un server (qui è ESP8266) che utilizza l'API del bot di Telegram per connettersi ai client di Telegram Messenger. Un grande vantaggio dei bot di Telegram è che non hanno requisiti di installazione e funzionano senza problemi su tutti i computer o le piattaforme mobili su cui gira Telegram Messenger. Configura Telegram Bot Installa Telegram sul tuo laptop o telefono e cerca BotFather. Tramite BotFather possiamo creare un nuovo bot. Dopo aver creato un nuovo bot, dobbiamo annotare il token che è la chiave di interazione tra il dispositivo e l'API del bot di Telegram.

Passaggio 4: software

Scarica la libreria Telegram Bot

Apri Arduino IDE, vai su "Sketch", seleziona "Includi libreria" e fai clic su "Aggiungi libreria. ZIP".

#includere

#include #include // Inizializza la connessione Wifi al router char ssid = "wifi"; // SSID (nome) char password = "12345678"; // la tua chiave di rete int status = 0; // Inizializza Telegram BOT #define BOTtoken "1234567890:AAEsdxDfSL57kpfZz1bduD9j4fddsiyfg" //token from @BotFather #define BOTname "ESP8266 FireBot" // nome bot #define BOTusername "esp8266fire_bot" // nome utente bot BOT TelegramBOT; int Bot_mtbs = 1000; //tempo di aggiornamento lungo Bot_lasttime; bool Inizio = falso; bool isfire = falso; bool haveid = falso; int var = 0; ID stringa; void Bot_EchoMessages() { for (int i = 1; i Bot_lasttime + Bot_mtbs) { bot.getUpdates(bot.message[0][1]); Bot_EchoMessages(); // rispondi al messaggio con Echo Bot_lasttime = millis(); } alarm_if_fire(); } void handleInterrupt() { Serial.println("Interrupt rilevato"); isfire=vero; }

Consigliato: