Satura rādītājs:

Telegrammas liesmas trauksmes robots: 5 soļi
Telegrammas liesmas trauksmes robots: 5 soļi

Video: Telegrammas liesmas trauksmes robots: 5 soļi

Video: Telegrammas liesmas trauksmes robots: 5 soļi
Video: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, Jūlijs
Anonim
Telegrammas liesmas trauksmes robots
Telegrammas liesmas trauksmes robots

Šajā rakstā es iepazīstināšu ar IoT projektu, kas ļauj uztvert liesmu un nosūtīt paziņojumu lietotāja telegrammai.

Kas jums būs nepieciešams:

  • Liesmas sensora modulis
  • Mikrokontrollera mezglsMCU ESP8266
  • Enerģijas avots
  • Bezvadu internets
  • Izejas ierīce ar telegrammu

1. darbība. Aparatūra

Aparatūra
Aparatūra
Aparatūra
Aparatūra

Liesmas sensora modulis Šis modulis satur fototransistoru un signālu kondicionēšanas elektroniku. Fototransistors gaismas ietekmē vada vairāk elektriskās strāvas. Fizika mums mācīja, ka (redzamā) gaisma sastāv no visām krāsām, sākot no sarkanas līdz violetai. Pārklājot fototransistoru ar melnu epoksīdu, tas kļūst jutīgāks pret sarkanu vai pat neredzamu zem sarkanā vai infrasarkanā. Interesanti, ka liesma izstaro infrasarkano starojumu. Tādējādi, kad šis sensors redz liesmu, tas vada lielāku strāvu. NodeMCU ir ar Arduino saderīga tāfele, kuras pamatā ir ESP8266. Tas kļuva populārs, jo tas pats par sevi ir WiFi gatavs mikrokontrolleris - nav nepieciešams Arduino. Šī raksta mērķis ir parādīt visus pašlaik pieejamos NodeMCU kontaktus un dēļus. Ņemiet vērā, ka, programmējot šīs plates, izmantojot Arduino IDE ESP kodolu, tiek izmantoti GPIO numuri, nevis tā, kas atrodas uz tāfeles.

2. darbība. Savienojums

Savienojums
Savienojums

Sensors ir pievienots GPIO0 pārtraukumiem.

Pārtraukumi ir noderīgi, lai mikrokontrolleru programmās notiktu automātiski, un tie var palīdzēt atrisināt laika problēmas. Ar pārtraukumiem jums nav nepārtraukti jāpārbauda pašreizējā tapas vērtība. Kad tiek konstatētas izmaiņas, tiek aktivizēts notikums - tiek izsaukta funkcija. Šo funkciju sauc par pārtraukuma pakalpojumu rutīnu (ISR). Kad notiek pārtraukums, procesors pārtrauc galvenās programmas izpildi, lai izpildītu uzdevumu, un pēc tam atgriežas galvenajā programmā

3. darbība: telegrammas robots

Telegram Bot
Telegram Bot

Roboti ir trešo pušu lietojumprogrammas, kas darbojas Telegram. Lietotāji var mijiedarboties ar robotprogrammatūrām, sūtot ziņas, komandas un iekļautus pieprasījumus. Mēs varam kontrolēt savus robotus, izmantojot HTTP API, ko nodrošina Telegram.

Telegram robots ir lietojumprogramma, kas tiek mitināta serverī (šeit tas ir ESP8266), kas izmanto Telegram bot API, lai izveidotu savienojumu ar Telegram Messenger klientiem. Liela Telegram robotu priekšrocība ir tā, ka tiem nav instalēšanas prasību un tie darbojas nevainojami visās datoru vai mobilo ierīču platformās, kurās darbojas Telegram Messenger. Telegram Bot konfigurēšana Instalējiet Telegram savā klēpjdatorā vai tālrunī un meklējiet BotFather. Izmantojot BotFather, mēs varam izveidot jaunu robotu. Pēc jauna robota izveides mums jāatzīmē marķieris, kas ir mijiedarbības atslēga starp ierīci un Telegram bot API.

4. solis: programmatūra

Lejupielādējiet Telegram Bot bibliotēku

Atveriet Arduino IDE, dodieties uz “Skice”, atlasiet “Iekļaut bibliotēku” un noklikšķiniet uz “Pievienot. ZIP bibliotēku”.

#iekļaut

#include #include // Inicializēt Wifi savienojumu ar maršrutētāju char ssid = "wifi"; // SSID (vārds) char parole = "12345678"; // jūsu tīkla atslēga int statuss = 0; // Telegrammas BOT inicializēšana #define BOTtoken "1234567890: AAEsdxDfSL57kpfZz1bduD9j4fddsiyfg" // marķieris no @BotFather #define BOTname "ESP8266 FireBot" // bot nosaukums #define BOTusername "esp82botote int Bot_mtbs = 1000; // atsvaidzināšanas laiks garš Bot_lasttime; bool Sākums = nepatiess; bool isfire = nepatiess; bool hadid = nepatiess; int var = 0; Virknes id; void Bot_EchoMessages () {for (int i = 1; i Bot_lasttime + Bot_mtbs) {bot.getUpdates (bot.message [0] [1]); Bot_EchoMessages (); // atbildēt uz ziņojumu ar Echo Bot_lasttime = millis (); } alarm_if_fire (); } void handleInterrupt () {Serial.println ("Atrasts pārtraukums"); isfire = taisnība; }

Ieteicams: