Spisu treści:

Telegram Flame Alarm Bot: 5 kroków
Telegram Flame Alarm Bot: 5 kroków

Wideo: Telegram Flame Alarm Bot: 5 kroków

Wideo: Telegram Flame Alarm Bot: 5 kroków
Wideo: 🚨 ChatGPT Bitcoin Trading Strategy +42572% PROFIT - FULL TUTORIAL!!! 2024, Listopad
Anonim
Telegramowy bot alarmu płomienia
Telegramowy bot alarmu płomienia

W tym artykule przedstawię projekt IoT, który pozwala wyczuć płomień i wysłać powiadomienie na Telegram użytkownika.

Co będziesz potrzebował:

  • Moduł czujnika płomienia
  • Mikrokontroler NodeMCU ESP8266
  • Źródło prądu
  • Wi-Fi
  • Urządzenie wyjściowe z telegramem

Krok 1: Sprzęt

Sprzęt komputerowy
Sprzęt komputerowy
Sprzęt komputerowy
Sprzęt komputerowy

Moduł czujnika płomieniaTen moduł zawiera fototranzystor i elektronikę kondycjonującą sygnał. Fototranzystor przewodzi więcej prądu elektrycznego, gdy jest wystawiony na działanie światła. Fizyka nauczyła nas, że światło (widzialne) obejmuje wszystkie kolory, od czerwonego do fioletowego. Powlekając fototranzystor czarną żywicą epoksydową, staje się on bardziej wrażliwy na czerwień lub nawet niewidoczny poniżej czerwieni lub podczerwieni. Co ciekawe, płomień emituje promieniowanie podczerwone. Tak więc, gdy ten czujnik widzi płomień, przewodzi więcej prądu. NodeMCU to płyta kompatybilna z Arduino, której rdzeniem jest ESP8266. Stał się popularny, ponieważ sam w sobie jest mikrokontrolerem obsługującym Wi-Fi - nie ma potrzeby stosowania Arduino. Celem tego artykułu jest pokazanie wszystkich dostępnych obecnie pinów i płyt NodeMCU. Zauważ, że podczas programowania tych płyt za pomocą rdzenia ESP w Arduino IDE, numery GPIO są używane zamiast tego, co jest na płycie.

Krok 2: Połączenie

Połączenie
Połączenie

Czujnik podłączony do GPIO0 dla przerwań.

Przerwania są przydatne do automatycznego wykonywania czynności w programach mikrokontrolerów i mogą pomóc w rozwiązywaniu problemów z synchronizacją. Dzięki przerwaniom nie musisz ciągle sprawdzać aktualnej wartości pinu. Po wykryciu zmiany wyzwalane jest zdarzenie – wywoływana jest funkcja. Ta funkcja jest nazywana procedurą obsługi przerwań (ISR). Gdy nastąpi przerwanie, procesor zatrzymuje wykonywanie programu głównego, aby wykonać zadanie, a następnie wraca do programu głównego

Krok 3: Telegram Bot

Telegram Bot
Telegram Bot

Boty to aplikacje innych firm działające w Telegramie. Użytkownicy mogą wchodzić w interakcje z botami, wysyłając wiadomości, polecenia i żądania inline. Możemy kontrolować nasze boty za pośrednictwem interfejsów API HTTP dostarczanych przez Telegram.

Bot Telegram to aplikacja hostowana na serwerze (tutaj jest to ESP8266), która używa interfejsu API bota Telegram do łączenia się z klientami Telegram Messenger. Wielką zaletą botów Telegram jest to, że mają zerowe wymagania instalacyjne i działają bezproblemowo na wszystkich platformach komputerowych lub mobilnych, na których działa Telegram Messenger. Skonfiguruj Telegram Bot Zainstaluj Telegram na swoim laptopie lub telefonie i wyszukaj BotFather. Poprzez BotFather możemy stworzyć nowego bota. Po utworzeniu nowego bota musimy zanotować token, który jest kluczem interakcji między urządzeniem a interfejsem API bota Telegram.

Krok 4: Oprogramowanie

Pobierz bibliotekę Telegram Bot

Otwórz Arduino IDE, przejdź do „Sketch”, wybierz „Dołącz bibliotekę” i kliknij „Dodaj bibliotekę. ZIP”.

#włączać

#include #include // Zainicjuj połączenie Wi-Fi z routerem char ssid = "wifi"; // SSID (nazwa) char hasło = "12345678"; // twój klucz sieciowy int status = 0; // Zainicjuj Telegrama BOT #define BOTtoken "1234567890:AAEsdxDfSL57kpfZz1bduD9j4fddsiyfg" //token od @BotFather #define BOTname "ESP8266 FireBot" // nazwa bota #define BOTusername "użytkownik bot BOT"(nazwa bota BOT, nazwa bota BOT, nazwa bota_OT, nazwa_bota_OT, int Bot_mtbs = 1000; //czas odświeżania długi Bot_lasttime; bool Start = fałsz; bool isfire = false; bool hasid = fałsz; int zm = 0; Identyfikator ciągu; void Bot_EchoMessages() { for (int i = 1; i Bot_lasttime + Bot_mtbs) { bot.getUpdates(bot.message[0][1]); Bot_EchoMessages(); // odpowiedz na wiadomość za pomocą Echo Bot_lasttime = millis(); } alarm_jeśli_pożar(); } void handleInterrupt() { Serial.println("Wykryto przerwanie"); isfire=prawda; }

Zalecana: