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

Δημιουργήστε έναν πίνακα καιρού χρησιμοποιώντας το API Dark Sky: 5 βήματα (με εικόνες)
Δημιουργήστε έναν πίνακα καιρού χρησιμοποιώντας το API Dark Sky: 5 βήματα (με εικόνες)

Βίντεο: Δημιουργήστε έναν πίνακα καιρού χρησιμοποιώντας το API Dark Sky: 5 βήματα (με εικόνες)

Βίντεο: Δημιουργήστε έναν πίνακα καιρού χρησιμοποιώντας το API Dark Sky: 5 βήματα (με εικόνες)
Βίντεο: Steven Greer: UAPs, CE5, Lazar, Skinwalker Ranch 2024, Νοέμβριος
Anonim
Image
Image

Το Dark Sky ειδικεύεται στην πρόβλεψη και οπτικοποίηση του καιρού. Η πιο cool πτυχή του Dark Sky είναι το API καιρού που μπορούμε να χρησιμοποιήσουμε για να ανακτήσουμε τα δεδομένα καιρού από σχεδόν οπουδήποτε στον κόσμο. Δεν είναι μόνο ο καιρός είναι βροχερός ή ηλιόλουστος αλλά η θερμοκρασία, το σημείο δρόσου, η ριπή ανέμου, η υγρασία, η βροχόπτωση, η πίεση, ο δείκτης UV και πολλά άλλα, όλα εύκολα διαθέσιμα για όπου θέλετε, όποτε θέλετε.

Ας μάθουμε πώς να χρησιμοποιούμε το εξαιρετικά απλό API του Dark Sky. Εάν είστε νέοι στη χρήση API, σας υπόσχομαι ότι αυτό θα είναι πολύ εύκολο! Και αν έχετε χρησιμοποιήσει API's στο παρελθόν, ελπίζω ότι μπορούμε να σας διδάξουμε κάτι νέο με τον κώδικα που έχουμε χρησιμοποιήσει.

Τι θα χρειαστείτε για αυτό το έργο:

  • Λογαριασμός Dark Sky API
  • Αρχικός λογαριασμός κράτους
  • Raspberry Pi ή Laptop

Βήμα 1: Ξεκινώντας

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

Για να ανακτήσετε όλα τα πράγματα που έχουμε ετοιμάσει για εσάς, θα πρέπει να κλωνοποιήσετε το αποθετήριο από το GitHub. Το GitHub είναι μια υπηρεσία που μας επιτρέπει να αποθηκεύουμε, να αναθεωρούμε και να διαχειριζόμαστε έργα όπως αυτό. Θα θέλετε να εκτελέσετε αυτό το σενάριο σε ειδική συσκευή. Το Raspberry Pi είναι μια τέλεια επιλογή για την εκτέλεση εφαρμογών όπως αυτό το σεμινάριο.

Για να κλωνοποιήσουμε το αποθετήριο, το μόνο που χρειάζεται να κάνουμε είναι να πάμε στο τερματικό του Pi μας ή στο τερματικό υπολογιστών σας που είναι SSH'd στο pi σας και να πληκτρολογήσουμε αυτήν την εντολή:

$ git clone

Πατήστε enter και θα δείτε αυτές τις πληροφορίες:

Κλωνοποίηση σε "darksky"…

τηλεχειριστήριο: Καταμέτρηση αντικειμένων: 2, τελειωμένο. τηλεχειριστήριο: Σύνολο 2 (δέλτα 0), επαναχρησιμοποίηση 0 (δέλτα 0), επαναχρησιμοποίηση 2 συσκευών Αποσυσκευασία αντικειμένων: 100% (2/2), τελειωμένο. Έλεγχος συνδεσιμότητας … ολοκληρώθηκε.

Μόλις δείτε αυτό, τότε συγχαρητήρια, έχετε κλωνοποιήσει με επιτυχία το GitHub Repo και έχετε όλα τα απαραίτητα αρχεία για να δημιουργήσετε αυτό το έργο. Πριν προχωρήσουμε στο επόμενο βήμα, ας αφιερώσουμε λίγο χρόνο για να εξερευνήσουμε αυτόν τον κατάλογο και να μάθουμε μερικές βασικές εντολές της γραμμής εντολών.

Πληκτρολογήστε την παρακάτω εντολή στο τερματικό σας:

$ ls

Αυτή η εντολή παραθέτει όλα τα διαθέσιμα στον κατάλογο στον οποίο βρίσκεστε αυτήν τη στιγμή. Αυτή η λίστα δείχνει ότι το GitHub Repo έχει κλωνοποιηθεί επιτυχώς στον κατάλογό μας με το όνομα "darksky". Ας ρίξουμε μια ματιά στο τι υπάρχει σε αυτόν τον κατάλογο. Για να μετακινηθείτε σε έναν κατάλογο, το μόνο που χρειάζεται να κάνετε είναι να πληκτρολογήσετε "cd" και στη συνέχεια να πληκτρολογήσετε το όνομα του καταλόγου στον οποίο θέλετε να μεταβείτε.

Σε αυτήν την περίπτωση, πληκτρολογούμε:

$ cd darksky

Μόλις πατήσουμε enter, θα δείτε ότι είμαστε τώρα στον κατάλογο darksky. Ας πληκτρολογήσουμε ξανά "ls" για να δούμε ποια αρχεία έχουμε εγκαταστήσει στο pi μας.

README.md darksky.py…

Εδώ βλέπουμε τα έγγραφα readme και τα αρχεία python. Ας ρίξουμε μια ματιά στο darksky.py χρησιμοποιώντας την εντολή "nano". Η εντολή nano μας επιτρέπει να ανοίξουμε τον επεξεργαστή κειμένου nano όπου έχουμε όλο τον κώδικα python για κάθε τμήμα αυτού του έργου. Προχωρήστε και πληκτρολογήστε:

$ nano darksky.py

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

Βήμα 2: Χρήση του API Dark Sky

Αρχική κατάσταση
Αρχική κατάσταση

Για να χρησιμοποιήσετε το Dark Sky API, χρειάζεστε πρώτα το δικό σας κλειδί API. Μην ανησυχείτε, η λήψη ενός κλειδιού API είναι γρήγορη και δωρεάν. Το μόνο που χρειάζεται να κάνετε είναι να μεταβείτε στον ιστότοπο και να κάνετε κλικ στο "Δοκιμάστε δωρεάν" για να δημιουργήσετε έναν λογαριασμό.

  • Λαμβάνετε 1, 000 κλήσεις API δωρεάν κάθε μέρα. Κάθε αίτημα API πέρα από το δωρεάν ημερήσιο όριο κοστίζει $ 0.0001.
  • Αυτό το όριο επαναφέρεται αυτόματα κάθε μέρα τα μεσάνυχτα UTC.
  • Το αίτημα πρόβλεψης επιστρέφει την τρέχουσα πρόγνωση του καιρού για την επόμενη εβδομάδα.
  • Το αίτημα μηχανής χρόνου επιστρέφει τις παρατηρούμενες ή προβλέψεις καιρικές συνθήκες για μια ημερομηνία στο παρελθόν ή στο μέλλον.

Το μυστικό σας κλειδί API Dark Sky θα μοιάζει κάπως έτσι: 0123456789abcdef9876543210fedcba.

Μπορείτε να πραγματοποιήσετε μια κλήση API στο Dark Sky πληκτρολογώντας μια διεύθυνση URL στο πρόγραμμα περιήγησής σας με την ακόλουθη μορφή:

api.darksky.net/forecast/hilekey]/latitude], [γεωγραφικό μήκος]

Αντικαταστήστε το "κλειδί" με το κλειδί API Dark Sky και το γεωγραφικό μήκος/πλάτος με ό, τι θέλετε. Μπορείτε να βρείτε το γεωγραφικό πλάτος και γεωγραφικό πλάτος πηγαίνοντας στους Χάρτες Google και αναζητώντας την τοποθεσία σας. Αυτές οι τιμές θα βρίσκονται στη διεύθυνση URL. Αντιγράψτε και επικολλήστε την παραπάνω διεύθυνση URL σκοτεινού ουρανού με το κλειδί πρόσβασης και τις τιμές που προστίθενται σε μια γραμμή διευθύνσεων.

Μόλις το κάνετε αυτό, θα δείτε κάτι σαν αυτό:

ημέρα "," πλησιέστερη Θύελλα Απόσταση ": 57," πλησιέστερη Θύελλα ": 15," ένταση έντασης ": 0," πιθανότητα βροχής ": 0," θερμοκρασία ": 53.9," φαινομενική θερμοκρασία ": 53.9," σημείο δροσιάς ": 29.59," υγρασία ": 0.39, "πίεση": 1022.45, "windSpeed": 3.87, "windGust": 9.25, "windBearing": 259, "cloudCover": 0.01, "uvIndex": 3, "ορατότητα": 7.8, "όζον": 309.71}, "minutely": {"summary": "Clear for the hour.", "icon": "clear-day", "data": [{"time": 1550615280, "precipIntensity": 0, "precipProbability": 0 },…

Μπορεί να είναι λίγο συντριπτικό και δύσκολο να διαβαστεί, οπότε αυτό που προτείνω να κάνετε είναι να χρησιμοποιήσετε ένα JSON Formatter για να κάνετε τα δεδομένα πιο ευανάγνωστα. Όταν το κάνετε αυτό θα φαίνεται κάπως έτσι:

αντικείμενο {9}

γεωγραφικό πλάτος: 37.8267 γεωγραφικό μήκος: -122.4233 ζώνη ώρας: America/Los_Angeles επί του παρόντος {19} ώρα: 1550615286 περίληψη: Διαυγές εικονίδιο: καθαρότερη ημέρα πλησιέστερη Θύελλα Απόσταση: 57 πλησιέστερη Θύελλα Φορώντας: 15 βροχές Ένταση: 0 βροχόπτωση Πιθανότητα: 0 θερμοκρασία: 53,9 φαινομενική Θερμοκρασία: 53,9 δροσιά: 0,39 πίεση: 1022,45 άνεμος Ταχύτητα: 3,87 άνεμος Πυξ: 9,25 άνεμος Ρουλεμάν: 259 σύννεφο Κάλυψη: 0,01 uv Ευρετήριο: 3 ορατότητα: 7,8 όζον: 309,71

Μόλις κάνατε μια κλήση API! Βλέπεις πόσο εύκολο ήταν; Δεν χρειάστηκε καν να γράψετε ούτε μία γραμμή κώδικα. Τώρα που έχετε κατακτήσει τα API, μπορούμε να προχωρήσουμε στο τμήμα ροής δεδομένων.

Βήμα 3: Αρχική κατάσταση

Θέλουμε να μεταδώσουμε όλα τα δεδομένα καιρού σε μια υπηρεσία cloud και να κάνουμε αυτή την υπηρεσία να μετατρέψει τα δεδομένα μας σε έναν όμορφο πίνακα ελέγχου στον οποίο μπορούμε να έχουμε πρόσβαση από το φορητό υπολογιστή ή την κινητή συσκευή μας. Τα δεδομένα μας χρειάζονται έναν προορισμό. Θα χρησιμοποιήσουμε την αρχική κατάσταση ως αυτόν τον προορισμό.

Βήμα 1: Εγγραφή για τον αρχικό λογαριασμό κράτους

Μεταβείτε στη διεύθυνση https://iot.app.initialstate.com και δημιουργήστε έναν νέο λογαριασμό. Παίρνετε δωρεάν δοκιμή 14 ημερών και οποιοσδήποτε με διεύθυνση ηλεκτρονικού ταχυδρομείου edu μπορεί να εγγραφεί για δωρεάν φοιτητικό πρόγραμμα.

Βήμα 2: Εγκαταστήστε το ISStreamer

Εγκαταστήστε τη μονάδα αρχικής κατάστασης Python στο Raspberry Pi σας. Στη γραμμή εντολών, εκτελέστε την ακόλουθη εντολή:

$ cd/home/pi/$ / curl -sSL https://get.initialstate.com/python -o -| sudo bash

Βήμα 3: Κάντε κάποια Automagic Μετά το Βήμα 2 θα δείτε κάτι παρόμοιο με την ακόλουθη έξοδο στην οθόνη:

pi@raspberrypi ~ $ / curl -sSL https://get.initialstate.com/python -o -| sudo bashPassword: Έναρξη ISStreamer Python Εύκολη εγκατάσταση! Αυτό μπορεί να πάρει μερικά λεπτά για να εγκατασταθεί, πιείτε λίγο καφέ:) Αλλά μην ξεχάσετε να επιστρέψετε, θα έχω ερωτήσεις αργότερα! Βρέθηκε easy_install: setuptools 1.1.6 Βρέθηκε pip: pip 1.5.6 από /Library/Python/2.7/site-packages/pip-1.5.6- py2.7.egg (python 2.7) pip major version: 1 pip minor version: Βρέθηκε 5 ISStreamer, ενημερώνεται… Η απαίτηση είναι ήδη ενημερωμένη: ISStreamer στο/Librar/Python/2.7/site-packages Καθαρισμός… Θέλετε να λάβετε αυτόματα ένα παράδειγμα δέσμης ενεργειών; [y/N] Πού θέλετε να αποθηκεύσετε το παράδειγμα; [προεπιλογή:./is_example.py] Επιλέξτε ποια εφαρμογή αρχικής κατάστασης χρησιμοποιείτε: 1. app.initialstate.com 2. [ΝΕΟ!] iot.app.initialstate.com Εισαγάγετε την επιλογή 1 ή 2: Πληκτρολογήστε iot.app.initialstate.com όνομα χρήστη: Εισαγάγετε τον κωδικό πρόσβασης iot.app.initialstate.com:

Όταν ερωτηθείτε εάν θέλετε να λάβετε αυτόματα ένα παράδειγμα σεναρίου, τοποθετήστε "y" για ναι και πατήστε enter για να αποθηκεύσετε το σενάριό σας στην προεπιλεγμένη τοποθεσία. Για την ερώτηση σχετικά με την εφαρμογή που χρησιμοποιείτε, επιλέξτε 2 (εκτός εάν εγγραφείτε πριν από τον Νοέμβριο του 2018) και εισαγάγετε το όνομα χρήστη και τον κωδικό πρόσβασής σας.

Βήμα 4: Εκτελέστε το Παράδειγμα σεναρίου

Εκτελέστε τη δοκιμαστική δέσμη ενεργειών για να βεβαιωθείτε ότι μπορούμε να δημιουργήσουμε μια ροή δεδομένων στον λογαριασμό σας αρχικής κατάστασης. Γράψτε την ακόλουθη εντολή:

$ python is_example.py

Βήμα 6: Παράδειγμα δεδομένων

Επιστρέψτε στον αρχικό σας λογαριασμό στο πρόγραμμα περιήγησής σας. Ένας νέος κάδος δεδομένων που ονομάζεται "Παράδειγμα ροής Python" θα έπρεπε να έχει εμφανιστεί στα αριστερά στο ράφι καταγραφής (ίσως χρειαστεί να ανανεώσετε τη σελίδα). Κάντε κλικ σε αυτόν τον κάδο για να δείτε τα δεδομένα σας.

Βήμα 4: Πίνακας καιρού σκοτεινού ουρανού

Πίνακας καιρού σκοτεινού ουρανού
Πίνακας καιρού σκοτεινού ουρανού

Τώρα για το διασκεδαστικό κομμάτι. Είμαστε έτοιμοι να ξεκινήσουμε να χρησιμοποιούμε το Dark Sky API για να δημιουργήσουμε έναν πίνακα καιρού και να καταγράψουμε το ιστορικό καιρού για την τοποθεσία που θα επιλέξουμε. Για να γίνει αυτό, θα χρησιμοποιήσουμε το σενάριο Python: https://github.com/initialstate/darksky/blob/master/darksky.py. Αυτό το σενάριο καλεί απλώς το API Dark Sky χρησιμοποιώντας το κλειδί API και ανακτά τις πληροφορίες καιρού σε ένα καθορισμένο χρονικό διάστημα. Μεταφέρει επίσης αυτά τα δεδομένα στον λογαριασμό σας Αρχικής κατάστασης, ο οποίος θα σας επιτρέψει να δημιουργήσετε έναν πίνακα καιρού για το Dark Sky.

Μπορείτε είτε να αντιγράψετε αυτό το σενάριο στο Pi σας είτε να αποκτήσετε πρόσβαση σε αυτό μέσω του αποθετηρίου GitHub που κλωνοποιήσαμε νωρίτερα. Μπορείτε να το κάνετε αλλάζοντας στον κατάλογο darksky πληκτρολογώντας:

$ cd darksky

Από εδώ, θα μπορείτε να έχετε πρόσβαση στο αρχείο python που θα εκτελέσουμε για να δημιουργήσουμε τον πίνακα ελέγχου καιρού. Πριν το εκτελέσετε, πρέπει να ορίσετε τις επιθυμητές παραμέτρους και να εισαγάγετε τα κλειδιά σας. Nano στο αρχείο darksky.py πληκτρολογώντας:

$ nano darksky.py

Στη συνέχεια, επεξεργαστείτε την ενότητα κοντά στην κορυφή του σεναρίου:

# --------- Ρυθμίσεις χρήστη ---------

CITY = "Nashville" GPS_COORDS = "36.1628414, -86.780199" DARKSKY_API_KEY = "PLACE YOUR DARK SKY API KEY ΕΔΩ" BUCKET_NAME = ": μερικώς_ηλιακός:" + CITY + "Καιρός" BUCKET_KEYCACE = "ds1" ΚΛΕΙΔΙ ΕΔΩ "MINUTES_BETWEEN_READS = 15 # ---------------------------------

Πρέπει να ορίσετε τις επιθυμητές συντεταγμένες GPS και το όνομα της πόλης. Πρέπει επίσης να εισαγάγετε το κλειδί API Dark Sky και το κλειδί πρόσβασης στο λογαριασμό αρχικής κατάστασης ή τα δεδομένα σας δεν πρόκειται να πάνε πουθενά. Η παράμετρος MINUTES_BETWEEN_READS θα ορίσει πόσο συχνά το σενάριό σας θα κάνει δημοσκόπηση του API Dark Sky για πληροφορίες καιρού. 15 λεπτά παρέχουν ένα ωραίο διάστημα μακροπρόθεσμα. Για λόγους βραχυπρόθεσμων δοκιμών, μπορείτε να το ορίσετε σε 0,5 λεπτά. Πραγματοποιήστε τις αλλαγές σας και στη συνέχεια πληκτρολογήστε control+X για έξοδο και αποθήκευση.

Μόλις ρυθμίσετε τις παραμέτρους σας, είστε έτοιμοι να εκτελέσετε το σενάριό σας:

$ python darksky.py

Εάν εισέρχεστε στο Pi σας και θέλετε να αφήσετε αυτό το σενάριο χωρίς διακοπή για μεγάλο χρονικό διάστημα, μπορείτε να χρησιμοποιήσετε την εντολή nohup (χωρίς κλείσιμο) ως εξής:

$ nohup python darksky.py &

Αυτό το σενάριο θα κάνει κάτι περισσότερο από την απλή ανάγνωση των δεδομένων καιρού και την αποστολή τους στην αρχική κατάσταση. Αυτό το σενάριο θα επωφεληθεί από την υποστήριξη emoji που είναι ενσωματωμένη στα εργαλεία της αρχικής κατάστασης για να κάνει το ταμπλό λίγο πιο δροσερό. Μπορείτε να δείτε τη λογική που χρησιμοποιείται για τη λήψη της κατάστασης καιρού από το τρέχον εικονίδιο -> και τη μετατροπή του σε ένα διακριτικό emoji στη συνάρτηση weather_icon. Κάτι παρόμοιο συμβαίνει για τη φάση του φεγγαριού στη συνάρτηση moon_icon και την κατεύθυνση του ανέμου στη συνάρτηση wind_dir_icon.

Βήμα 5: Συμπέρασμα

συμπέρασμα
συμπέρασμα
συμπέρασμα
συμπέρασμα

Μεταβείτε στον αρχικό λογαριασμό σας και δείτε τα δεδομένα σας. Άλλαξα όλες τις ποσοστιαίες τιμές σε μετρητές τόξου, την κατακρήμνιση σε υγρόμετρο και τη θερμοκρασία σε μετρητή θερμοκρασίας. Μπορείτε να αλλάξετε σε κάθε είδους τύπους πλακιδίων και να επιλέξετε τα χρώματα σας για τους μετρητές και τα γραφήματα γραμμών. Μπορείτε να κάνετε το ταμπλό σας σκούρο ή ανοιχτό και να ενσωματώσετε το τελικό προϊόν σε έναν ιστότοπο χρησιμοποιώντας ένα ενσωματωμένο iFrame.

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

Η δημόσια διεύθυνση URL κοινής χρήσης για τον πίνακα ελέγχου μας είναι

Τώρα έχετε κυριαρχήσει στο Dark Sky API, οι δυνατότητες είναι ατελείωτες! Υπάρχει απεριόριστος αριθμός δωρεάν API στο διαδίκτυο για εξερεύνηση, για να ξεκινήσετε.

Συνιστάται: