Table des matières:

Bot d'alarme de flamme Telegram : 5 étapes
Bot d'alarme de flamme Telegram : 5 étapes

Vidéo: Bot d'alarme de flamme Telegram : 5 étapes

Vidéo: Bot d'alarme de flamme Telegram : 5 étapes
Vidéo: Comment intégrer Telegram à Home Assistant en quelques étapes simples 2024, Novembre
Anonim
Bot d'alarme de flamme de télégramme
Bot d'alarme de flamme de télégramme

Dans cet article, je présenterai un projet IoT qui permet de détecter la flamme et d'envoyer une notification au télégramme de l'utilisateur.

Ce dont vous aurez besoin:

  • Module détecteur de flamme
  • Microcontrôleur NodeMCU ESP8266
  • Source d'énergie
  • Wifi
  • Appareil de sortie avec télégramme

Étape 1: Matériel

Matériel
Matériel
Matériel
Matériel

Module de détection de flammeCe module contient un phototransistor et une électronique de conditionnement de signal. Un phototransistor conduit plus de courant électrique lorsqu'il est exposé à la lumière. La physique nous a appris que la lumière (visible) comprend toutes les couleurs, du rouge au violet. En enduisant le phototransistor d'époxy noir, il devient plus sensible au rouge voire invisible en dessous du rouge ou de l'infrarouge. Fait intéressant, la flamme émet un rayonnement infrarouge. Ainsi, lorsque ce capteur voit une flamme, il conduit plus de courant. Le NodeMCU est une carte compatible Arduino qui comprend l'ESP8266 en son cœur. Il est devenu populaire car il s'agit d'un microcontrôleur prêt pour le WiFi - pas besoin d'Arduino. Le but de cet article est de montrer tous les brochages et cartes NodeMCU actuellement disponibles. Notez que lors de la programmation de ces cartes à l'aide du noyau ESP dans Arduino IDE, les numéros GPIO sont utilisés à la place de ce qui se trouve sur la carte.

Étape 2: Connexion

Lien
Lien

Capteur connecté à GPIO0 pour les interruptions.

Les interruptions sont utiles pour faire en sorte que les choses se produisent automatiquement dans les programmes de microcontrôleur et peuvent aider à résoudre les problèmes de synchronisation. Avec les interruptions, vous n'avez pas besoin de vérifier constamment la valeur actuelle de la broche. Lorsqu'un changement est détecté, un événement est déclenché - une fonction est appelée. Cette fonction est appelée routine de service d'interruption (ISR). Lorsqu'une interruption se produit, le processeur arrête l'exécution du programme principal pour exécuter une tâche, puis revient au programme principal

Étape 3: Telegram Bot

Bot télégramme
Bot télégramme

Les bots sont des applications tierces qui s'exécutent dans Telegram. Les utilisateurs peuvent interagir avec les robots en envoyant des messages, des commandes et des demandes en ligne. Nous pouvons contrôler nos robots via les API HTTP fournies par Telegram.

Un bot Telegram est une application hébergée sur un serveur (ici ESP8266) qui utilise l'API du bot Telegram pour se connecter aux clients Telegram Messenger. Un grand avantage des robots Telegram est qu'ils n'ont aucune exigence d'installation et s'exécutent de manière transparente sur toutes les plates-formes informatiques ou mobiles sur lesquelles Telegram Messenger s'exécute. Configurez Telegram Bot Installez Telegram sur votre ordinateur portable ou votre téléphone et recherchez BotFather. Grâce à BotFather, nous pouvons créer un nouveau bot. Après avoir créé un nouveau bot, nous devons noter le jeton qui est la clé d'interaction entre l'appareil et l'API du bot Telegram.

Étape 4: Logiciel

Télécharger la bibliothèque Telegram Bot

Ouvrez Arduino IDE, allez dans "Sketch", sélectionnez "Inclure la bibliothèque" et cliquez sur "Ajouter une bibliothèque. ZIP".

#comprendre

#include #include // Initialise la connexion Wifi au routeur char ssid = "wifi"; // SSID (nom) char password = "12345678"; // votre clé réseau int status = 0; // Initialiser le BOT du télégramme #define BOTtoken "1234567890:AAEsdxDfSL57kpfZz1bduD9j4fddsiyfg" //token de @BotFather #define BOTname "ESP8266 FireBot" // nom du bot #define BOTusername "esp8266fire_botname" // nom du bot BOTusername, BOT nom d'utilisateur, BOT nom d'utilisateur BOT int Bot_mtbs = 1000; //temps de rafraîchissement long Bot_lasttime; bool Début = faux; bool isfire = false; bool haveid = false; int var = 0; ID de chaîne; void Bot_EchoMessages() { pour (int i = 1; i Bot_lasttime + Bot_mtbs) { bot.getUpdates(bot.message[0][1]); Bot_EchoMessages(); // répond au message avec Echo Bot_lasttime = millis(); } alarm_if_fire(); } void handleInterrupt() { Serial.println("Interruption détectée"); isfire=true; }

Conseillé: