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

Απλή εμφάνιση καιρού με χρήση Raspberry PI και Cyntech WeatherHAT: 4 βήματα
Απλή εμφάνιση καιρού με χρήση Raspberry PI και Cyntech WeatherHAT: 4 βήματα

Βίντεο: Απλή εμφάνιση καιρού με χρήση Raspberry PI και Cyntech WeatherHAT: 4 βήματα

Βίντεο: Απλή εμφάνιση καιρού με χρήση Raspberry PI και Cyntech WeatherHAT: 4 βήματα
Βίντεο: ΓΙΑΤΙ ΘΕΛΩ L4D3 2024, Σεπτέμβριος
Anonim
Απλή προβολή καιρού με χρήση Raspberry PI και Cyntech WeatherHAT
Απλή προβολή καιρού με χρήση Raspberry PI και Cyntech WeatherHAT
Απλή προβολή καιρού με χρήση Raspberry PI και Cyntech WeatherHAT
Απλή προβολή καιρού με χρήση Raspberry PI και Cyntech WeatherHAT

* Το 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

Ρυθμίστε την κάρτα SD και το Raspberry PI
Ρυθμίστε την κάρτα SD και το Raspberry PI
Ορίστε την κάρτα SD και το Raspberry PI
Ορίστε την κάρτα 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

Ρυθμίστε τις βιβλιοθήκες WeatherHAT
Ρυθμίστε τις βιβλιοθήκες WeatherHAT
Ρυθμίστε τις βιβλιοθήκες WeatherHAT
Ρυθμίστε τις βιβλιοθήκες 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

Εγκατάσταση Weather-api και GetWeather Script
Εγκατάσταση Weather-api και GetWeather Script
Εγκατάσταση Weather-api και GetWeather Script
Εγκατάσταση Weather-api και GetWeather Script
Εγκατάσταση Weather-api και GetWeather Script
Εγκατάσταση Weather-api και GetWeather Script
Εγκατάσταση Weather-api και GetWeather Script
Εγκατάσταση 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 Ένα καλό μέρος για να ξεκινήσετε.

Συνιστάται: