Სარჩევი:

Telegram ფლეიმის სიგნალიზაციის ბოტი: 5 ნაბიჯი
Telegram ფლეიმის სიგნალიზაციის ბოტი: 5 ნაბიჯი

ვიდეო: Telegram ფლეიმის სიგნალიზაციის ბოტი: 5 ნაბიჯი

ვიდეო: Telegram ფლეიმის სიგნალიზაციის ბოტი: 5 ნაბიჯი
ვიდეო: 777 Hz + 877 Hz ანგელოზური სინათლის ენერგია ֍ უმაღლესი თვითმმართველობის გააქტიურება 2024, ნოემბერი
Anonim
Telegram ფლეიმის სიგნალიზაციის ბოტი
Telegram ფლეიმის სიგნალიზაციის ბოტი

ამ სტატიაში მე წარმოგიდგენთ IoT პროექტს, რომლის საშუალებითაც შესაძლებელია ცეცხლის შეგრძნება და შეტყობინების გაგზავნა მომხმარებლის Telegram– ში.

რაც დაგჭირდებათ:

  • ფლეიმის სენსორის მოდული
  • მიკროკონტროლერის კვანძი MCU ESP8266
  • Კვების წყარო
  • Ვაი - ფაი
  • გამომავალი მოწყობილობა ტელეგრამით

ნაბიჯი 1: აპარატურა

ტექნიკა
ტექნიკა
ტექნიკა
ტექნიკა

ფლეიმის სენსორის მოდული ეს მოდული შეიცავს ფოტოტრანსისტორს და სიგნალის კონდიცირების ელექტრონიკას. სინათლის ზემოქმედებისას ფოტოტრანზისტორი ატარებს მეტ ელექტრულ დენს. ფიზიკამ გვასწავლა, რომ (ხილული) შუქი მოიცავს ყველა ფერს, წითელიდან იისფერიდან დამთავრებული. ფოტოსტრანზისტორის შავი ეპოქსიდური საფარით, ის უფრო მგრძნობიარე ხდება წითელი ან თუნდაც უხილავი წითელი ან ინფრაწითელი. საინტერესოა, რომ ალი გამოსცემს ინფრაწითელ გამოსხივებას. ამრიგად, როდესაც ეს სენსორი ცეცხლს ხედავს, ის უფრო მეტ მიმდინარეობას ატარებს. NodeMCU არის Arduino– სთან თავსებადი დაფა, რომლის ძირითადი ნაწილია ESP8266. ის პოპულარული გახდა, რადგან ის არის WiFi- სთვის მზა მიკროკონტროლერი - არ არის საჭირო Arduino. ამ სტატიის მიზანია აჩვენოს ყველა NodeMCU pinout და დაფა, რომლებიც ამჟამად არის ხელმისაწვდომი. გაითვალისწინეთ, რომ ამ დაფების დაპროგრამებისას Arduino IDE– ში ESP ბირთვის გამოყენებით, GPIO ნომრები გამოიყენება დაფაზე არსებული ნაცვლად.

ნაბიჯი 2: კავშირი

კავშირი
კავშირი

სენსორი შეწყვეტილია GPIO0- თან.

შეფერხებები სასარგებლოა იმისთვის, რომ მოხდეს მოვლენები ავტომატურად მიკროკონტროლერის პროგრამებში და შეიძლება დაგეხმაროთ დროის პრობლემების მოგვარებაში. შეფერხებებით თქვენ არ გჭირდებათ მუდმივად შეამოწმოთ მიმდინარე პინის მნიშვნელობა. როდესაც ცვლილებები გამოვლენილია, ხდება მოვლენის გააქტიურება - ფუნქცია ე.წ. ამ ფუნქციას ეწოდება სერვისის შეწყვეტის რუტინა (ISR). როდესაც შეფერხება ხდება, პროცესორი წყვეტს ძირითადი პროგრამის შესრულებას დავალების შესასრულებლად და შემდეგ უბრუნდება მთავარ პროგრამას

ნაბიჯი 3: Telegram Bot

Telegram Bot
Telegram Bot

ბოტები არის მესამე მხარის პროგრამები, რომლებიც მუშაობს Telegram– ის შიგნით. მომხმარებლებს შეუძლიათ ბოტებთან ურთიერთობა შეტყობინებების, ბრძანებებისა და შიდა მოთხოვნების გაგზავნით. ჩვენ შეგვიძლია გავაკონტროლოთ ჩვენი ბოტები Telegram– ის მიერ მოწოდებული HTTP API– ების საშუალებით.

Telegram bot არის პროგრამა სერვერზე განთავსებული (აქ არის ESP8266), რომელიც იყენებს Telegram bot API- ს Telegram Messenger კლიენტებთან დასაკავშირებლად. Telegram ბოტების დიდი უპირატესობა ის არის, რომ მათ აქვთ ნულოვანი ინსტალაციის მოთხოვნები და შეუფერხებლად მუშაობენ ყველა კომპიუტერულ თუ მობილურ პლატფორმაზე, სადაც მუშაობს Telegram Messenger. Telegram Bot- ის კონფიგურაცია დააინსტალირეთ Telegram თქვენს ლეპტოპზე ან ტელეფონზე და მოძებნეთ BotFather. BotFather– ის საშუალებით ჩვენ შეგვიძლია შევქმნათ ახალი ბოტი. ახალი ბოტის შექმნის შემდეგ, ჩვენ უნდა აღვნიშნოთ ნიშანი, რომელიც არის ინტერაქციის გასაღები მოწყობილობასა და Telegram bot API- ს შორის.

ნაბიჯი 4: პროგრამული უზრუნველყოფა

ჩამოტვირთეთ Telegram Bot ბიბლიოთეკა

გახსენით Arduino IDE, გადადით "ესკიზზე", აირჩიეთ "ბიბლიოთეკის ჩართვა" და დააჭირეთ "დაამატეთ. ZIP ბიბლიოთეკა".

#ჩართეთ

#მოიცავს #მოიცავს // ინიციალიზება Wifi კავშირი როუტერთან char ssid = "wifi"; // SSID (სახელი) char პაროლი = "12345678"; // თქვენი ქსელის გასაღები int სტატუსი = 0; // Telegram- ის ინიციალიზაცია BOT #განსაზღვრეთ BOTtoken "1234567890: AAEsdxDfSL57kpfZz1bduD9j4fddsiyfg" // ნიშანი @BotFather #განსაზღვრეთ BOTname "ESP8266 FireBot" // ბოტის სახელი #განსაზღვრეთ BOTname სახელი "BOTUSername", BOTname სახელი, BOTname int Bot_mtbs = 1000; // განახლების დრო ხანგრძლივი Bot_lasttime; bool დაწყება = ყალბი; bool isfire = false; bool haveid = ყალბი; int var = 0; სიმებიანი ID; ბათილია Bot_EchoMessages () {for (int i = 1; i Bot_lasttime + Bot_mtbs) {bot.getUpdates (bot.message [0] [1]); Bot_EchoMessages (); // შეტყობინებაზე პასუხის გაცემა Echo Bot_lasttime = millis (); } alarm_if_fire (); } void handleInterrupt () {Serial.println ("შეფერხება აღმოჩენილია"); isfire = ჭეშმარიტი; }

გირჩევთ: