Tartalomjegyzék:

Távirat lángriasztó bot: 5 lépés
Távirat lángriasztó bot: 5 lépés

Videó: Távirat lángriasztó bot: 5 lépés

Videó: Távirat lángriasztó bot: 5 lépés
Videó: НОВИЧОК ВЫБИЛ 2 УРОВЕНЬ ВЗЛОМЩИКА! КАК НАФАРМИТЬ МНОГО ДУБА НОВИЧКАМ? – Last Day on Earth: Survival 2024, November
Anonim
Távirat lángriasztó bot
Távirat lángriasztó bot

Ebben a cikkben bemutatom az IoT projektet, amely lehetővé teszi a láng érzékelését és értesítést küld a felhasználó táviratába.

Amire szüksége lesz:

  • Lángérzékelő modul
  • Mikrokontroller NodeMCU ESP8266
  • Áramforrás
  • WiFi
  • Kimeneti eszköz távirattal

1. lépés: Hardver

Hardver
Hardver
Hardver
Hardver

Lángérzékelő modul Ez a modul fototranzisztor és jel kondicionáló elektronikát tartalmaz. A fototranzisztor fény hatására több elektromos áramot vezet. A fizika azt tanította nekünk, hogy a (látható) fény minden színből áll, a pirostól az ibolyáig. Azáltal, hogy a fototranzisztor fekete epoxiddal van bevonva, érzékenyebb lesz a vörösre, vagy láthatatlan a vörös vagy infravörös alatt. Érdekes módon a láng infravörös sugárzást bocsát ki. Így amikor ez az érzékelő lángot lát, nagyobb áramot vezet. A NodeMCU egy Arduino-kompatibilis tábla, amelynek központi része az ESP8266. Azért vált népszerűvé, mert önmagában WiFi -kompatibilis mikrokontroller - nincs szükség Arduino -ra. Ennek a cikknek a célja az összes elérhető NodeMCU pinout és kártya megjelenítése. Ne feledje, hogy amikor ezeket a táblákat az Arduino IDE ESP magjával programozza, akkor a GPIO számokat használja a táblán lévő adatok helyett.

2. lépés: Csatlakozás

Kapcsolat
Kapcsolat

A GPIO0 -hoz csatlakoztatott érzékelő megszakításokhoz.

A megszakítások hasznosak ahhoz, hogy a dolgok automatikusan történjenek a mikrokontroller programokban, és segíthetnek az időzítési problémák megoldásában. A megszakításokkal nem kell folyamatosan ellenőrizni az aktuális tűértéket. Változás észlelésekor esemény aktiválódik - függvényt hívnak meg. Ezt a funkciót megszakítási szolgáltatási rutinnak (ISR) hívják. Megszakítás esetén a processzor leállítja a főprogram végrehajtását egy feladat végrehajtásához, majd visszatér a főprogramhoz

3. lépés: Telegram Bot

Távirat Bot
Távirat Bot

A robotok harmadik féltől származó alkalmazások, amelyek a Telegramon belül futnak. A felhasználók interakcióba léphetnek a robotokkal üzenetek, parancsok és soron belüli kérések küldésével. Botjainkat a Telegram által biztosított HTTP API -k segítségével irányíthatjuk.

A Telegram bot egy olyan kiszolgálón tárolt alkalmazás (itt az ESP8266), amely a Telegram bot API -t használja a Telegram Messenger ügyfelekhez való csatlakozáshoz. A Telegram robotok nagy előnye, hogy nulla telepítési követelményük van, és zökkenőmentesen futnak minden számítógépen vagy mobil platformon, ahol a Telegram Messenger fut. Telegram Bot konfigurálása Telepítse a Telegramot laptopjára vagy telefonjára, és keressen rá a BotFather szóra. A BotFather segítségével új botot hozhatunk létre. Új bot létrehozása után fel kell jegyeznünk a tokent, amely az eszköz és a Telegram bot API közötti interakciós kulcs.

4. lépés: Szoftver

Töltse le a Telegram Bot könyvtárat

Nyissa meg az Arduino IDE -t, menjen a „Vázlat” elemre, válassza a „Könyvtár beillesztése” lehetőséget, és kattintson a „. ZIP könyvtár hozzáadása” gombra.

#befoglalni

#include #include // Wifi kapcsolat inicializálása az útválasztóval char ssid = "wifi"; // SSID (név) char jelszó = "12345678"; // a hálózati kulcs int állapot = 0; // Telegram BOT inicializálása #define BOTtoken "1234567890: AAEsdxDfSL57kpfZz1bduD9j4fddsiyfg" // token from @BotFather #define BOTname "ESP8266 FireBot" // bot neve #define BOTusername "esp82enfot bototus int Bot_mtbs = 1000; // frissítési idő hosszú Bot_lasttime; bool Start = hamis; bool isfire = hamis; bool hadid = hamis; int var = 0; Karakterlánc -azonosító; void Bot_EchoMessages () {for (int i = 1; i Bot_lasttime + Bot_mtbs) {bot.getUpdates (bot.message [0] [1]); Bot_EchoMessages (); // válasz az üzenetre Echo Bot_lasttime = millis (); } alarm_if_fire (); } void handleInterrupt () {Serial.println ("Megszakítás észlelve"); isfire = igaz; }

Ajánlott: