Πίνακας περιεχομένων:

Telegram Flame Alarm Bot: 5 Βήματα
Telegram Flame Alarm Bot: 5 Βήματα

Βίντεο: Telegram Flame Alarm Bot: 5 Βήματα

Βίντεο: Telegram Flame Alarm Bot: 5 Βήματα
Βίντεο: ЮЛЯ ФИНЕСС: Как я вышла с 8 этажа! Групповое изнасилование под мефедроном, психиатрическая больница 2024, Νοέμβριος
Anonim
Μπότ συναγερμού φλόγας Telegram
Μπότ συναγερμού φλόγας Telegram

Σε αυτό το άρθρο θα παρουσιάσω το έργο IoT που επιτρέπει την αίσθηση της φλόγας και την αποστολή ειδοποιήσεων στο Telegram του χρήστη.

Τι θα χρειαστείτε:

  • Μονάδα αισθητήρα φλόγας
  • Μικροελεγκτής NodeMCU ESP8266
  • Πηγή ενέργειας
  • WiFi
  • Συσκευή εξόδου με τηλεγράφημα

Βήμα 1: Υλικό

Σκεύη, εξαρτήματα
Σκεύη, εξαρτήματα
Σκεύη, εξαρτήματα
Σκεύη, εξαρτήματα

Μονάδα αισθητήρα φλόγας Αυτή η μονάδα περιέχει ένα φωτοτρανζίστορ και ηλεκτρονικά συστήματα ρύθμισης σήματος. Ένα φωτοτρανζίστορ μεταφέρει περισσότερο ηλεκτρικό ρεύμα όταν εκτίθεται στο φως. Η φυσική μας δίδαξε ότι το (ορατό) φως περιλαμβάνει όλα τα χρώματα, από κόκκινο έως ιώδες. Επικαλύπτοντας το φωτοτρανζίστορ με μαύρο εποξικό, γίνεται πιο ευαίσθητο στο κόκκινο ή ακόμα και αόρατο κάτω από το κόκκινο ή το υπέρυθρο. Είναι ενδιαφέρον ότι η φλόγα εκπέμπει υπέρυθρη ακτινοβολία. Έτσι, όταν αυτός ο αισθητήρας βλέπει φλόγα, μεταφέρει περισσότερο ρεύμα. Το NodeMCU είναι ένας πίνακας συμβατός με το Arduino που διαθέτει τον πυρήνα του ESP8266. Έγινε δημοφιλές επειδή είναι ένας μικροελεγκτής έτοιμος για WiFi από μόνο του - δεν χρειάζεται Arduino. Ο στόχος αυτού του άρθρου είναι να εμφανίσει όλα τα pinout και τους πίνακες NodeMCU που είναι διαθέσιμοι αυτήν τη στιγμή. Σημειώστε ότι όταν προγραμματίζετε αυτούς τους πίνακες χρησιμοποιώντας τον πυρήνα ESP στο Arduino IDE, οι αριθμοί GPIO χρησιμοποιούνται αντί για αυτό που υπάρχει στον πίνακα.

Βήμα 2: Σύνδεση

Σύνδεση
Σύνδεση

Αισθητήρας συνδεδεμένος στο GPIO0 για διακοπές.

Οι διακοπές είναι χρήσιμες για να γίνονται πράγματα αυτόματα σε προγράμματα μικροελεγκτών και μπορούν να βοηθήσουν στην επίλυση προβλημάτων χρονισμού. Με τις διακοπές δεν χρειάζεται να ελέγχετε συνεχώς την τρέχουσα τιμή καρφίτσας. Όταν εντοπιστεί μια αλλαγή, ενεργοποιείται ένα συμβάν - καλείται μια συνάρτηση. Αυτή η λειτουργία ονομάζεται διακοπή ρουτίνας υπηρεσίας (ISR). Όταν συμβαίνει διακοπή, ο επεξεργαστής σταματά την εκτέλεση του κύριου προγράμματος για την εκτέλεση μιας εργασίας και, στη συνέχεια, επιστρέφει στο κύριο πρόγραμμα

Βήμα 3: Telegram Bot

Telegram Bot
Telegram Bot

Τα bot είναι εφαρμογές τρίτων που τρέχουν μέσα στο Telegram. Οι χρήστες μπορούν να αλληλεπιδράσουν με bots στέλνοντας μηνύματα, εντολές και ενσωματωμένα αιτήματα. Μπορούμε να ελέγξουμε τα bots μας μέσω HTTP API που παρέχονται από το Telegram.

Ένα bot Telegram είναι μια εφαρμογή που φιλοξενείται σε έναν διακομιστή (εδώ είναι το ESP8266) που χρησιμοποιεί το Telegram bot API για να συνδεθεί με πελάτες Telegram Messenger. Ένα μεγάλο πλεονέκτημα των ρομπότ Telegram είναι ότι έχουν μηδενικές απαιτήσεις εγκατάστασης και λειτουργούν απρόσκοπτα σε όλες τις πλατφόρμες υπολογιστών ή κινητών όπου λειτουργεί το Telegram Messenger. Διαμόρφωση του Telegram Bot Εγκαταστήστε το Telegram στο φορητό υπολογιστή ή το τηλέφωνό σας και αναζητήστε το BotFather. Μέσω του BotFather μπορούμε να δημιουργήσουμε ένα νέο bot. Αφού δημιουργήσουμε ένα νέο bot, πρέπει να σημειώσουμε το διακριτικό που είναι το κλειδί αλληλεπίδρασης μεταξύ της συσκευής και του Telegram bot API.

Βήμα 4: Λογισμικό

Κατεβάστε τη βιβλιοθήκη Telegram Bot

Ανοίξτε το Arduino IDE, μεταβείτε στο "Sketch", επιλέξτε "Include Library" και κάντε κλικ στο "Add. ZIP Library".

#περιλαμβάνω

#include #include // Αρχικοποίηση σύνδεσης Wifi στο δρομολογητή char ssid = "wifi"; // SSID (όνομα) κωδικός πρόσβασης char = "12345678"; // κλειδί δικτύου int κατάσταση = 0; // Αρχικοποίηση Telegram BOT #define BOTtoken "1234567890: AAEsdxDfSL57kpfZz1bduD9j4fddsiyfg" // token from @BotFather #define BOTname "ESP8266 FireBot" // bot name #define BOTusername, BOTusername, BOTusername, BOTusername, BOTname int Bot_mtbs = 1000; // χρόνος ανανέωσης για μεγάλο χρονικό διάστημα Bot_lasttime; bool Έναρξη = false; bool isfire = false? bool haveid = false? int var = 0; Αναγνωριστικό συμβολοσειράς void 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 ("Interrupt Detected"); isfire = true? }

Συνιστάται: