- Απαιτούμενα υλικά:
- Διάγραμμα κυκλώματος:
- Πρόγραμμα Raspberry Python:
- Έλεγχος LED με Raspberry Pi και Telegram bot:
Το Telegram είναι μια βέλτιστη εφαρμογή που συνδυάζεται με το Raspberry Pi για όλους τους σκοπούς ελέγχου κινητών συσκευών. Έχει πολύ καλή υποστήριξη για προγραμματιστές και πολλές δυνατότητες σχεδιάζονται να κυκλοφορήσουν σύντομα για να βελτιώσουν την απόδοση του Telegram Bots. Στο προηγούμενο σεμινάριό μας μάθαμε πώς μπορούμε να δημιουργήσουμε ένα bot telegram για το raspberry pi και επίσης μάθαμε να έχουμε μια συνομιλία μαζί του και να μοιραζόμαστε εικόνες, έγγραφα και αρχεία ήχου.
Τώρα, θα προχωρήσουμε στο επόμενο βήμα μαθαίνοντας πώς μπορούμε να ελέγξουμε τις καρφίτσες GPIO στο Raspberry Pins χρησιμοποιώντας το Telegram, έτσι ώστε να παρέχουμε κάποια υποστήριξη υλικού για το bot μας. Σε αυτό το σεμινάριο θα Συνδέσουμε τέσσερα LED σε καρφίτσες Raspberry Pi GPIO και θα τα αλλάξουμε χρησιμοποιώντας τη φυσική γλώσσα (όπως συνομιλία) από το Telegram. Ακούγεται ενδιαφέρον, έτσι; Ας ξεκινήσουμε.
Απαιτούμενα υλικά:
- Τέσσερα LED (οποιοδήποτε χρώμα)
- Raspberry Pi (με σύνδεση στο Διαδίκτυο)
- Ψωμί
- Σύνδεση καλωδίων
Προϋποθέσεις:
Πριν συνεχίσετε με το σεμινάριο βεβαιωθείτε ότι το Raspberry Pi σας είναι συνδεδεμένο στο Διαδίκτυο και ότι μπορείτε να εκτελέσετε προγράμματα python στο Pi σας. Διαβάστε επίσης το προηγούμενο σεμινάριο για να μάθετε πώς να ρυθμίσετε το Telegram bot με το Raspberry Pi Pi, καθώς θα υποθέσω ότι είστε εξοικειωμένοι με αυτά τα πράγματα για να προχωρήσετε στο έργο.
Εάν είστε νέοι στο Raspberry Pi, ακολουθήστε το άρθρο Εισαγωγής Raspberry Pi και άλλους οδηγούς Raspberry Pi.
Διάγραμμα κυκλώματος:
Το διάγραμμα κυκλώματος για τον έλεγχο των LED που χρησιμοποιούν Raspberry Pi και Telegram Android App δεν είναι τίποτα περισσότερο από τέσσερα LED και μερικά καλώδια σύνδεσης. Δεν θα χρειαζόμαστε τις τρέχουσες περιοριστικές αντιστάσεις αφού οι ακίδες Raspberry Pi GPIO λειτουργούν σε 3.3V TTL. Ακολουθήστε το παρακάτω κύκλωμα και συνδέστε το LED σας.
Ο παρακάτω πίνακας θα σας βοηθήσει να προσδιορίσετε τον αριθμό pin και τον αριθμό GPIO για τη σύνδεση τεσσάρων led.
Τερματικό Led |
Αριθμός Pin |
Αριθμός GPIO |
Πράσινη άνοδος |
Καρφίτσα 31 |
GPIO 6 |
Κόκκινη άνοδος |
Καρφίτσα 33 |
GPIO 13 |
Κίτρινη άνοδος |
Καρφίτσα 35 |
GPIO 19 |
Λευκή άνοδος |
Καρφίτσα 37 |
GPIO 26 |
Κάθοδος και των τεσσάρων |
Καρφίτσα 39 |
Εδαφος |
Ακολουθεί το διάγραμμα κυκλώματος στο οποίο συνδέονται τέσσερα LED σύμφωνα με τον παραπάνω πίνακα:
Μόλις συνδέσετε τις ρυθμίσεις του υλικού σας, θα πρέπει να μοιάζει με αυτό παρακάτω.
Πρόγραμμα Raspberry Python:
Μόλις το υλικό είναι έτοιμο, μπορούμε να προχωρήσουμε με το Πρόγραμμα Python. Σε αυτό το πρόγραμμα πρέπει να διαβάσουμε τα δεδομένα (μήνυμα) που αποστέλλονται από το bot Telegram και να αλλάξουμε ανάλογα το LED. Για να το κάνουμε πιο φυσικό, αντί να ελέγξουμε κάθε πρόταση και να κωδικοποιήσουμε αυτές τις προτάσεις μέσα στο πρόγραμμά μας, μπορούμε να ελέγξουμε για λέξεις και να προχωρήσουμε αναλόγως.
Έτσι, το πρόγραμμα θα ελέγξει κυρίως για δύο λέξεις, είναι ενεργοποιημένες και απενεργοποιημένες. Μόλις εντοπίσει οποιαδήποτε από αυτές τις δύο λέξεις, θα αναζητήσει άλλες λέξεις-κλειδιά όπως το λευκό, το κίτρινο, το πράσινο και το κόκκινο. Η αντίστοιχη έγχρωμη λυχνία LED θα αλλάξει μόνο αν εντοπιστεί η λέξη. Θα ενημερώσουμε επίσης μια συμβολοσειρά για τις εντοπισμένες λέξεις για να στείλουμε ένα μήνυμα πίσω στο bot telegram.
Το πλήρες πρόγραμμα βρίσκεται στο κάτω μέρος αυτής της σελίδας. λίγο πιο κάτω εξήγησα το πρόγραμμα σπάζοντάς το σε μικρά μικρά σκουπίδια.
Για να λειτουργήσει αυτό το πρόγραμμα, χρειαζόμαστε τη λήψη του telepot και την εισαγωγή στο Raspberry Pi. Στο προηγούμενο σεμινάριό μας έχουμε ήδη κατεβάσει την τηλεμεταφορά στο Raspberry Pi, οπότε τώρα πρέπει απλώς να την εισαγάγουμε στο πρόγραμμά μας μαζί με τη βιβλιοθήκη GPIO όπως φαίνεται παρακάτω.
εισαγωγή RPi.GPIO ως GPIO εισαγωγή telepot από telepot.loop εισαγωγή MessageLoop
Θα ελέγχουμε τα φώτα LED χρησιμοποιώντας αυτό το πρόγραμμα και το χρώμα των LED θα είναι λευκό, κίτρινο, κόκκινο και πράσινο. Συνδέονται στις ακίδες που φαίνονται στο διάγραμμα κυκλώματος ας καθορίσουμε τα ονόματα των pin για αυτά τα LED με βάση το χρώμα τους, ώστε να τα χρησιμοποιούν στο πρόγραμμα.
λευκό = 26 κίτρινο = 19 κόκκινο = 13 πράσινο = 6
Το επόμενο βήμα θα ήταν να ορίσετε όλες αυτές τις καρφίτσες LED ως ακίδες εξόδου και να τις ορίσετε ως απενεργοποιημένες από προεπιλογή χρησιμοποιώντας τις παρακάτω γραμμές.
#LED White GPIO.setup (λευκό, GPIO.OUT) GPIO.output (λευκό, 0) #Off αρχικά #LED Κίτρινο GPIO.setup (κίτρινο, GPIO.OUT) GPIO.output (κίτρινο, 0) #Off αρχικά #LED Κόκκινο GPIO.setup (κόκκινο, GPIO.OUT) GPIO.output (κόκκινο, 0) #Off αρχικά #LED πράσινο GPIO.setup (πράσινο, GPIO.OUT) GPIO.output (πράσινο, 0) #Off αρχικά
Όπως μάθαμε στο προηγούμενο σεμινάριό μας, όλες οι ενέργειες που πρέπει να γίνουν από το Raspberry bot θα καθοριστούν εντός της ενέργειας λειτουργίας. Εδώ πρέπει να κάνουμε το bot να ακούσει το μήνυμα που στέλνει από κινητό, να το συγκρίνουμε με μερικές λέξεις-κλειδιά και να αλλάξουμε αντίστοιχα το LED.
Για κάθε μήνυμα που στέλνουμε από κινητό, θα υπάρχει αναγνωριστικό συνομιλίας και εντολή. Αυτό το αναγνωριστικό συνομιλίας απαιτείται από το πρόγραμμα για να απαντήσει πίσω στον αποστολέα. Έτσι αποθηκεύουμε το αναγνωριστικό συνομιλίας και το μήνυμα όπως φαίνεται παρακάτω.
chat_id = msg εντολή = msg
Τώρα, ό, τι στέλνουμε από το τηλέφωνο θα αποθηκευτεί ως συμβολοσειρά στην εντολή μεταβλητής. Έτσι, το μόνο που πρέπει να κάνουμε είναι να ελέγξουμε τις λέξεις κλειδιά σε αυτήν τη μεταβλητή. Η Python έχει μια εντολή διευκολύνει τα πράγματα εδώ. Για παράδειγμα, εάν πρέπει να ελέγξουμε εάν η λέξη "on" υπάρχει στη συμβολοσειρά που είναι αποθηκευμένη στη μεταβλητή εντολών , μπορούμε απλά να χρησιμοποιήσουμε την παρακάτω γραμμή.
εάν "on" στην εντολή:
Ομοίως, ελέγχουμε για όλες τις λέξεις-κλειδιά, μόλις λάβουμε ένα «ενεργοποιημένο», προχωράμε για να ελέγξουμε ποιο χρώμα έχει αναφέρει ο χρήστης. Αυτό γίνεται επίσης με τις ίδιες εντολές συγκρίνοντας τις ίδιες λέξεις-κλειδιά. Ενημερώνουμε επίσης ένα μήνυμα με το όνομα μιας συμβολοσειράς που μπορεί να απαντηθεί στον χρήστη ως μήνυμα κατάστασης.
if 'on' in command: message = "Ενεργοποιημένο" if 'white' στην εντολή: message = message + "white" GPIO.output (white, 1) if 'yellow' in command: message = message + "yellow" GPIO.output (κίτρινο, 1) εάν 'κόκκινο' στην εντολή: message = message + "red" GPIO.output (κόκκινο, 1) εάν 'green' στην εντολή: message = message + "green" GPIO.output (πράσινο, 1) εάν 'all' στην εντολή: message = message + "all" GPIO.output (λευκό, 1) GPIO.output (κίτρινο, 1) GPIO.output (κόκκινο, 1) GPIO.output (πράσινο, 1) message = message + "light (s)" telegram_bot.sendMessage (chat_id, μήνυμα)
Όπως φαίνεται παραπάνω, αναζητούμε λέξεις-κλειδιά όπως «πράσινο», «λευκό», «κόκκινο», «κίτρινο» και «όλα» και «Ενεργοποιημένο» μόνο το συγκεκριμένο LED. Μόλις ολοκληρωθεί η εργασία, στέλνουμε ένα μήνυμα στον χρήστη για το τι ακριβώς συνέβη. Η ίδια μέθοδος μπορεί να χρησιμοποιηθεί για να σβήσει καλά τα φώτα.
if 'off' in command: message = "Απενεργοποιημένο" if 'white' στην εντολή: message = message + "white" GPIO.output (white, 0) if 'yellow' in command: message = message + "yellow" GPIO.output (κίτρινο, 0) εάν 'κόκκινο' στην εντολή: message = message + "red" GPIO.output (κόκκινο, 0) εάν 'green' στην εντολή: message = message + "green" GPIO.output (πράσινο, 0) εάν στην εντολή 'all': message = message + "all" GPIO.output (white, 0) GPIO.output (yellow, 0) GPIO.output (red, 0) GPIO.output (green, 0) message = message + "light (s)" telegram_bot.sendMessage (chat_id, μήνυμα)
Έλεγχος LED με Raspberry Pi και Telegram bot:
Συνδέστε τα LED σας και ξεκινήστε το πρόγραμμά σας στο python. Βεβαιωθείτε ότι έχετε αλλάξει τη διεύθυνση Token για το bot σας. Και αρχίστε να πληκτρολογείτε τις εντολές που επιθυμείτε. Για παράδειγμα, για να ενεργοποιήσετε το κόκκινο και το κίτρινο φως μπορείτε να χρησιμοποιήσετε οποιαδήποτε από τις ακόλουθες εντολές.
1. Ενεργοποιήστε το κόκκινο και το κίτρινο φως
2. Ενεργοποιήστε το κόκκινο και το κίτρινο χρώμα δεξιά
3. Σε κόκκινο και κίτρινο
4.Please τεθεί για το κίτρινο και το κόκκινο φως
Όπως μπορείτε να δείτε το bot αναζητά μόνο τις λέξεις-κλειδιά και θα αγνοήσει τις άλλες λέξεις του Sentence, με αυτόν τον τρόπο μπορείτε να το μιλήσετε φυσικά. Η πλήρης εργασία του έργου βρίσκεται στο Βίντεο που δίνεται στο τέλος αυτής της σελίδας.
Προχώρα! παίξτε με το έργο σας και διασκεδάστε. Μπορείτε να το πάρετε σε ένα εντελώς νέο επίπεδο τώρα. Με το συνδυασμό του σεμιναρίου έχουμε τη δύναμη να ελέγξουμε οποιοδήποτε υλικό από το έξυπνο τηλέφωνό μας οπουδήποτε από τον κόσμο και επίσης να λαμβάνουμε εισόδους / αποτελέσματα από το Raspberry Pi σε μορφή μηνύματος, ήχου, εικόνας και ακόμη και ως έγγραφο. Εάν αντικαταστήσετε τις λυχνίες LED με ρελέ και συσκευές AC, τότε θα μπορούσε να είναι ένας οικιακός αυτοματισμός που ελέγχεται από έξυπνο τηλέφωνο. Χρησιμοποιήστε λοιπόν τη δημιουργικότητά σας και δημιουργήστε τα δικά σας δροσερά έργα…
Ελπίζω να σας άρεσε το έργο και να σας άρεσε να κατασκευάζετε κάτι παρόμοιο. Ενημερώστε με αν έχετε προβλήματα μέσω της ενότητας σχολίων και θα χαρώ να σας βοηθήσω. Μοιραστείτε επίσης τη δροσερή ιδέα σας μαζί μου και ας δούμε τι μπορούμε να οικοδομήσουμε.