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

E-Ink: Moon / ISS / People in Space : 6 Βήματα
E-Ink: Moon / ISS / People in Space : 6 Βήματα

Βίντεο: E-Ink: Moon / ISS / People in Space : 6 Βήματα

Βίντεο: E-Ink: Moon / ISS / People in Space : 6 Βήματα
Βίντεο: WEDNESDAY DANCE, but it's TOO EASY, I'm 99% sure YOU CAN PLAY THIS! 2024, Ιούλιος
Anonim

Ακολουθήστε περισσότερα από τον συγγραφέα:

Χρονική παύση με Raspberry PI
Χρονική παύση με Raspberry PI
Χρονική παύση με Raspberry PI
Χρονική παύση με Raspberry PI

Είχα ένα Raspberry και ένα e-Paper HAT και ήθελα να το χρησιμοποιήσω για να δείξω πληροφορίες όπως το πού βρίσκεται ο ISS ή πόσοι άνθρωποι βρίσκονται τώρα στο χώρο…

Δήλωσα να κοιτάξω αν υπάρχουν API στο Διαδίκτυο για να λάβω αυτά τα δεδομένα και τα βρήκα. ΟΚ, gotcha !!!!

Περιμένετε, αυτό το καπέλο έχει 4 κουμπιά και, στη συνέχεια, χρειάζομαι 4 δεδομένα για να εμφανιστούν…

- Πού είναι τώρα ο ISS;- Πόσοι άνθρωποι βρίσκονται τώρα στο διάστημα;- Σε ποια φάση βρίσκεται η Σελήνη;- Θα βρέξει; Είναι τόσο ζεστό;…

Αυτή τη στιγμή, εμφανίζω αυτές τις πληροφορίες, αλλά θα μπορούσα να ενημερώσω αυτό το "Instructable" μόλις πήρα μια καλή ιδέα ή αν γνωρίζετε μια καλή, μπορείτε να μου την προτείνετε !!!

Λοιπόν, τα κατάφερα ένα βράδυ και το "FrontEnd" ολοκληρώθηκε λίγες ημέρες μετά. Μην παραπονεθείτε για το πώς εμφανίζονται οι πληροφορίες, δεν μου αρέσει να κάνω αυτό το μέρος:)

Προμήθειες

Raspberry PI (μηδενικό είναι αρκετό).- 2.7 ιντσών e-Paper HAT. (Αγόρασα το δικό μου εδώ)- κάρτα SD (4Gb είναι αρκετά).

Χρειάζεστε επίσης ένα Token από το OpenWeather για να τα χρησιμοποιήσετε API (από εδώ)

Βήμα 1: Ενημέρωση λογισμικού (SO)

Ενημέρωση λογισμικού (SO)
Ενημέρωση λογισμικού (SO)
Ενημέρωση λογισμικού (SO)
Ενημέρωση λογισμικού (SO)
Ενημέρωση λογισμικού (SO)
Ενημέρωση λογισμικού (SO)

Το πρώτο βήμα, όπως πάντα, είναι να προετοιμάσετε το Raspberry PI με το πιο πρόσφατο OS.- Κατεβάστε το τελευταίο λειτουργικό σύστημα (με επιτραπέζιο υπολογιστή) από εδώ.- Γράψτε την εικόνα σε άδεια κάρτα SD. τη σύνδεση SSH.- Αποθηκεύστε το αρχείο "wpa_supplicant.conf" στην κάρτα SD για να ρυθμίσετε το Wifi σας για σύνδεση στο Raspberry PI μέσω SSH (το έχετε προετοιμάσει στον υπολογιστή σας, το ξέρω).

Ξεκινήστε το Raspberry Pi.

Συνδεθείτε με αυτό μέσω SSH (μπορείτε επίσης να το κάνετε εάν έχετε οθόνη, πληκτρολόγιο και ποντίκι, αλλά δεν έχω και προτιμώ να συνδεθώ μέσω SSH) και ενημερώστε το….

sudo apt -get ενημέρωση -y

sudo apt -get upgrade -y

Τώρα, πρέπει να ενεργοποιήσετε το VNC για να μπορείτε να συνδέεστε από απόσταση και SPI για το e-Paper HAT:

sudo raspi-config

Επιλογές διασύνδεσης> VNC> Ναι Επιλογές διασύνδεσης> SPI> Ναι

Και επανεκκινήστε το.

Βήμα 2: Απαιτείται λογισμικό

Απαιτούμενο Λογισμικό
Απαιτούμενο Λογισμικό

Εντάξει, τώρα έχουμε ένα τρέχον Raspberry PI με το πιο πρόσφατο λογισμικό και όλα τα βασικά για να συνδεθούμε σε αυτό.

It'sρθε η στιγμή να ξεκινήσετε την εγκατάσταση του απαραίτητου λογισμικού για τον έλεγχο του e-Paper HAT.

Εάν δεν συνδέσατε το HAT στο Raspberry PI σας, τώρα είναι η τελευταία στιγμή για να το συνδέσετε. Απενεργοποιήστε το Raspberry PI και βάλτε το HAT σε αυτό.

Για τα επόμενα βήματα μπορείτε να ακολουθήσετε τις οδηγίες από το Waveshare ή να το ακολουθήσετε με τα επόμενα βήματα….

Εγκατάσταση βιβλιοθηκών BCM2835:

wget

tar zxvf bcm2835-1.60.tar.gz cd bcm2835-1.60/sudo./configure sudo make sudo make check sudo make install #Για περισσότερες λεπτομέρειες, ανατρέξτε στη διεύθυνση

Εγκατάσταση καλωδίωσης Βιβλιοθήκες Pi:

sudo apt-get install wiringpi

#Για το Pi 4, πρέπει να το ενημερώσετε : cd/tmp wget https://project-downloads.drogon.net/wiringpi-latest.deb sudo dpkg -i wiringpi-latest.deb gpio -v #Θα λάβετε 2.52 πληροφορίες αν το εγκαταστήσετε σωστά

Εγκαταστήστε τις βιβλιοθήκες Python: (Εάν ενημερώσατε το SO με την πιο πρόσφατη έκδοση, όλα αυτά τα βήματα θα μοιάζουν με "Η απαίτηση έχει ήδη ικανοποιηθεί").

sudo apt-get ενημέρωση

sudo apt-get install python3-pip sudo apt-get install python3-pil sudo apt-get install python3-numpy sudo pip3 install RPi. GPIO sudo pip3 install spidev

Τώρα μπορείτε να κατεβάσετε τα παραδείγματα από το Waveshare: (Αυτό το μέρος ΔΕΝ χρειάζεται, αλλά μπορείτε να τα κατεβάσετε για να μάθετε πώς λειτουργεί).

sudo git clone

cd e-Paper/RaspberryPi / & JetsonNano/

Σας συνιστώ να αφαιρέσετε μερικούς φακέλους:- e-Paper/Arduino (It's a Raspberry PI).- e-Paper/STM32 (It's a Raspberry PI). σε αυτό το έργο).

Δεν θα τα χρησιμοποιήσετε και δεν τα χρειάζεστε σε Raspberry PI.

Και, αν το επιθυμείτε, μπορείτε να αφαιρέσετε όλα τα αρχεία που δεν χρειάζεστε από το φάκελο "lib", όπως: - epd1in02.py - epd1in54.py - epd2in9.py -…

Αν πρόκειται να χρησιμοποιήσουμε 2,7 ίντσες, τα υπόλοιπα αρχεία ΔΕΝ χρειάζονται.

Σας συνιστώ να μετακινήσετε λίγο το φάκελο "lib" για να τον χρησιμοποιήσετε εύκολα:

sudo mv lib/home/pi/e-Paper/

Ωστόσο, στον κωδικό μου (από το GitHub) περιλαμβάνονται οι βιβλιοθήκες.

Όλο το απαραίτητο λογισμικό είναι εγκατεστημένο.

Το επόμενο βήμα είναι ο κωδικός μας!

Βήμα 3: Λήψη του κωδικού μου

Τώρα πρέπει να κατεβάσουμε τον κώδικα από το GitHub:

sudo git clone

Με αυτό θα έχουμε όλο τον απαραίτητο κώδικα, συμπεριλαμβανομένων των βιβλιοθηκών από το Waveshare στο πραγματικό έργο.

Επεξεργαστείτε το αρχείο "ShowInfo.py" για να εισαγάγετε το API-Token από το OpenWeather.com…… και την πόλη (χρησιμοποιήστε το όνομα ή το αναγνωριστικό της πόλης):

def WeatherForecast ():

url = "https://api.openweathermap.org/data/2.5/forecast?" #url = url + "q = {city_name}" #url = url + "q = Düsseldorf" #ASCII προβλήματα !!! url = url + "id = 2934246" #url = url + "& appid = {your_API_key}" url = url + "& units = metric" # Σε μετρικό url = url + "& cnt = 6" # Μόνο 6 αποτελέσματα

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

Οι γραμματοσειρές βρίσκονται στο φάκελο "e-Paper/fonts".

Για αποσυμπίεση:

sudo unzip Bangers.zip -d/usr/share/fonts/truetype/google/

sudo unzip Bungee_Inline.zip -d/usr/share/fonts/truetype/google/sudo unzip Bungee_Outline.zip -d/usr/share/fonts/truetype/google/sudo unzip Bungee_Shade.zip -d/usr/share/fonts/ truetype/google/sudo unzip droid-sans.zip -d/usr/share/fonts/truetype/google/sudo unzip Indie_Flower.zip -d/usr/share/fonts/truetype/google/sudo unzip Jacques_Francois_Shadow.zip -d/ usr/share/fonts/truetype/google/sudo unzip Londrina_Outline.zip -d/usr/share/fonts/truetype/google/sudo unzip Londrina_Shadow.zip -d/usr/share/fonts/truetype/google/sudo unzip Londrina_Sketch zip -d/usr/share/fonts/truetype/google/sudo unzip Oswald.zip -d/usr/share/fonts/truetype/google/sudo unzip Roboto.zip -d/usr/share/fonts/truetype/google/ sudo unzip Vast_Shadow.zip -d/usr/share/fonts/truetype/google/

Σας συνιστώ να διαγράψετε τα αρχεία zip μετά την εγκατάσταση, επειδή δεν τα χρειαζόμαστε πλέον αυτά τα αρχεία:

γραμματοσειρές sudo rm -R

Βήμα 4: Εκτέλεση του TEST

Εκτελέστε το TEST
Εκτελέστε το TEST
Εκτελέστε το TEST
Εκτελέστε το TEST

Μεταβείτε στον σωστό φάκελο όπου έχουμε το δοκιμαστικό αρχείο:

cd ~/eInk_Moon_ISS_PeopleSpace/e-Paper/ShowEInk

Εκτελέστε το δοκιμαστικό αρχείο με την έκδοση 3 του Python:

python3 Test001.py

Εν τω μεταξύ, το πρόγραμμα εκτελείται.

Και στην οθόνη e-Paper θα δείτε τα μηνύματα.

Για κάθε κουμπί, η οθόνη θα εμφανίζει διαφορετικό μήνυμα.

Βήμα 5: Εμφάνιση πληροφοριών σελήνης / διαστήματος / ISS…

Εμφάνιση πληροφοριών σελήνης / διαστήματος / ISS…
Εμφάνιση πληροφοριών σελήνης / διαστήματος / ISS…
Εμφάνιση πληροφοριών σελήνης / διαστήματος / ISS…
Εμφάνιση πληροφοριών σελήνης / διαστήματος / ISS…
Εμφάνιση πληροφοριών σελήνης / διαστήματος / ISS…
Εμφάνιση πληροφοριών σελήνης / διαστήματος / ISS…
Εμφάνιση πληροφοριών σελήνης / διαστήματος / ISS…
Εμφάνιση πληροφοριών σελήνης / διαστήματος / ISS…

Εντάξει, όλοι τρέχουμε και θέλουμε τώρα να δούμε πού βρίσκεται ο ISS στον κόσμο ή η φάση της Σελήνης…

Πρώτα πρέπει να εκτελέσετε το αρχείο "ShowInfo.py" (βρίσκεται στο "/eInk_Moon_ISS_PeopleSpace/e-Paper/ShowEInk").

python3 ~/eInk_Moon_ISS_PeopleSpace/e-Paper/ShowEInk/ShowInfo.py

Και τώρα, αν πατήσετε ένα κουμπί, θα έχετε προγραμματίσει τις πληροφορίες σε αυτό το κουμπί:

● Κουμπί 1: Πρόγνωση καιρού.

● Κουμπί 2: Ποιος βρίσκεται στο διάστημα και πού.

● Κουμπί 3: Πού βρίσκεται ο ISS στον κόσμο.

● Κουμπί 4: Πληροφορίες της Σελήνης.

Βήμα 6: Εκτέλεση ως υπηρεσία

Εναλλακτικά, το σενάριο Python μπορεί να ξεκινήσει κατά την εκκίνηση δημιουργώντας μια υπηρεσία - περισσότερες πληροφορίες στη διεύθυνση

Δημιουργήστε ένα νέο αρχείο που ονομάζεται ShowInfo.service και αντιγράψτε τα παρακάτω περιεχόμενα στο νέο αρχείο - προσαρμόστε ανάλογα τη διαδρομή του WorkingDirectory:

[Μονάδα]

Περιγραφή = ShowInfo After = network-online.target Θέλει = network-online.target [Service] ExecStart =/usr/bin/python3 ShowInfo.py WorkingDirectory =/home/pi/eInk_Moon_ISS_PeopleSpace/e-Paper/ShowEInk/StandardEutput = κληρονομιά = κληρονομήστε Επανεκκίνηση = πάντα Χρήστης = pi [Εγκατάσταση] WantedBy = multi-user.target

Αντιγράψτε το αρχείο ShowInfo.service στο/etc/systemd/system ως root:

sudo cp ShowInfo.service/etc/systemd/system/

Ξεκινήστε την υπηρεσία:

sudo systemctl εκκίνηση ShowInfo.service

Ελέγξτε αν εκτελείται η υπηρεσία:

sudo systemctl κατάσταση ShowInfo.service

Η έξοδος πρέπει να είναι παρόμοια με:

● ShowInfo.service - ShowInfo

Φορτώθηκε: φορτώθηκε (/etc/systemd/system/ShowInfo.service; απενεργοποιημένο; προεπιλεγμένος προμηθευτής: ενεργοποιημένος) Ενεργός: ενεργός (τρέχει) από Παρ 2020-09-11 15:17:16 CEST; Πριν από 14 χρόνια Κύριο PID: 1453 (python3) CGroup: /system.slice/ShowInfo.service └─1453/usr/bin/python3 ShowInfo.py 11 Σεπ 15:33:17 eInk systemd [1]: Έναρξη ShowInfo.

Εάν η υπηρεσία λειτουργεί καλά, μπορείτε να την ενεργοποιήσετε και να επανεκκινήσετε το Raspberry Pi για να φορτώσει αυτόματα κατά την εκκίνηση:

sudo systemctl ενεργοποιήστε την υπηρεσία ShowInfo.service

Για να διακόψετε την υπηρεσία:

sudo systemctl διακοπή ShowInfo.service

Και αυτό είναι όλο !!!!!

Ευχαριστώ !!!!!

Συνιστάται: