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

[IoT] Telegram Bot Με Arduino MKR WiFi 1010: 5 Βήματα
[IoT] Telegram Bot Με Arduino MKR WiFi 1010: 5 Βήματα

Βίντεο: [IoT] Telegram Bot Με Arduino MKR WiFi 1010: 5 Βήματα

Βίντεο: [IoT] Telegram Bot Με Arduino MKR WiFi 1010: 5 Βήματα
Βίντεο: Реальная цена и обзор банкноты 100 рублей 1991 года. СССР. 2024, Ιούλιος
Anonim
Image
Image
Ο, τι χρειάζεσαι
Ο, τι χρειάζεσαι

Αυτό το έργο δείχνει πώς να διασυνδέσετε το Arduino με τα Telegram Bot API. Το έργο βασίζεται στη νέα πλακέτα MKR WiFi 1010 εξοπλισμένη με μονάδα ESP32 της U-BLOX.

Σε αυτό το στάδιο, το έργο δεν είναι παρά μια απόδειξη της ιδέας, απλά για να σας δείξει με τι θα μπορούσατε να κάνετε, οπότε για αυτό χρειάζεστε μόνο τον πίνακα Arduino.

Τι είναι όμως το Telegram Bot; Λοιπόν, τα Bots είναι απλώς λογαριασμοί Telegram που λειτουργούν από λογισμικό - όχι από άτομα - και συχνά θα έχουν δυνατότητες AI. Μπορούν να κάνουν τα πάντα - να διδάξουν, να παίξουν, να αναζητήσουν, να μεταδώσουν, να υπενθυμίσουν, να συνδεθούν, να ενσωματωθούν με άλλες υπηρεσίες ή ακόμα και να περάσουν εντολές στο Διαδίκτυο των Πραγμάτων. (πιστώσεις από το Telegram:

Στην περίπτωσή μας, θα περάσουμε εντολές στο Arduino δημιουργώντας μια απλή συσκευή IoT. Θα απαντήσει σε απλές εντολές και επίσης θα ενεργοποιήσει/απενεργοποιήσει το ενσωματωμένο Led. Θα αφήσω τη φαντασία σας να κάνει περισσότερα με αυτό … (φανταστείτε να συνδέσετε ένα ή περισσότερα ρελέ στις ακίδες εισόδου/εξόδου και να ενεργοποιήσετε/απενεργοποιήσετε μια θερμάστρα ή το σύστημα κλιματισμού με το smartphone σας, για παράδειγμα).

Βήμα 1: Αυτό που χρειάζεστε

Ο, τι χρειάζεσαι
Ο, τι χρειάζεσαι

Για αυτό το έργο χρειάζεστε:

  • Arduino MKR WiFi 1010 από το κατάστημα Arduino:
  • Arduino IDE 1.8.5 ή παραπάνω:
  • Ένα καλώδιο micro-usb για σύνδεση Arduino στον υπολογιστή σας
  • Μια σύνδεση στο Διαδίκτυο, απαιτεί το SSID και τον κωδικό πρόσβασης. Καλύτερα αν χρησιμοποιείτε το δικό σας δρομολογητή στο σπίτι για να βεβαιωθείτε ότι δεν έχει αποκλειστεί.
  • Εφαρμογή Telegram εγκατεστημένη στο smartphone σας, ανεξάρτητα από τη μάρκα. Ελέγξτε εδώ και για εκδόσεις υπολογιστή και ιστού!

Βήμα 2: Εγκατάσταση του IDE

Εγκατάσταση του IDE
Εγκατάσταση του IDE
Εγκατάσταση του IDE
Εγκατάσταση του IDE
Εγκατάσταση του IDE
Εγκατάσταση του IDE

Ναι, ξέρω, ξέρω… οι περισσότεροι από εσάς έχετε ήδη εγκαταστήσει το Arduino IDE στον υπολογιστή, αλλά αυτό το Instructables προορίζεται επίσης για αρχάριους. Έτσι, πρώτα απ 'όλα, κατεβάστε το Arduino IDE 1.8.5 της επιλογής σας (αρχείο zip για «μη διαχειριστές» ή αρχείο exe)

Συνιστάται η έκδοση 1.8.5, δεν δοκίμασα παλιές εκδόσεις και ο νέος πίνακας που χρησιμοποιήθηκε στο έργο δεν μπορούσε να υποστηριχθεί καθόλου.

Τώρα πρέπει να εγκαταστήσετε τους νέους πίνακες με τα προγράμματα οδήγησης:

  1. ξεκινήστε το IDE
  2. Από το μενού Εργαλεία επιλέξτε Πίνακες και, στην κορυφή της λίστας επεξεργαστών, επιλέξτε Διαχειριστής πινάκων.
  3. Κάντε κύλιση στο νέο παράθυρο (δείτε την εικόνα) μέχρι να βρείτε τους πίνακες Arduino SAMD που περιλαμβάνουν το νέο MKR WiFi 1010.
  4. Κάντε κλικ σε αυτήν την καρτέλα ή κάντε κλικ στην επιλογή Περισσότερες πληροφορίες μέσα στην καρτέλα, επιλέξτε την πιο πρόσφατη έκδοση και εγκαταστήστε.
  5. Περιμένετε να ολοκληρωθεί η εγκατάσταση. Θα φροντίσει επίσης για την εγκατάσταση προγραμμάτων οδήγησης
  6. Χρειάζεστε επίσης μια νέα βιβλιοθήκη WiFi για αυτόν τον πίνακα: επιλέξτε Sketch, Include Library και Manage Libraries. Αναζητήστε το Wifinina και εγκαταστήστε όπως κάνατε με τον παραπάνω επεξεργαστή.

Τώρα συνδέστε τη νέα πλακέτα Arduino και περιμένετε τα Windows να ολοκληρώσουν την εγκατάσταση του προγράμματος οδήγησης.

Από το μενού Εργαλεία-> Πίνακας θα βρείτε τους νέους πίνακες, επιλέξτε το MKR WiFi 1010.

Μια άλλη ειδική βιβλιοθήκη είναι απαραίτητη για αυτό το έργο, είναι η βιβλιοθήκη ESP8266TelegramBot του Giancarlo Bacchio. Η βιβλιοθήκη έχει τροποποιηθεί ελαφρώς για να λειτουργεί με αυτόν τον πίνακα και έτσι περιλαμβάνεται στο φάκελο του σκίτσου.

Επιλέξτε τη σωστή θύρα com και δοκιμάστε την πλακέτα με την εντολή Get Board Info.

Συγχαρητήρια, τελειώσατε με το IDE!

Βήμα 3: Δημιουργία του Telegram Bot

Δημιουργία του Telegram Bot
Δημιουργία του Telegram Bot
Δημιουργία του Telegram Bot
Δημιουργία του Telegram Bot
Δημιουργία του Telegram Bot
Δημιουργία του Telegram Bot

Η δημιουργία ενός νέου Telegram Bot είναι αρκετά απλή.

Ανοίξτε την εφαρμογή Telegram και, στη γραμμή αναζήτησης, πληκτρολογήστε @BotFather και ξεκινήστε μια συνομιλία μαζί του (εικόνα1). Το BotFather είναι το… εργοστάσιο Bot. Θα σας βοηθήσει να δημιουργήσετε ένα νέο bot και να αλλάξετε τις ρυθμίσεις του.

Μετά την εντολή /έναρξη θα δείτε τη λίστα βοήθειας (εικόνα2).

  • Τύπος /newbot (image3) Πληκτρολογήστε τώρα το όνομα του bot σας. Το όνομα εμφανίζεται στα στοιχεία επικοινωνίας και αλλού.
  • Το BotFather θα σας ζητήσει ένα όνομα χρήστη. Το όνομα χρήστη είναι ένα σύντομο όνομα, το οποίο πρέπει να χρησιμοποιείται σε αναφορές και συνδέσμους telegram.me. Τα ονόματα χρηστών έχουν μήκος 5-32 χαρακτήρες και δεν έχουν διάκριση πεζών-κεφαλαίων, αλλά ενδέχεται να περιλαμβάνουν μόνο λατινικούς χαρακτήρες, αριθμούς και υπογράμμιση. Το όνομα χρήστη του bot σας πρέπει να τελειώνει σε "bot", π.χ. «Tetris_bot» ή «TetrisBot».
  • Εάν και το όνομα και το όνομα χρήστη είναι έγκυρα, θα λάβετε μια μεγάλη σειρά χαρακτήρων που ονομάζεται TOKEN. Αυτό είναι το προσωπικό σας «κλειδί» που χρησιμοποιείται για την επικοινωνία με διακομιστές Telegram. Αντιγράψτε και επικολλήστε το σε ένα αρχείο κειμένου στον υπολογιστή σας προς το παρόν. Θα το χρησιμοποιήσουμε αργότερα στον κώδικα Arduino. Εάν το χάσετε μην ανησυχείτε, ανοίξτε ξανά τη συνομιλία και πληκτρολογήστε /διακριτικό για να δημιουργήσετε ένα νέο.

Όλα τα βήματα περιγράφονται εδώ:

Προηγμένο (προαιρετικό)

Ανοίξτε ξανά τη συνομιλία και πληκτρολογήστε /βοήθεια

Κάντε κλικ στο (ή πληκτρολογήστε) /setuserpic για να ανεβάσετε μια εικόνα για το bot σας. Κάντε κλικ στο (ή πληκτρολογήστε) /setabouttext για να ορίσετε την ενότητα Πληροφορίες για το Bot σας: Οι άνθρωποι θα δουν αυτό το κείμενο στη σελίδα προφίλ του bot και θα σταλεί μαζί με έναν σύνδεσμο προς το bot σας όταν το μοιράζεται με κάποιον.

Κάντε κλικ στο (ή πληκτρολογήστε) /setdescription για να ορίσετε μια ενότητα περιγραφής για το bot σας. Οι άνθρωποι θα δουν αυτήν την περιγραφή όταν ανοίξουν μια συνομιλία με το bot σας, σε ένα μπλοκ με τίτλο "Τι μπορεί να κάνει αυτό το bot;".

Βήμα 4: Τροποποίηση, μεταφόρτωση και δοκιμή του σκίτσου

Τροποποιήστε, ανεβάστε και δοκιμάστε το σκίτσο
Τροποποιήστε, ανεβάστε και δοκιμάστε το σκίτσο
Τροποποιήστε, ανεβάστε και δοκιμάστε το σκίτσο
Τροποποιήστε, ανεβάστε και δοκιμάστε το σκίτσο
Τροποποιήστε, ανεβάστε και δοκιμάστε το σκίτσο
Τροποποιήστε, ανεβάστε και δοκιμάστε το σκίτσο

It'sρθε η ώρα να ανεβάσετε το λογισμικό στον πίνακα Arduino MKR WiFi 1010.

Κατεβάστε τα συνημμένα αρχεία, για κάποιο λόγο δεν μπορώ να ανεβάσω ένα ZIP, οπότε δημιουργήστε ένα φάκελο που ονομάζεται σκίτσο και αντιγράψτε και τα 4 αρχεία μέσα σε αυτό, μην αλλάξετε ονόματα εκτός αν γνωρίζετε τι κάνετε.

Τροποποιώ

Ανοίξτε το σκίτσο, πρέπει να συμπληρώσουμε μερικές πληροφορίες (εικόνα1): συμπληρώστε το arduino_secrets.h με το διαπιστευτήριό σας wifi και τηλεγράφημα.

  • Εντοπίστε τις πληροφορίες δικτύου WiFi και πληκτρολογήστε το όνομα του δικτύου σας (SSID) και τον κωδικό πρόσβασης.
  • Εντοπίστε τις πληροφορίες του τηλεγράφου Bot και πληκτρολογήστε το όνομα, το όνομα χρήστη και το διακριτικό που παρέχονται από το @BotFather

Μεταφόρτωση

Βεβαιωθείτε ότι ο πίνακας είναι σωστός (εικόνα2) στο ide και συνδεδεμένος και δοκιμάστε να συντάξετε τον κώδικα. Εάν η συλλογή πάει καλά, ανεβάστε την στον πίνακα, θα διαρκέσει μόνο λίγα δευτερόλεπτα.

Σε περίπτωση προβλημάτων ελέγξτε για τυπογραφικό λάθος και προσπαθήστε ξανά.

Δοκιμή

[ΣΗΜΑΝΤΙΚΟ!] Το σκίτσο στέλνει αρχεία καταγραφής στο IDE. Ο επεξεργαστής έχει μια εγγενή θύρα USB (όπως οι πλακέτες Leonardo). Μόλις ενεργοποιηθεί, ο κωδικός θα περιμένει μέχρι να εκτελεστεί η σειριακή οθόνη. Έτσι, αφήστε το να συνδεθεί στον υπολογιστή και ανοίξτε τη σειριακή οθόνη. Το Arduino θα συνδεθεί πρώτα στο διαδίκτυο και μετά θα αρχίσει να κάνει δημοσκόπηση στον διακομιστή Telegram για νέα μηνύματα (εικόνα3).

Τώρα ανοίξτε το Telegram στη συσκευή που προτιμάτε και, στο πλαίσιο αναζήτησης, πληκτρολογήστε το όνομα του bot σας (όχι το όνομα χρήστη που τελειώνει με "bot"). Ανοίξτε μια συνομιλία με αυτό.

Η πρώτη εντολή για να ξεκινήσετε μια συνομιλία με ένα bot είναι /start, το Arduino μας θα απαντήσει με ένα μήνυμα καλωσορίσματος. Τώρα πληκτρολογήστε βοήθεια (χωρίς κάθετο), θα απαντήσει με μια λίστα υποστηριζόμενων εντολών, μπορείτε να τις δοκιμάσετε όλες (εικόνα4).

Τελειώσατε με τη δοκιμή, εάν κάτι δεν λειτουργεί, ελέγξτε τις πληροφορίες που έχουν εισαχθεί στο σκίτσο (όνομα, όνομα χρήστη, διακριτικό…)

ΠιστοποιητικάΕάν αντιμετωπίζετε σφάλματα με τη σύνδεση στον διακομιστή τηλεγραφήματος (αρχείο καταγραφής: Το Bot δεν είναι συνδεδεμένο):

  • Ανοίξτε Εργαλεία-> Wifi101/wifinina updater
  • Βεβαιωθείτε ότι η πλακέτα σας είναι συνδεδεμένη, ελέγξτε τις θύρες στα αριστερά του εργαλείου ενημέρωσης, ο πίνακας πρέπει να είναι εκεί
  • Κάντε κλικ στην επιλογή Άνοιγμα σκίτσου ενημέρωσης και ανεβάστε το στον πίνακα
  • Μετά τη μεταφόρτωση, στο πρόγραμμα ενημέρωσης επιλέξτε το πιο πρόσφατο υλικολογισμικό για την πλακέτα σας και κάντε κλικ στην ενημέρωση υλικολογισμικού
  • Μετά την ενημέρωση, στο πρόγραμμα ενημέρωσης, ενότητα πιστοποιητικά SSL, κάντε κλικ στην επιλογή Προσθήκη τομέα, στο παράθυρο διαλόγου γράψτε telegram.org:443 και στη συνέχεια πατήστε OK.
  • Κάντε κλικ στην επιλογή Μεταφόρτωση πιστοποιητικών σε μονάδα wifi
  • Ανεβάστε αυτό το σκίτσο στον πίνακα

Βήμα 5: Βελτιώσεις

Βελτιώσεις
Βελτιώσεις

Κοιτάζοντας τον κώδικα είναι πολύ απλό να εφαρμόσετε νέες εντολές και να απαντήσετε στον χρήστη.

Νέες εντολές: Μπορείτε να γράψετε ένα δευτερεύον για κάθε νέα εντολή. Κάθε sub θα φροντίσει να ολοκληρώσει την εντολή και (τελικά) να επιστρέψει μια πληροφορία κατάστασης στον χρήστη.

Περιορισμός χρηστών: Φυσικά αυτό το έργο είναι μόνο ένα demo. Οποιοσδήποτε χρήστης του Telegram μπορεί να συνδεθεί στο σπίτι σας και να στείλει ανεπιθύμητες εντολές. Δεν το θες αυτό !.

Λοιπόν, κοιτάξτε την εικόνα1, δείχνει 2 χρήστες συνδεδεμένους. Όπως μπορείτε να δείτε, κάθε χρήστης έχει το δικό του αναγνωριστικό χρήστη. Με λίγη δουλειά στην πλευρά του κώδικα, μπορείτε να φιλτράρετε (ή να δημιουργήσετε μια λίστα) μόνο για εξουσιοδοτημένους χρήστες. Απλώς μελετήστε τον κώδικα και δοκιμάστε να υποκλέψετε τον αριθμό ταυτότητας χρήστη. Στη συνέχεια, εκτελέστε εντολές μόνο από γνωστούς χρήστες.

Υλικό: Από την πλευρά του υλικού, πολλοί αισθητήρες και ρελέ μπορούν να συνδεθούν στις ακίδες εισόδου/εξόδου του Arduino.

Προσοχή: ο πίνακας που χρησιμοποιείται σε αυτό το έργο είναι ανθεκτικός στα 3.3V !!! Χρησιμοποιήστε έναν μετατροπέα στάθμης τάσης όπου είναι απαραίτητο! Για περισσότερες πληροφορίες και συμβουλές σχετικά με αυτόν τον πίνακα, διαβάστε εδώ:

Αυτό είναι όλο, απολαύστε!

Συνιστάται: