Πίνακας περιεχομένων:
- Βήμα 1: Ρυθμίστε την κάρτα SD και το Raspberry PI
- Βήμα 2: Ρυθμίστε τις βιβλιοθήκες WeatherHAT
- Βήμα 3: Εγκατάσταση Weather-api και GetWeather Script
- Βήμα 4: Ενημερωμένες πληροφορίες για: API Openweathermap
Βίντεο: Απλή εμφάνιση καιρού με χρήση Raspberry PI και Cyntech WeatherHAT: 4 βήματα
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:32
* Το 2019 η Yahoo άλλαξε το API του και αυτό σταμάτησε να λειτουργεί. Δεν ήξερα την αλλαγή. Τον Σεπτέμβριο του 2020 το έργο αυτό έχει ενημερωθεί για να χρησιμοποιήσει το APEN OPENWEATHERMAP Δείτε την παρακάτω ενημερωμένη ενότητα, ωστόσο οι υπόλοιπες πληροφορίες είναι ακόμα καλές. Ευχαριστώ για την αναζήτηση και ευχαριστώ που με ενημερώσατε για την αλλαγή του Yahoo. *
Πρόσφατα απέκτησα ένα Cyntech WeatherHAT, αλλά ήμουν λίγο απογοητευμένος από την έλλειψη λογισμικού για αυτό.
Το HAT it φαίνεται να είναι καλά κατασκευασμένο, με 6 μπλε LED με τη μορφή βροχής, 6 πορτοκαλί LED με τη μορφή κεραυνού, 6 λευκά LED με τη μορφή σύννεφου. 1 (Αυτό που πιστεύω ότι είναι LED RGB) για τον ΗΛΙΟ - εμφανίζει πορτοκαλί χρώμα (οπότε μπορεί να κάνω λάθος ότι είναι RGB). Και 6 LED WS2812 (Αυτά είναι RGB:-))
Το Cyntech έχει έναν οδηγό έναρξης και ακόμη και αυτό είναι καλό - είναι εύκολο να εγκαταστήσετε και να χρησιμοποιήσετε το HAT.
Έτσι, απλώς εξεπλάγην που δεν είδα πραγματικά κανένα λογισμικό (άλλο από το demo που παρείχε η Cyntech). Wasμουν εξίσου έκπληκτος που δεν βρήκα κανέναν να το χρησιμοποιεί πραγματικά - peopleσως οι άνθρωποι θέλουν μια "φανταχτερή" οθόνη με θερμοκρασίες και όλες αυτές τις πληροφορίες. Για μένα είναι ωραίο να κοιτάζω μόνο μερικά LED και να γνωρίζω - βρέχει, ή καταιγίδα, ή συννεφιά - Σε εκείνο το σημείο, εάν χρειάζομαι περισσότερες πληροφορίες, μπορώ να κοιτάξω το tablet ή το τηλέφωνό μου.:-)
Λίγο περισσότερο - αυτή είναι πραγματικά η πρώτη μου φορά που χρησιμοποιώ python, δεν είμαι καθόλου καλός σε αυτό. Και είμαι σίγουρος ότι οι άνθρωποι που γνωρίζουν πραγματικά python θα μου πουν καλύτερο τρόπο για να το κάνω αυτό.
Ας αρχίσουμε:
Χρειαζόμαστε κάρτα SD (τουλάχιστον 8gb)
Ένα Raspberry PI (χρησιμοποιώ μηδενικό W) πρέπει να έχει πρόσβαση στο διαδίκτυο.
και χρειαζόμαστε το Cyntech weatherHAT
Εάν χρησιμοποιείτε Raspberry PI Zero W, θα πρέπει επίσης να μπορείτε να κολλήσετε ένα σύνολο κεφαλίδων στον πίνακα.
Διαφορετικά, οι δεξιότητες που απαιτούνται είναι η δυνατότητα χρήσης λογισμικού και ρύθμισης της κάρτας SD.
Βήμα 1: Ρυθμίστε την κάρτα SD και το Raspberry PI
Θα χρειαστεί να κατεβάσετε το πιο πρόσφατο Raspbian (κατά τη διάρκεια αυτού του οδηγού που είναι το Raspbian Stretch March 2018 (2018-03-13))
www.raspberrypi.org/downloads/raspbian/
Χρησιμοποίησα την έκδοση για επιτραπέζιους υπολογιστές, ακόμα κι εσύ, εκτελώ την εγκατάστασή μου ακέφαλη και κάνω τα περισσότερα πράγματα από το CLI (διεπαφή γραμμής εντολών) μέσω ssh.
Ακολουθήστε τον οδηγό εγκατάστασης που βρίσκεται εδώ:
www.raspberrypi.org/documentation/installa…
Αφού τελειώσει το Etcher, αφαιρέστε την κάρτα SD και τοποθετήστε την ξανά στον υπολογιστή.
* Χρειάζεται πραγματικά να κάνετε αυτό το βήμα παρακάτω αν σκοπεύετε να κάνετε εγκατάσταση χωρίς κεφαλή
Πρέπει να ρυθμίσουμε SSH και WIFI προτού χρησιμοποιήσουμε την κάρτα SD στο Raspberry PI. Στο διαμέρισμα BOOT της κάρτας, δημιουργήστε ένα αρχείο με το όνομα "ssh" χωρίς τα εισαγωγικά. τίποτα δεν πρέπει να υπάρχει σε αυτό το αρχείο. Όταν εκκινήσει το PI, θα δει αυτό το αρχείο και θα ενεργοποιήσει το SSH.
Πρέπει επίσης να δημιουργήσουμε ένα αρχείο που ονομάζεται "wpa_supplicant.conf". Πρέπει να επεξεργαστούμε αυτό το αρχείο με τις ρυθμίσεις wifi.
Θα πρέπει να μοιάζει κάπως έτσι:
ctrl_interface = DIR =/var/run/wpa_supplicant GROUP = netdev
update_config = 1 network = {ssid = "yourwifiSSID" psk = "yourwifipassword" scan_ssid = 1}
* Χρειάζεται πραγματικά να το κάνετε μόνο αν σκοπεύετε να κάνετε μια εγκατάσταση ακέφαλης
Μόλις γίνει αυτό, αφαιρέστε με ασφάλεια την κάρτα SD και τοποθετήστε το Raspberry PI (βεβαιωθείτε ότι δεν υπάρχει τροφοδοσία στο PI).
Συνδέστε το weatherHAT και ενεργοποιήστε το Raspberry PI.
Βήμα 2: Ρυθμίστε τις βιβλιοθήκες WeatherHAT
Για αυτό το βήμα θα ακολουθήσουμε τον Οδηγό έναρξης που βρέθηκε
guides.cyntech.co.uk/weatherhat/getting-sta…
ΑΝ κάνετε εγκατάσταση ακέφαλης, θα θέλετε να ssh [email protected]
Εάν δεν έχετε πελάτη ssh - το PUTTY είναι καλό.
Εάν χρησιμοποιείτε πληκτρολόγιο και οθόνη - ο παραπάνω οδηγός είναι καλός που πρέπει να ακολουθήσετε, σας ξεκινά σε μια επιφάνεια εργασίας GUI.
Τα σημαντικά βήματα εδώ είναι να εγκαταστήσετε τη βιβλιοθήκη WS281x και τις βιβλιοθήκες WeatherHAT, μαζί με την εξάρτηση για κάθε μία.
sudo apt-get ενημέρωση
sudo apt-get upgrade -y sudo apt-get install build-essential python-dev git scons swig python-smbus git clone https://github.com/jgarff/rpi_ws281x.git> git clone https://github.com/ jgarff/rpi_ws281x.git> cd rpi_ws281x scons cd python sudo python setup.py install
Τώρα πρέπει να βεβαιωθούμε ότι το I2C είναι ενεργοποιημένο.
sudo raspi-config
Ο οδηγός είναι γραμμένος για μια παλαιότερη έκδοση του raspi-config και λέει to goto "Advanced Options" το οποίο έχει αντικατασταθεί από το πιστεύω "Interfaces"
Μόλις ενεργοποιήσετε το I2C, θα πρέπει να κάνετε επανεκκίνηση.
Τώρα ήρθε η ώρα να δοκιμάσετε το ΚΑΠ
cd WeatherHAT
sudo python cycle.py
Εάν όλα πήγαν καλά θα πρέπει να δείτε όλα τα χαρακτηριστικά και ένα ουράνιο τόξο.
ctrl-z θα σταματήσει το πρόγραμμα.
*Ειδικές σημειώσεις: Έμαθα ότι οι χρόνοι του Raspberry PI 3 είναι διαφορετικοί και το ουράνιο τόξο μπορεί να μην λειτουργεί σωστά. ΑΝ έχετε αυτό το ζήτημα εδώ είναι πώς να το διορθώσετε.
github.com/CyntechUK/WeatherHAT/issues/3
guides.cyntech.co.uk/raspberry-pi/assemblin…
Μόλις όλα λειτουργούν, μπορούμε να συνεχίσουμε στο επόμενο βήμα.
Ενημέρωση: (6 Οκτωβρίου 2020) Αυτό το αποθετήριο περιέχει τώρα το σενάριό μου getWeather.py, αυτά είναι υπέροχα νέα, καθώς το ενδιαφέρον έχει ξαναφουσκώσει και νέα πράγματα αναμένεται να συμβούν.
Βήμα 3: Εγκατάσταση Weather-api και GetWeather Script
Έτσι, υπέβαλα ένα αίτημα PULL στο CyntechUK για το σενάριό μου - ελπίζω ότι θα δεχτούν το αίτημα και μπορείτε να παραλείψετε τη λήψη του αποθετηρίου μου. (μπορεί να μην θέλουν να συμπεριλάβουν τον κωδικό μου εσύ)
(6 Οκτωβρίου 2020) Το αίτημα PULL εγκρίθηκε, το σενάριο getWeather μου περιλαμβάνεται τώρα στο αποθετήριο Weatherhat.
********* Μπορείτε ακόμα να χρησιμοποιήσετε αυτές τις πληροφορίες αν θέλετε, ωστόσο το getWeather.py έχει συμπεριληφθεί στο αποθετήριο weatherhat τώρα ******************* *****************
Το αποθετήριο μου μπορείτε να το βρείτε εδώ:
github.com/kd8bxp/WeatherHAT/tree/getWeath…
και το σενάριό μου ονομάζεται getWeather.py
ΑΝ αποδεχτούν το αίτημα έλξης, θα έχετε ήδη αυτό το σενάριο - αν όχι, θα χρειαστεί να κλωνοποιήσετε το αποθετήριο.
στον αρχικό σας κατάλογο (/home/pi) πληκτρολογήστε:
git clone https://github.com/kd8bxp/WeatherHAT.git getWeather
Αυτό θα κλωνοποιήσει το αποθετήριο σε έναν κατάλογο που ονομάζεται getWeather, στη συνέχεια πρέπει να ελέγξουμε τον κλάδο getWeather.
cd getWeather
git checkout getWeather
**********************************************************************
Θα χρειαστεί να κάνετε cd στον κατάλογο weatherHAT που κλωνοποιήθηκε νωρίτερα και
Πρέπει να επεξεργαστούμε το σενάριο getWeather.py για την τοποθεσία σας.
nano getWeather.py
Θα πρέπει να δείτε μια γραμμή που ξεκινά με
τοποθεσία και τελειώνει με αναζήτηση (45042) - Αυτός είναι ο ταχυδρομικός κώδικας, διαπίστωσα ότι δεν λειτουργεί τόσο καλά όσο νομίζατε
και η γραμμή ακριβώς πάνω από αυτήν που σχολιάζεται λειτουργεί καλύτερα με ένα όνομα πόλης. Αυτό είναι αυτό που πιθανότατα θέλετε να χρησιμοποιήσετε. Σχολιάστε λοιπόν τη γραμμή ταχυδρομικού κώδικα (#) και κάντε σχόλιο και αλλάξτε το όνομα της πόλης σας.
*********** ΠΑΛΙΕΣ ΠΛΗΡΟΦΟΡΙΕΣ YAHOO - Δεν απαιτείται πλέον ***********
Πρέπει να εγκαταστήσουμε μια ακόμη βιβλιοθήκη για να λειτουργήσει, το weather-api που είναι ένα περιτύλιγμα για το Yahoo weather API.
pypi.python.org/pypi/weather-api/0.0.5
Η εγκατάσταση είναι εύκολη -
pip εγκατάσταση weather-api
***********************************************************************************
Τώρα μπορούμε να εκτελέσουμε το σενάριο:
sudo python getWeather.py &
Το & θα αφήσει το σενάριο να εκτελεστεί στο παρασκήνιο. Το σενάριο κοιμάται για περίπου 5 λεπτά και στη συνέχεια ελέγχει το Yahoo Weather αν έχει αλλάξει κάτι - αν ναι, ενημερώνει την οθόνη. Ο χρόνος των 5 λεπτών μπορεί να αλλάξει, είναι κοντά στο κάτω μέρος του σεναρίου.
ύπνος (60 * 5)
Θα μπορούσατε να ρυθμίσετε μια εργασία crontab (θυμηθείτε ότι αυτό πρέπει να εκτελεστεί ως root) που θα ξεκινά το σενάριο σε κάθε εκκίνηση.
χρήση:
sudo crontab -e
εισαγω:
@reboot python /home/pi/weatherHAT/getWeather.py
Νομίζω ότι πρέπει να λειτουργήσει - δεν έχω ρυθμίσει ακόμα το cron στο σύστημά μου.
Αυτό είναι λίγο πολύ -
Όπως ανέφερα, αυτό είναι ένα από τα πρώτα μου προγράμματα python και είμαι σίγουρος ότι κάποιος που γνωρίζει περισσότερα θα δει έναν καλύτερο τρόπο για να το κάνει αυτό.
Έχω κάνει μόνο περιορισμένες δοκιμές σε αυτό - έχω δει το "Snow" "Rain" και το "Thunderstorm" να δουλεύουν μέχρι στιγμής, Υπάρχουν ορισμένες προϋποθέσεις που δεν είμαι σίγουρος πώς να χειριστώ ακόμα - καλωσορίζω τις ιδέες.
Βήμα 4: Ενημερωμένες πληροφορίες για: API Openweathermap
Τον Σεπτέμβριο του 2020, ενημέρωσα το σενάριο για να χρησιμοποιήσω το API
ΣΗΜΕΙΩΣΗ: Αυτή ήταν μια "γρήγορη" λύση για μένα και περιορισμένη δοκιμή - (έχει συννεφιάσει τις τελευταίες ημέρες και το μόνο που βλέπω είναι η οθόνη σύννεφων και βροχής) - Ενώ πιστεύω ότι έπιασα όλες τις συνθήκες που είναι εύκολο να οθόνη, είναι πιθανό ότι έχασα ένα ζευγάρι λόγω του πόσο "γρήγορα" έγινε αυτή η επιδιόρθωση. Τούτου λεχθέντος, εάν πιστεύετε ότι υπάρχει πρόβλημα, αφήστε ένα σχόλιο και αν το επιτρέψει ο χρόνος θα το εξετάσω - ή προσπαθήστε να σας δείξω προς τη σωστή κατεύθυνση. *
Θα χρειαστεί να εγγραφείτε για ένα κλειδί API χρησιμοποιώντας τον παραπάνω σύνδεσμο, όταν επεξεργαστείτε το σενάριο για να τοποθετήσετε την πόλη σας, θα δείτε μια θέση για το κλειδί. Απλώς αντιγράψτε και επικολλήστε το και θα πρέπει να είστε καλοί.
Άλλες σημειώσεις:
Αυτό το σενάριο χρησιμοποιεί τώρα τις πληροφορίες "Τρέχοντα δεδομένα καιρού API" σχετικά με αυτό το API που μπορείτε να βρείτε εδώ:
openweathermap.org/current Ένα πράγμα που πρέπει να σημειωθεί είναι ότι μπορείτε να χρησιμοποιήσετε μια πόλη, πολιτεία και χώρα.
Δηλαδή: η πόλη "Dayton" γίνεται "Dayton, OH, US" παρατηρήστε πώς η πολιτεία και οι κωδικοί χώρας είναι και οι δύο κεφαλαίοι, αυτό απαιτείται. Το API λέει ότι μπορεί να χρησιμοποιήσει μόνο το "Dayton, OH", αλλά πήρα σφάλματα από το σενάριο όταν το έκανα αυτό - και δεδομένου ότι αυτό ήταν μια γρήγορη λύση, δεν έχω εξετάσει γιατί. Λοιπόν, συνιστώ τη χρήση της "πόλης, πολιτείας, χώρας"
ΑΝ για κάποιο λόγο δεν λαμβάνετε καλές πληροφορίες χρησιμοποιώντας ένα όνομα πόλης, μπορείτε επίσης να αναζητήσετε το αναγνωριστικό πόλης ή να χρησιμοποιήσετε γεωγραφικό πλάτος και γεωγραφικό μήκος ή τον ταχυδρομικό κώδικα. Σε κάθε περίπτωση, το URL θα πρέπει να αλλάξει, αν κάνετε κλικ στο σύνδεσμο στη δεξιά πλευρά του ιστότοπου API, θα δώσει ένα παράδειγμα του τι πρέπει να είναι το URL.
Πρέπει επίσης να αλλάξετε τη διεύθυνση URL στο σενάριο.
Ακόμα περισσότερες σημειώσεις: 3 Οκτωβρίου 2020
Ο @Itsmedoofer επεσήμανε ότι έπρεπε να εγκαταστήσουν τα αιτήματα python της βιβλιοθήκης με τη νέα ενημέρωση. Δεν είμαι σίγουρος ότι το χρειάστηκα (είναι επίσης πιθανό να το είχα εγκαταστήσει πριν από χρόνια ή διαφορετικές εκδόσεις python να εγκαθιστούν διαφορετικές βιβλιοθήκες από προεπιλογή). Έτσι, εάν το σενάριο δίνει σφάλμα σχετικά με αιτήματα python, είναι εύκολο να διορθωθεί.
πληκτρολογήστε αυτήν την εντολή στα αιτήματα εγκατάστασης CLI: python -m pip
και πρέπει να είσαι καλός.
Ας ελπίσουμε ότι αυτό έγινε από τότε, αυτό ήταν μια γρήγορη λύση και ίσως μια μέρα επιτρέποντας να μπορέσω να δουλέψω για να το καθαρίσω λίγο καλύτερα.
Ενημέρωση (6 Οκτωβρίου 2020) Το αίτημα έλξης github έγινε αποδεκτό, το αρχικό αποθετήριο CyntechUK περιλαμβάνει τώρα αυτό το σενάριο. https://github.com/CyntechUK/WeatherHAT Ο χρήστης Boeerb έχει κάποιες ιδέες για τον τρόπο εμφάνισης ορισμένων από τις συνθήκες που δεν εμφανίζονται αυτήν τη στιγμή, καθώς και κάποιες άλλες ιδέες για χρήση. Έτσι, προσέξτε αυτό το αποθετήριο. Και μακάρι να γίνουν πράγματα.
Ενημέρωση: (8 Οκτωβρίου 2020) Το Open Weather Map έχει ένα σύντομο σεμινάριο για τη ρύθμιση και τη χρήση του API, https://openweathermap.org/appid Ένα καλό μέρος για να ξεκινήσετε.
Συνιστάται:
Εμφάνιση καιρού πρόβλεψης καιρού Art Deco: 9 βήματα (με εικόνες)
Ένδειξη πρόβλεψης καιρού Art Deco: Γεια σας φίλοι, σε αυτό το Instructable θα δούμε ζεστό για να φτιάξουμε αυτήν την οθόνη Weather Forecast. Χρησιμοποιεί μίνι πίνακα Wemos D1 μαζί με έγχρωμη οθόνη TFT 1,8”για την εμφάνιση της πρόγνωσης του καιρού. Επίσης σχεδίασα και εκτύπωσα τρισδιάστατα ένα περίβλημα για
Σύστημα παρακολούθησης καιρού με χρήση αισθητήρα Raspberry Pi3 και DHT11: 4 βήματα
Σύστημα παρακολούθησης καιρού με χρήση αισθητήρα Raspberry Pi3 και DHT11: Σε αυτό το σεμινάριο, θα σας δείξω πώς να συνδέσετε το DHT11 με το Raspberry Pi και να εξάγετε τις ενδείξεις υγρασίας και θερμοκρασίας σε οθόνη LCD. Ο αισθητήρας θερμοκρασίας και υγρασίας DHT11 είναι μια ωραία μικρή μονάδα που παρέχει ψηφιακή θερμοκρασία και υγρασία
Εμφάνιση τρένων και καιρού στο Ηνωμένο Βασίλειο: 5 βήματα
Εμφάνιση τρένων και καιρού του Ηνωμένου Βασιλείου: Αυτό το διδακτικό είναι για αναχωρήσεις τρένων από το Ηνωμένο Βασίλειο με μπαταρία και ένδειξη καιρού. Χρησιμοποίησε τη βάση δεδομένων National Rail OpenLDBWS για να λάβει πληροφορίες αναχώρησης τρένου σε πραγματικό χρόνο για έναν συγκεκριμένο τοπικό σιδηροδρομικό σταθμό και να τις εμφανίσει. Χρησιμοποιεί openweather
Απλή εφαρμογή σούπερ μάρκετ με χρήση RFID RC-522 και Arduino Mega: 6 βήματα
Απλή εφαρμογή σούπερ μάρκετ με χρήση RFID RC-522 και Arduino Mega: Είναι καλό που σας βλέπω ξανά εδώ στο άλλο μου σεμινάριο, εδώ θα σας βοηθήσω να δημιουργήσετε μια απλή εφαρμογή σούπερ μάρκετ χρησιμοποιώντας RFID RC-522 και Arduino με επεξεργασία για δημιουργία απλό GUI. Σημείωση: μην εκτελείτε σειριακή οθόνη Arduino ενώ εκτελείτε
Ρολόι πρόβλεψης καιρού με χρήση του Old Alarm και του Arduino: 13 βήματα (με εικόνες)
Weather Forecast Clock Using Old Alarm and Arduino: Είχα ένα σπασμένο ξυπνητήρι και βρήκα μια ιδέα να το μετατρέψω σε ρολόι και σταθμό πρόγνωσης καιρού. Για αυτό το έργο θα χρειαστείτε: Παλαιό κυκλικό ξυπνητήρι Arduino Nano BME280 μονάδα αισθητήρα ( θερμοκρασία, υγρασία, πίεση) Οθόνη LCD