Το Raspberry Pi ήταν πάντα διασκεδαστικό και εύκολο στην κατασκευή έργων. Η ισχυρή αρχιτεκτονική ARM και το λειτουργικό σύστημα ανοιχτού κώδικα που βασίζεται σε Linux μας βοήθησαν πολύ να κάνουμε τα έργα μας στο διαδίκτυο σε χρόνο μηδέν. Σε αυτό το σεμινάριο θα μάθουμε έναν άλλο ενδιαφέρον τρόπο για την κοινή χρήση δεδομένων (αρχεία / φωτογραφίες / βίντεο / ήχους / κείμενο) μεταξύ του Raspberry Pi και του κινητού μας τηλεφώνου μέσω μιας δημοφιλούς εφαρμογής συνομιλίας που ονομάζεται Telegram.
Για όσους είναι νέοι στο Telegram, είναι μια εφαρμογή που βασίζεται σε συνομιλία διαθέσιμη στο play store για Android (διατίθεται επίσης για iPhone και παράθυρα) που μοιάζει πολύ με το Whatsapp. Έχει πάνω από 100 εκατομμύρια λήψεις (όπως στις 5-10-2017) στο play store και οι άνθρωποι ισχυρίζονται ότι είναι πιο γρήγορο και πιο λειτουργικό από το Whatsapp (σταυρωμένα δάχτυλα). Ένα ιδιαίτερο χαρακτηριστικό αυτής της εφαρμογής είναι ότι υποστηρίζουν bots. Αυτό σημαίνει ότι αυτή η εφαρμογή έξυπνου τηλεφώνου δεν μπορεί να χρησιμοποιηθεί μόνο από τους ανθρώπους αλλά και από τη μηχανή. Στην περίπτωσή μας το μηχάνημα θα είναι Raspberry Pi. Μόλις εκπαιδεύσετε το Raspberry Pi για το πώς να ενεργείτε ως bot, οποιοσδήποτε (αν το δημοσιεύσετε) μπορεί να συνομιλήσει με το Raspberry Pi σας, όπως να συνομιλήσετε με οποιοδήποτε κανονικό άτομο, ακόμη και να μοιραστείτε αρχεία φωτογραφιών με φωτογραφίες και αρχεία ήχου. Μπορείτε ακόμη και να το εκπαιδεύσετε για να είναι ο προσωπικός σας βοηθός, ακούγεται υπέροχο, σωστά; Ας μάθουμε πώς να φτιάχνουμε έναBot telegram Raspberry pi.
Απαιτούμενα υλικά:
- Οποιοδήποτε Raspberry Pi συνδεδεμένο στο Διαδίκτυο
- Μια εφαρμογή που εκτελεί κινητό τηλέφωνο.
Δεν υπάρχει μεγάλο υλικό σε αυτό το έργο, οπότε χαλαρώστε στην καρέκλα σας με το Pi σας και ακολουθήστε τα παρακάτω βήματα. Εάν είστε νέοι στο Raspberry Pi, ακολουθήστε το άρθρο Εισαγωγής Raspberry Pi και άλλους οδηγούς Raspberry Pi.
Βήμα 1: Εγκατάσταση Telegram στο κινητό σας
Το πρώτο βήμα θα ήταν να εγκαταστήσετε το Telegram στο κινητό σας. Το Telegram είναι διαθέσιμο για Android, IOS και ακόμη και για πλατφόρμα Windows, οπότε απλώς προχωρήστε και κατεβάστε την εφαρμογή Telegram. Ακριβώς όπως και σε όλες τις εφαρμογές, θα υπάρχει μια μικρή διαδικασία εγγραφής για να ξεκινήσετε τη χρήση του Telegram, συνεχίστε με αυτήν μέχρι να φτάσετε στην αρχική οθόνη σας.
Βήμα 2: Μιλήστε στον Bot Father
Το επόμενο βήμα θα ήταν να ζητήσετε από τον Bot Father να μας δημιουργήσει ένα νέο Bot. Στην επάνω δεξιά γωνία της Αρχικής οθόνης θα υπάρχει ένα εικονίδιο αναζήτησης, κάντε κλικ σε αυτό για να αναζητήσετε το όνομα "botfather". Το Botfather είναι ένα Bot από μόνο του, θα σας καθοδηγήσει να δημιουργήσετε ένα νέο bot για εσάς. Κάντε κλικ στο start και επιλέξτε / newbot όπως φαίνεται στην παρακάτω εικόνα. Τώρα, το bot θα ζητήσει λίγες λεπτομέρειες όπως το όνομα του bot σας και το όνομα χρήστη του bot. Συμπληρώστε αυτές τις λεπτομέρειες και θυμηθείτε το όνομα χρήστη γιατί θα τα χρειαζόμαστε στο μέλλον.
Βήμα 3: Λήψη του διακριτικού σας για πρόσβαση
Έχω ονομάσει bot ως circuitdigest και το όνομα χρήστη ως circuitdigestBot. Μετά από αυτήν τη διαδικασία, ο botfather θα σας δώσει ένα κουπόνι για πρόσβαση. Αυτός είναι όπως ο κωδικός πρόσβασης για το bot σας, οι χρήστες μπορούν να ελέγχουν το πρόγραμμα bot σας χρησιμοποιώντας αυτό το κλειδί διακριτικού Επομένως, διατηρήστε το ασφαλές και μην το μοιραστείτε με κανέναν. Μόλις λάβετε αυτό το κλειδί διακριτικού, είναι καιρός να προχωρήσετε στο Raspberry Pi.
Βήμα 4: Telepot για εγκατάσταση Telegram στο Raspberry Pi
Η χρήση του Telegram Bot στο Raspberry Pi είναι δυνατή από το πακέτο python που ονομάζεται Telepot. Πρέπει να εγκαταστήσουμε αυτό το πακέτο στο Raspberry Pi χρησιμοποιώντας τις ακόλουθες εντολές στο τερματικό Lx
sudo apt-get install python-pip sudo pip install telepot
Μόλις το Telepot εισαχθεί στο Raspberry μπορούμε να χρησιμοποιήσουμε αυτό το πακέτο στο πρόγραμμα python για να επικοινωνήσουμε με το Telegram Bot.
Βήμα 5: Προγραμματισμός του Raspberry Pi
Το bot που μόλις δημιουργήσαμε στο Telegram είναι σαν ένα μωρό, δεν μπορεί να κάνει τίποτα μόνο του, εκτός αν το διδάξουμε τι και πώς να κάνει πράγματα. Αυτή η διδασκαλία μπορεί να γίνει μέσω των σεναρίων Raspberry Pi και Python. Σε αυτό το σεμινάριο έχω προγραμματίσει το bot να εκτελέσει ορισμένες βασικές ενέργειες όπως η αποστολή μηνύματος, φωτογραφίας, ήχου και εγγράφου. Έτσι, όταν λέτε μια συγκεκριμένη εντολή, θα ανταποκριθεί με μια συγκεκριμένη ενέργεια, η εντολή και η ενέργεια παρατίθενται στον παρακάτω πίνακα
Εντολή από το Telegram |
Απάντηση από το Raspberry Pi |
/γεια |
Απαντήσεις με μια συμβολοσειρά "Γεια! CircuitDigest " |
/χρόνος |
Απαντήσεις με την τρέχουσα ώρα |
/λογότυπο |
Απαντήσεις με εικόνα (λογότυπο του CircuitDigest) |
/αρχείο |
Απαντήσεις με ένα αρχείο (που περιέχει το τρέχον πρόγραμμα) |
/ ήχος |
Απαντήσεις με ένα δοκιμαστικό αρχείο ήχου |
Το πλήρες πρόγραμμα για να κάνετε τις παραπάνω ενέργειες δίνεται στο κάτω μέρος αυτής της σελίδας. Αλλά ακριβώς παρακάτω, εξήγησα τα σημαντικά αποσπάσματα του προγράμματος για να σας βοηθήσω να κατανοήσετε πώς λειτουργεί το πρόγραμμα.
Το πρώτο βήμα είναι να εισαγάγουμε όλες τις βιβλιοθήκες, εδώ θα χρειαστεί προφανώς η βιβλιοθήκη teleport για να χρησιμοποιήσει το τηλεγράφημα bot. Χρησιμοποιούμε επίσης τη βιβλιοθήκη χρόνου, χρονοδιαγράμματος για να διαβάσουμε την τρέχουσα ώρα για το Raspberry pi. Στη συνέχεια, δημιουργούμε ένα αντικείμενο στο οποίο αποθηκεύεται η τιμή.
εισαγωγή χρόνου, ημερομηνία εισαγωγής telepot από telepot.loop εισαγωγή MessageLoop now = datetime.datetime.now ()
Το επόμενο βήμα είναι να δημιουργήσετε μια συνάρτηση για τη λήψη ενεργειών με βάση τις εισερχόμενες εντολές από την εφαρμογή Telegram στο Mobile. Εδώ το όνομα της συνάρτησης είναι δράση. Είναι μέσα σε αυτήν τη λειτουργία όπου το bot ζωντανεύει. Το bot μας δεν μπορεί να ξεκινήσει μια συνομιλία από μόνο του, μπορεί να απαντήσει μόνο αν ρωτήσουμε κάτι. Έτσι κάθε φορά που ρωτάμε κάτι θα υπάρχει ένα αναγνωριστικό συνομιλίας. Αυτό το αναγνωριστικό συνομιλίας είναι κάτι παρόμοιο με μια διεύθυνση, χρησιμοποιώντας μόνο αυτό το αναγνωριστικό συνομιλίας ένα bot μπορεί να μας απαντήσει. Έτσι, το πρώτο βήμα είναι να διαβάσετε το αναγνωριστικό συνομιλίας και το μήνυμα που προσπαθεί να μας πει. Εκτυπώνουμε επίσης το ληφθέν μήνυμα για εντοπισμό σφαλμάτων.
def action (msg): chat_id = msg command = msg print 'Λήφθηκε:% s'% εντολή
Περαιτέρω κάτω από τη συνάρτηση συγκρίνουμε αυτήν την εντολή με ένα προκαθορισμένο κείμενο και εκτελούμε συγκεκριμένες εργασίες. Αυτή η πρώτη εντολή θα είναι / γεια στην οποία απαντάμε "Γεια! CircuitDigest "
if command == '/ hi': telegram_bot.sendMessage (chat_id, str ("Γεια! CircuitDigest"))
Η επόμενη εντολή θα είναι / time , στην οποία απαντάμε την τρέχουσα ώρα. Έχουμε ήδη την ώρα και την ημερομηνία τώρα, εδώ απλώς χωρίστε με βάση την ώρα και το λεπτό και προσθέστε το ως χρησιμοποιώντας τη λειτουργία str
εντολή elif == '/ time': telegram_bot.sendMessage (chat_id, str (now.hour) + str (":") + str (now.minute))
Η επόμενη εντολή θα είναι / logo , στην οποία το bot θα πάρει μια εικόνα από ένα url και θα μας την στείλει. Μια εικόνα μπορεί να σταλεί είτε από μια διεύθυνση URL είτε από τον σκληρό δίσκο. Εδώ μόλις χρησιμοποίησα τη διεύθυνση URL που εμφανίζει το λογότυπο του CircuitDigest.
εντολή elif == '/ logo': telegram_bot.sendPhoto (chat_id, photo = "https://i.pinimg.com/avatars/circuitdigest_1464122100_280.jpg")
Η επόμενη εντολή θα είναι / file , το οποίο θα στείλει το αρχείο με το όνομα Aisha.py από τον σκληρό δίσκο. Μπορείτε να στείλετε οποιοδήποτε αρχείο επιθυμείτε αλλάζοντας τη διεύθυνση του καταλόγου
εντολή elif == '/ file': telegram_bot.sendDocument (chat_id, document = open ('/ home / pi / Aisha.py'))
Η τελευταία εντολή θα είναι / audio . Αυτό μπορεί να στείλει οποιοδήποτε αρχείο mp3 από τον σκληρό δίσκο, μόλις χρησιμοποίησα ένα αρχείο ήχου που ονομάζεται test.mp3 ως επίδειξη εδώ
εντολή elif == '/ audio': telegram_bot.sendAudio (chat_id, audio = open ('/ home / pi / test.mp3'))
Εντάξει τώρα έρχεται το πιο σημαντικό βήμα, εδώ δίνουμε πρόσβαση στο τηλεγράφημα bot μας στο σενάριο Python. Εδώ ονομάζουμε το bot ως telegram_bot και του αποδίδουμε τη διεύθυνση διακριτικού που δόθηκε από τον botfather μας στο βήμα 3. Στην παρακάτω γραμμή έχω αφαιρέσει τα τελευταία ψηφία του διακριτικού μου ως ζήτημα απορρήτου. Χρησιμοποιούμε επίσης την εκτύπωση get me για να εμφανίσω τις λεπτομέρειες του Bot στην οθόνη του κελύφους, αυτό θα μας βοηθήσει να παρατηρήσουμε ότι τα πράγματα λειτουργούν.
telegram_bot = telepot.Bot ('468382312: AAFhURMxpVlMWEdFzbIQLszBPFEUpXXXXXX') εκτύπωση (telegram_bot.getMe ())
Ελπίζω να καταλάβατε πώς λειτουργεί το πρόγραμμα, τώρα ας προχωρήσουμε στο επόμενο βήμα.
Βήμα 6: Εκτέλεση του προγράμματος στο Raspberry Pi
Όπως ειπώθηκε νωρίτερα, το πλήρες πρόγραμμα δίνεται στο τέλος αυτής της σελίδας, μπορείτε επίσης να το κατεβάσετε από εδώ. Μόλις ανοίξετε τον κωδικό, βεβαιωθείτε ότι έχετε αλλάξει τη διεύθυνση διακριτικού του προγράμματος σε διεύθυνση διακριτικού.
Τώρα εκτελέστε τον κωδικό python και θα πρέπει να δείτε τις λεπτομέρειες του bot σας στο παράθυρο κελύφους έτσι
Εδώ, το όνομα χρήστη bot μου είναι circuitdigestBot. Εάν λάβετε εδώ το όνομα των bots σας, αυτό σημαίνει ότι όλα πάνε καλά.
Μόλις δείτε " σε λειτουργία " σημαίνει ότι το bot σας είναι έτοιμο για δράση και τώρα μπορεί να απαντήσει στις εντολές σας.
Βήμα 7: Απολαύστε την έξοδο
Τώρα, το μόνο που μένει είναι να ελέγξουμε πόσο καλά ανταποκρίνεται το bot σας για το πρόγραμμά σας. Αναζητήστε το όνομα του bot σας στην περίπτωσή μου είναι "circuitdigestBot". Αναζητήστε όνομα χρήστη και όχι ή Όνομα Bot, το όνομα χρήστη θα πρέπει να τελειώνει με bot.
Μόλις ανοίξετε το bot σας, κάντε κλικ στο start και πληκτρολογήστε οποιεσδήποτε εντολές όπως / hi, / time, / file, / logo ή / audio και θα πρέπει να απαντήσετε ανάλογα.
Μπορείτε να χρησιμοποιήσετε το σενάριο κελύφους για να δείτε σε τι ανταποκρίνεται το σενάριό σας αυτήν τη στιγμή. Η πλήρης εργασία βρίσκεται στο βίντεο που δίνεται στο τέλος αυτής της σελίδας.
Βήμα 8: Δώσε μου ένα High Five
Ελπίζω να καταλάβατε το σεμινάριο και τώρα θα μπορείτε να δημιουργήσετε αυτό το bot telegram Raspberry pi και να επικοινωνήσετε με το Raspberry Pi χρησιμοποιώντας την εφαρμογή Telegram. Αλίμονο! Αν έχετε προβλήματα, ενημερώστε μας μέσω της ενότητας σχολίων και θα προσπαθήσω να επικοινωνήσω μαζί σας. Επίσης, επιτρέψτε μου να ξέρω πώς σας άρεσε αυτό το έργο ή τι θα θέλατε να δημιουργήσω χρησιμοποιώντας αυτό σε προσεχή έργα.
Επίσης, στο επόμενο σεμινάριό μας. Θα το κάνουμε αυτό πιο δροσερό αλλάζοντας τον τρόπο αποστολής εντολών και κάτι που σχετίζεται περισσότερο με το υλικό στο Raspberry Pi.