Inhaltsverzeichnis:

Telegramm Flammenalarm Bot - Gunook
Telegramm Flammenalarm Bot - Gunook

Video: Telegramm Flammenalarm Bot - Gunook

Video: Telegramm Flammenalarm Bot - Gunook
Video: Amoklauf an US-Schule: Der Weg der Killerin in Nashville | #shorts 2024, Juli
Anonim
Telegramm Flammenalarm Bot
Telegramm Flammenalarm Bot

In diesem Artikel werde ich ein IoT-Projekt vorstellen, das es ermöglicht, Flammen zu erkennen und Benachrichtigungen an das Telegramm des Benutzers zu senden.

Was du brauchen wirst:

  • Flammensensormodul
  • Mikrocontroller NodeMCU ESP8266
  • Energiequelle
  • W-lan
  • Ausgabegerät mit Telegramm

Schritt 1: Hardware

Hardware
Hardware
Hardware
Hardware

FlammensensormodulDieses Modul enthält einen Fototransistor und eine Signalaufbereitungselektronik. Ein Fototransistor leitet bei Lichteinfall mehr Strom. Die Physik hat uns gelehrt, dass (sichtbares) Licht alle Farben umfasst, von Rot bis Violett. Durch die Beschichtung des Fototransistors mit schwarzem Epoxid wird er empfindlicher für Rot oder sogar unsichtbar unter Rot oder Infrarot. Interessanterweise emittiert Flamme Infrarotstrahlung. Wenn dieser Sensor also eine Flamme sieht, leitet er mehr Strom. Die NodeMCU ist ein Arduino-kompatibles Board, das im Kern den ESP8266 enthält. Es wurde populär, weil es selbst ein WiFi-fähiger Mikrocontroller ist - kein Arduino erforderlich. Das Ziel dieses Artikels ist es, alle derzeit verfügbaren NodeMCU-Pinouts und -Boards aufzuzeigen. Beachten Sie, dass bei der Programmierung dieser Boards mit dem ESP-Kern in der Arduino IDE die GPIO-Nummern anstelle des Boards verwendet werden.

Schritt 2: Verbindung

Verbindung
Verbindung

Sensor an GPIO0 für Interrupts angeschlossen.

Interrupts sind nützlich, um Dinge in Mikrocontrollerprogrammen automatisch ablaufen zu lassen, und können bei der Lösung von Timing-Problemen helfen. Bei Interrupts müssen Sie nicht ständig den aktuellen Pin-Wert überprüfen. Wenn eine Änderung erkannt wird, wird ein Ereignis ausgelöst – eine Funktion wird aufgerufen. Diese Funktion wird als Interrupt-Service-Routine (ISR) bezeichnet. Wenn ein Interrupt auftritt, stoppt der Prozessor die Ausführung des Hauptprogramms, um eine Aufgabe auszuführen, und kehrt dann zum Hauptprogramm zurück

Schritt 3: Telegramm-Bot

Telegramm Bot
Telegramm Bot

Bots sind Anwendungen von Drittanbietern, die innerhalb von Telegram ausgeführt werden. Benutzer können mit Bots interagieren, indem sie Nachrichten, Befehle und Inline-Anfragen senden. Wir können unsere Bots über HTTP-APIs steuern, die von Telegram bereitgestellt werden.

Ein Telegram-Bot ist eine Anwendung, die auf einem Server (hier ESP8266) gehostet wird und die Telegram-Bot-API verwendet, um eine Verbindung zu Telegram Messenger-Clients herzustellen. Ein großer Vorteil von Telegram-Bots besteht darin, dass sie keine Installationsanforderungen haben und nahtlos auf allen Computer- oder mobilen Plattformen laufen, auf denen Telegram Messenger ausgeführt wird. Telegram Bot konfigurieren Installieren Sie Telegram auf Ihrem Laptop oder Telefon und suchen Sie nach BotFather. Durch BotFather können wir einen neuen Bot erstellen. Nachdem wir einen neuen Bot erstellt haben, müssen wir den Token notieren, der der Interaktionsschlüssel zwischen Gerät und Telegram Bot API ist.

Schritt 4: Software

Laden Sie die Telegram Bot-Bibliothek herunter

Öffnen Sie die Arduino IDE, gehen Sie zu „Skizze“, wählen Sie „Bibliothek einschließen“und klicken Sie auf „ZIP-Bibliothek hinzufügen“.

#enthalten

#include #include // Wifi-Verbindung zum Router initialisieren char ssid = "wifi"; // SSID (Name) char password = "12345678"; // Ihr Netzwerkschlüssel int status = 0; // Telegramm-BOT initialisieren #define BOTtoken "1234567890:AAEsdxDfSL57kpfZz1bduD9j4fddsiyfg" //Token von @BotFather #define BOTname "ESP8266 FireBot" // Bot-Name #define BOTusername "esp8266fire_BOT"OT, BOT-Benutzername, BOT-Telegramm; int Bot_mtbs = 1000; // Aktualisierungszeit lang Bot_lasttime; bool Start = false; bool isfire = false; bool haveid = false; intvar = 0; Zeichenfolgen-ID; void Bot_EchoMessages() { for (int i = 1; i Bot_lasttime + Bot_mtbs) { bot.getUpdates(bot.message[0][1]); Bot_EchoMessages(); // Antwort auf Nachricht mit Echo Bot_lasttime = millis(); } alarm_if_fire(); aufrechtzuerhalten. Void handleInterrupt () {Serial.println ("Interrupt erkannt"); isfire=wahr; }

Empfohlen: