Talaan ng mga Nilalaman:

Telegram Flame Alarm Bot: 5 Hakbang
Telegram Flame Alarm Bot: 5 Hakbang

Video: Telegram Flame Alarm Bot: 5 Hakbang

Video: Telegram Flame Alarm Bot: 5 Hakbang
Video: CAMPING in RAIN - Tent - Dog - FIRE 2024, Hulyo
Anonim
Telegram Flame Alarm Bot
Telegram Flame Alarm Bot

Sa artikulong ito ay ipapakita ko ang proyekto ng IoT na nagpapahintulot sa pakiramdam ng apoy at magpadala ng abiso sa Telegram ng gumagamit.

Ano ang Kakailanganin Mo:

  • Module ng sensor ng apoy
  • Microcontroller NodeMCU ESP8266
  • Pinagkukunan ng lakas
  • WiFi
  • Output aparato na may telegram

Hakbang 1: Hardware

Hardware
Hardware
Hardware
Hardware

Flame Sensor ModuleAng modyul na ito ay naglalaman ng isang phototransistor at signal conditioning electronics. Ang isang phototransistor ay nagsasagawa ng mas maraming kasalukuyang elektrikal kapag nahantad sa ilaw. Itinuro sa amin ng Physics na ang (nakikita) na ilaw ay binubuo ng lahat ng mga kulay, mula sa pula hanggang sa lila. Sa pamamagitan ng patong ng phototransistor ng itim na epoxy, nagiging mas sensitibo ito sa pula o kahit na hindi nakikita sa ibaba pula o infrared. Kapansin-pansin, ang apoy ay naglalabas ng infrared radiation. Kaya, kapag nakakita ang sensor na ito ng apoy, nagsasagawa ito ng mas maraming kasalukuyang. Ang NodeMCU ay isang board na tumutugma sa Arduino na nagtatampok ng ESP8266 sa core nito. Ito ay naging tanyag dahil ito ay isang WiFi-handa na microcontroller nang mag-isa - hindi na kailangan para sa isang Arduino. Ang layunin ng artikulong ito ay upang ipakita ang lahat ng pinout ng NodeMCU at mga board na kasalukuyang magagamit. Tandaan na kapag pinaprogram ang mga board na ito gamit ang core ng ESP sa Arduino IDE, ginagamit ang mga numero ng GPIO sa halip na kung ano ang nasa board.

Hakbang 2: Koneksyon

Koneksyon
Koneksyon

Nakakonekta ang sensor sa GPIO0 para sa mga nakakagambala.

Kapaki-pakinabang ang mga pagkagambala para awtomatikong maganap ang mga bagay sa mga program ng microcontroller at maaaring makatulong na malutas ang mga problema sa tiyempo. Sa mga pagkagambala hindi mo kailangang patuloy na suriin ang kasalukuyang halaga ng pin. Kapag may napansin na pagbabago, nag-trigger ang isang kaganapan - tinawag ang isang pagpapaandar. Ang pagpapaandar na ito ay tinatawag na interrupt service routine (ISR). Kapag nangyari ang isang nakakagambala, ihihinto ng processor ang pagpapatupad ng pangunahing programa upang magpatupad ng isang gawain, at pagkatapos ay bumalik sa pangunahing programa

Hakbang 3: Telegram Bot

Telegram Bot
Telegram Bot

Ang bot ay mga application ng third-party na tumatakbo sa loob ng Telegram. Ang mga gumagamit ay maaaring makipag-ugnay sa mga bot sa pamamagitan ng pagpapadala ng mga mensahe, utos at mga kahilingan sa linya. Maaari naming makontrol ang aming mga bot sa pamamagitan ng mga HTTP API na ibinigay ng Telegram.

Ang isang Telegram bot ay isang application na naka-host sa isang server (narito ang ESP8266) na gumagamit ng Telegram bot API upang kumonekta sa mga kliyente ng Telegram Messenger. Ang isang mahusay na bentahe ng mga bot ng Telegram ay mayroon silang mga kinakailangang pag-install na zero at tumatakbo nang walang putol sa lahat ng mga computer o mobile platform kung saan tumatakbo ang Telegram Messenger. I-configure ang Telegram Bot Mag-install ng Telegram sa iyong Laptop o Telepono at maghanap para sa BotFather. Sa pamamagitan ng BotFather maaari kaming lumikha ng isang bagong bot. Matapos lumikha ng isang bagong bot, kailangan naming tandaan ang token na kung saan ay ang susi ng pakikipag-ugnayan sa pagitan ng aparato at Telegram bot API.

Hakbang 4: Software

I-download ang Telegram Bot library

Buksan ang Arduino IDE, Pumunta sa "Sketch", Piliin ang "Isama ang Library" at Mag-click sa "Magdagdag ng. ZIP Library".

# isama

#include #include // Initialize Wifi connection to the router char ssid = "wifi"; // SSID (pangalan) char password = "12345678"; // your network key int status = 0; // Initialize Telegram BOT #define BOTtoken "1234567890: AAEsdxDfSL57kpfZz1bduD9j4fddsiyfg" // token from @BotFather #define BOTname "ESP8266 FireBot" // bot name #define BOTusername "esp8266fire_bot" BOTUSBOT " int Bot_mtbs = 1000; // refresh time matagal na Bot_lasttime; bool Start = false; bool isfire = false; bool haveid = false; int var = 0; String id; walang bisa Bot_EchoMessages () {para (int i = 1; i Bot_lasttime + Bot_mtbs) {bot.getUpdates (bot.message [0] [1]); Bot_EchoMessages (); // reply to message with Echo Bot_lasttime = millis (); } alarm_if_fire (); } void handleInterrupt () {Serial.println ("Nakagambala Nakakita"); isfire = totoo; }

Inirerekumendang: