INHOUDSOPGAWE:

Telegram Flame Alarm Bot: 5 stappe
Telegram Flame Alarm Bot: 5 stappe

Video: Telegram Flame Alarm Bot: 5 stappe

Video: Telegram Flame Alarm Bot: 5 stappe
Video: Telegram OSINT The Ultimate Guide to Unveiling Insights Beyond What Meets the Eye 2024, Julie
Anonim
Telegram Flame Alarm Bot
Telegram Flame Alarm Bot

In hierdie artikel bied ek 'n IoT -projek aan waarmee u 'n vlam kan aanvoel en 'n kennisgewing kan stuur na die gebruiker se Telegram.

Wat u benodig:

  • Vlam sensor module
  • Mikrokontroleerder NodeMCU ESP8266
  • Kragbron
  • WiFi
  • Uitvoerapparaat met telegram

Stap 1: Hardeware

Hardeware
Hardeware
Hardeware
Hardeware

Vlamsensormodule Hierdie module bevat 'n fototransistor en elektroniese seinkondisionering. 'N Fototransistor gelei meer elektriese stroom wanneer dit aan lig blootgestel word. Fisika het ons geleer dat (sigbare) lig uit alle kleure bestaan, van rooi tot violet. Deur die fototransistor met swart epoksie te bedek, word dit meer sensitief vir rooi of selfs onsigbaar onder rooi of infrarooi. Interessant genoeg, straal vlam infrarooi straling uit. As hierdie sensor dus vlam sien, voer dit meer stroom. Die NodeMCU is 'n Arduino-versoenbare bord met die ESP8266 in sy kern. Dit het gewild geraak omdat dit op sigself 'n WiFi -gereed mikrobeheerder is - geen Arduino nodig nie. Die doel van hierdie artikel is om alle NodeMCU pinout en borde wat tans beskikbaar is, te wys. Let daarop dat by die programmering van hierdie borde met die ESP -kern in Arduino IDE, die GPIO -nommers gebruik word in plaas van wat op die bord is.

Stap 2: verbinding

Verbinding
Verbinding

Sensor gekoppel aan GPIO0 vir onderbrekings.

Onderbrekings is handig om dinge outomaties in mikrobeheerderprogramme te laat gebeur, en kan help om tydsberekeningprobleme op te los. Met onderbrekings hoef u nie voortdurend die huidige pinwaarde na te gaan nie. As 'n verandering opgespoor word, word 'n gebeurtenis geaktiveer - 'n funksie word genoem. Hierdie funksie word interrupt service routine (ISR) genoem. As 'n onderbreking plaasvind, stop die verwerker met die uitvoering van die hoofprogram om 'n taak uit te voer, en keer dan terug na die hoofprogram

Stap 3: Telegram Bot

Telegram Bot
Telegram Bot

Bots is toepassings van derde partye wat in Telegram uitgevoer word. Gebruikers kan met bots omgaan deur boodskappe, opdragte en inline versoeke te stuur. Ons kan ons bots beheer deur middel van HTTP -API's wat deur Telegram verskaf word.

'N Telegram -bot is 'n toepassing wat op 'n bediener gehuisves word (hier is ESP8266) wat Telegram bot API gebruik om aan te sluit op Telegram Messenger -kliënte. 'N Groot voordeel van Telegram -bots is dat daar geen installasievereistes is nie en dat dit naatloos op alle rekenaar- of mobiele platforms waar Telegram Messenger werk, werk. Stel Telegram Bot op Installeer Telegram op u skootrekenaar of telefoon en soek na BotFather. Deur BotFather kan ons 'n nuwe bot skep. Nadat ons 'n nuwe bot geskep het, moet ons die teken opteken, wat die interaksiesleutel is tussen toestel en Telegram bot API.

Stap 4: sagteware

Laai die Telegram Bot -biblioteek af

Maak Arduino IDE oop, gaan na "Skets", kies "Sluit biblioteek in" en klik op "Voeg. ZIP -biblioteek by".

#insluit

#include #include // Initialiseer Wifi -verbinding met die router char ssid = "wifi"; // SSID (naam) char wagwoord = "12345678"; // jou netwerk sleutel int status = 0; // Initialiseer Telegram BOT #define BOTtoken "1234567890: AAEsdxDfSL57kpfZz1bduD9j4fddsiyfg" // teken van @BotFather #define BOTnaam "ESP8266 FireBot" // botnaam #define BOTusername "esp8266fire_not, BOTOTOT, BOTOTNOTA, BOTOTOTBOTNOT, botNaambot" int Bot_mtbs = 1000; // verversingstyd lank Bot_lasttime; bool Begin = vals; bool isfire = vals; bool haveid = vals; 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 (); // antwoord op die boodskap met Echo Bot_lasttime = millis (); } alarm_if_fire (); } void handleInterrupt () {Serial.println ("Onderbreking opgespoor"); isfire = waar; }

Aanbeveel: