- Χρειαζονται ΥΛΙΚΑ
- Προαπαιτούμενα
- Εγκαταστήστε το TTS Engine (Espeak) για το Raspberry Pi
- Δημιουργία GUI για ρολόι ξυπνητηριού Raspberry Pi
- Σχεδιάζοντας το GUI χρησιμοποιώντας το Qt Designer
« Καλημέρα. Είναι 7:00 π.μ. Ο καιρός στο Μαλιμπού είναι 72 βαθμούς με διάσπαρτα σύννεφα. Οι συνθήκες σερφ είναι δίκαιες με υψηλές γραμμές μέσης-ώμου. Η υψηλή παλίρροια θα είναι στις 10:52 π.μ. ". Κάθε φορά που ακούω αυτήν τη φωνή του Jarvis στην ταινία Iron Man, μου στέλνει ρίγη κάτω από τη σπονδυλική στήλη μου. Είμαι βέβαιος ότι όπως και εγώ πολλοί θα ονειρευόταν να ζήσουν μια ζωή τόσο εξελιγμένη όσο ο Tony Stark. Δυστυχώς, όμως, δεν έχουμε προχωρήσει με την τεχνολογία ενός μικροσκοπικού αντιδραστήρα Arc ή ενός AI τόσο έξυπνου όσο το JARVIS. Αλλά είναι δυνατό να αντικαταστήσουμε τα βαρετά πρωινά ξυπνητήρια μας με αυτό που είναι παρόμοιο με το Jarvis χρησιμοποιώντας ένα Raspberry Pi. Στο τέλος αυτού του έργου, θα δημιουργήσουμε ένα πολύ βασικό GUI χρησιμοποιώντας το οποίο μπορούμε να ορίσουμε έναν συναγερμό και όταν συνεχίσει ο συναγερμός θα έχουμε μια φωνή που θα μας λέει την τρέχουσα ώρα και μέρα με κάποιο προκαθορισμένο κείμενο. Ακούγεται δροσερό !! Ας δημιουργήσουμε λοιπόν ένα.
Χρειαζονται ΥΛΙΚΑ
- Raspberry Pi
- Οθόνη TFT LCD 3,5 ιντσών
- Ομιλητής
- Καλώδιο AUX
- Σύνδεση στο Internet
Προαπαιτούμενα
Υποτίθεται ότι το Raspberry Pi σας έχει ήδη αναβοσβήνει με ένα λειτουργικό σύστημα και μπορεί να συνδεθεί στο Διαδίκτυο. Εάν όχι, ακολουθήστε τον οδηγό Ξεκινώντας με το Raspberry Pi πριν συνεχίσετε. Εδώ χρησιμοποιούμε το Rasbian Jessie εγκατεστημένο στο Raspberry Pi 3.
Υποτίθεται επίσης ότι έχετε πρόσβαση στο pi σας είτε μέσω παραθύρων τερματικού είτε μέσω άλλης εφαρμογής χρησιμοποιώντας την οποία μπορείτε να γράψετε και να εκτελέσετε προγράμματα python και να χρησιμοποιήσετε το παράθυρο τερματικού.
Ίσως θελήσετε επίσης να δείτε πώς να συνδέσετε το TFT LCD 3,5 ιντσών με το Raspberry Pi, καθώς θα το χρησιμοποιούμε σε αυτό το έργο.
Εγκαταστήστε το TTS Engine (Espeak) για το Raspberry Pi
Όπως αναφέρει ο τίτλος του έργου, θα χτίσουμε ένα ρολόι ομιλίας. Για να κάνουμε το Pi να μιλάει, χρειαζόμαστε μια μηχανή κειμένου σε ομιλία (TTS). Υπάρχουν τόσες πολλές επιλογές για να διαλέξετε, αλλά για λόγους απλότητας έχω επιλέξει τον Espeak Engine. Για να εγκαταστήσετε το Espeak στο Pi απλώς εκτελέστε την ακόλουθη εντολή στο τερματικό σας
sudo apt-get install espeak sudo apt-get install espeak python-espeak
Δημιουργία GUI για ρολόι ξυπνητηριού Raspberry Pi
Για αυτό το έργο πρέπει να αναπτύξουμε ένα GUI που αντιπροσωπεύει ένα ξυπνητήρι έτσι ώστε ο χρήστης να μπορεί να δει την τρέχουσα ώρα και επίσης να ρυθμίζει το ξυπνητήρι. Υπάρχουν πολλές επιλογές για την ανάπτυξη ενός GUI χρησιμοποιώντας το Python, αλλά το πιο δημοφιλές και ευέλικτο είναι το PyQt4, οπότε θα το χρησιμοποιήσουμε για να αναπτύξουμε το GUI μας. Στις παρακάτω επικεφαλίδες συζητάμε πώς να χρησιμοποιήσετε το PyQt4 για να σχεδιάσετε τα δικά σας GUI, αλλά αν δεν σας ενδιαφέρει μπορείτε να μεταβείτε απευθείας στην επικεφαλίδα " Πρόγραμμα για ξυπνητήρι ομιλίας "
Εγκατάσταση του PyQt4 με το σχεδιαστή Qt στο Windows Machine σας
Δεδομένου ότι σχεδιάζουμε ένα GUI θα ξεκινήσουμε πρώτα τον προγραμματισμό μας στον φορητό υπολογιστή μας (windows / Linux) και στη συνέχεια θα μεταφέρουμε αυτό το σενάριο python για να δουλέψουμε στο Pi μας. Δεδομένου ότι το PyQt4 έχει μια πολύ καλή φορητότητα, οι περισσότεροι προγραμματιστές το κάνουν επειδή η ανάπτυξη είναι εύκολη και ταχύτερη σε φορητό υπολογιστή και στη συνέχεια το κάνει σε Raspberry Pi.
Έχω εγκαταστήσει πακέτα python και PQt στο μηχάνημα των Windows. Εάν δεν σας ενδιαφέρει αυτό, μπορείτε να αναπτύξετε το GUI σας στο ίδιο το βατόμουρο, απλώς παραλείποντας αυτό το βήμα. Για να εγκαταστήσετε το PQt στα Windows, κατεβάστε αυτό το αρχείο exe και κατά τη διάρκεια της διαδικασίας εγκατάστασης βεβαιωθείτε ότι έχετε ελέγξει το λογισμικό σχεδιασμού Qt, καθώς θα το χρησιμοποιήσουμε για το έργο μας.
Εγκατάσταση PyQt σε μηχανήματα Pi / Linux / MAC
Για να εγκαταστήσετε το PyQt σε υπολογιστή Linux απλώς εκτελέστε την ακόλουθη γραμμή στο τερματικό εντολών σας
sudo apt-get εγκατάσταση python-qt4
Σχεδιάζοντας το GUI χρησιμοποιώντας το Qt Designer
Ένα αξιοσημείωτο πλεονέκτημα της χρήσης του PyQt4 για τα σχέδια GUI είναι ότι διαθέτει λογισμικό σχεδιασμού Qt. Αυτό το λογισμικό μπορεί να χρησιμοποιηθεί για τη δημιουργία κουμπιών, οθονών, κειμένων και άλλων γραφικών απλώς σύροντας πράγματα στην οθόνη και τοποθετώντας τα όποτε απαιτείται. Αυτό μας εξοικονομεί πολύ χρόνο, καθώς δεν χρειάζεται να τροφοδοτούμε χειροκίνητα το μέγεθος και τη θέση των αντικειμένων στην οθόνη μας. Έχω εγκαταστήσει τον σχεδιαστή Qt μαζί με τους Python και PyQt4 στο φορητό υπολογιστή των Windows μου χρησιμοποιώντας το αρχείο exe όπως συζητήθηκε στην παραπάνω παράγραφο. Μετά την εγκατάσταση ανοίξτε το Qt Designer και θα εμφανιστεί αυτή η οθόνη.
Στην αριστερή πλευρά μπορείτε να βρείτε διάταξη, διαχωριστικά, κουμπιά και άλλα αντικείμενα που μπορείτε απλά να χρησιμοποιήσετε σύροντάς το στο παράθυρο σας. Μπορείτε επίσης να προσαρμόσετε τα αντικείμενα όπως απαιτείται χρησιμοποιώντας τα παράθυρα στα δεξιά. Έχω χρησιμοποιήσει μια οθόνη LCD 7 τμημάτων, ένα κουμπί, μια γραμμή κειμένου και έχω ορίσει αντικείμενο χρόνου για να δημιουργήσω το περιβάλλον εργασίας χρήστη για το ξυπνητήρι μας. Μετά τη χρήση διατάξεων για να τοποθετήσω όλα τα αντικείμενα στο απαιτούμενο μέρος και το μέγεθος του παραθύρου μου έμοιαζε κάπως έτσι παρακάτω
Μόλις το GUI σας είναι έτοιμο, μπορείτε να αποθηκεύσετε το σχέδιό σας ως αρχείο .ui . Αργότερα, ανά πάσα στιγμή, όταν θέλετε να κάνετε αλλαγές στο GUI, μπορείτε απλά να ανοίξετε αυτό το αρχείο και να κάνετε τις αλλαγές χωρίς να χρειάζεται να κάνετε κύλιση προς τα πάνω και προς τα κάτω στο πρόγραμμά σας. Μπορείτε να κατεβάσετε το αρχείο.ui για ρολόι ομιλίας εάν θέλετε να κάνετε αλλαγές σε αυτό το σχέδιο. Μόλις είστε ικανοποιημένοι με το σχέδιο GUI, μπορείτε να τον εξαγάγετε ως κωδικό python από όπου μπορείτε να ξεκινήσετε τον προγραμματισμό python.
Ξέρω ότι πολλά πράγματα εδώ θα είχαν αναπηδήσει στο μυαλό σας, αλλά δεν είναι δυνατό να εξηγήσετε πώς να χρησιμοποιήσετε τη βιβλιοθήκη Qt4 σε ένα μόνο σεμινάριο. Μπορείτε να ανατρέξετε στη σειρά εκμάθησης του sentdex PyQt4 για να μάθετε