Isi kandungan:

Bina Papan Pemuka Cuaca Menggunakan Dark Sky API: 5 Langkah (dengan Gambar)
Bina Papan Pemuka Cuaca Menggunakan Dark Sky API: 5 Langkah (dengan Gambar)

Video: Bina Papan Pemuka Cuaca Menggunakan Dark Sky API: 5 Langkah (dengan Gambar)

Video: Bina Papan Pemuka Cuaca Menggunakan Dark Sky API: 5 Langkah (dengan Gambar)
Video: Lemes bareng Leika ni. #shorts 2024, November
Anonim
Image
Image

Dark Sky pakar dalam ramalan cuaca dan visualisasi. Aspek Dark Sky yang paling keren adalah API cuaca mereka yang dapat kita gunakan untuk mengambil data cuaca dari hampir mana saja di dunia. Bukan hanya cuaca hujan atau cerah tetapi suhu, titik embun, hembusan angin, kelembapan, curah hujan, tekanan, indeks UV, dan banyak lagi, semuanya mudah didapati di mana sahaja anda mahu, bila-bila masa anda mahu.

Mari belajar bagaimana menggunakan API super sederhana Dark Sky. Sekiranya anda baru menggunakan API, saya berjanji ini akan menjadi sangat mudah! Dan jika anda pernah menggunakan API sebelumnya, saya harap kami dapat mengajar anda sesuatu yang baru dengan kod yang telah kami gunakan.

Apa yang anda perlukan untuk projek ini:

  • Akaun Dark Sky API
  • Akaun Negeri Permulaan
  • Raspberry Pi atau Laptop

Langkah 1: Bermula

Kami telah membuat banyak usaha untuk anda mengumpulkan kod dan menyusun maklumat. Kami hanya memerlukan anda membuat beberapa penyesuaian. Sekiranya anda menginginkan sedikit cabaran, buat beberapa perubahan pada kod kami dan data cuaca apa yang dihantar, ada kemungkinan yang tidak terbatas!

Untuk mendapatkan semula semua perkara yang kami sediakan untuk anda, anda perlu mengklon repositori dari GitHub. GitHub adalah perkhidmatan yang membolehkan kita menyimpan, menyemak semula, dan menguruskan projek seperti ini. Anda mahu menjalankan skrip ini pada peranti khusus. Raspberry Pi adalah pilihan yang tepat untuk menjalankan aplikasi seperti tutorial ini.

Untuk mengkloning repositori yang perlu kita lakukan adalah masuk ke terminal Pi kita, atau terminal komputer anda yang SSH masukkan ke dalam pi anda dan ketik perintah ini:

$ git klon

Tekan enter dan anda akan melihat maklumat ini:

Pengklonan menjadi 'darksky' …

jarak jauh: Membilang objek: 2, selesai. jauh: Jumlah 2 (delta 0), digunakan kembali 0 (delta 0), pakaikan semula 2 Bongkar objek: 100% (2/2), selesai. Memeriksa sambungan … selesai.

Setelah anda melihatnya, selamat berjaya mengklon GitHub Repo dan mempunyai semua fail yang diperlukan untuk membina projek ini. Sebelum kita melangkah ke langkah seterusnya, mari luangkan sedikit masa untuk menjelajahi sekitar direktori ini dan mempelajari beberapa perintah baris perintah asas.

Taipkan arahan di bawah ke terminal anda:

$ ls

Perintah ini menyenaraikan semua yang ada di direktori yang sedang anda masuki. Senarai ini menunjukkan bahawa GitHub Repo kami telah berjaya diklon ke direktori kami dengan nama "darksky." Mari kita lihat apa yang ada dalam direktori itu. Untuk berpindah ke direktori, yang perlu anda lakukan ialah ketik "cd" dan kemudian taipkan nama direktori yang ingin anda kunjungi.

Dalam kes ini, kami akan menaip:

$ cd darksky

Sebaik sahaja kita tekan enter, anda akan melihat bahawa kita sekarang berada di direktori darksky. Mari ketik "ls" sekali lagi untuk melihat fail apa yang telah kita pasang pada pi.

README.md darksky.py…

Di sini kita melihat bahawa kita mempunyai dokumen readme dan fail python. Mari kita lihat darksky.py menggunakan arahan "nano". Perintah nano membolehkan kita membuka editor teks nano di mana kita mempunyai semua kod python untuk setiap segmen projek ini. Teruskan dan taip:

$ nano darksky.py

Di sini anda dapat melihat semua kod yang telah kami sediakan untuk anda untuk projek ini. Kami belum akan membuat perubahan pada dokumen ini, tetapi jangan ragu untuk melihat-lihat dan melihat apa yang akan kami lakukan nanti dalam tutorial ini.

Langkah 2: Menggunakan Dark Sky API

Keadaan awal
Keadaan awal

Untuk menggunakan Dark Sky API, pertama-tama anda memerlukan kunci API anda sendiri. Jangan risau, mendapatkan kunci API cepat dan percuma. Yang perlu anda lakukan hanyalah pergi ke laman web dan klik "Cuba Percuma" untuk membuat akaun.

  • Anda mendapat 1, 000 panggilan API secara percuma setiap hari. Setiap permintaan API melebihi had harian percuma berharga $ 0.0001.
  • Had ini ditetapkan semula secara automatik setiap hari pada tengah malam UTC.
  • Permintaan Ramalan mengembalikan ramalan cuaca semasa untuk minggu depan.
  • Permintaan Mesin Masa mengembalikan keadaan cuaca yang diperhatikan atau diramalkan untuk tarikh pada masa lalu atau masa depan.

Kunci API Dark Sky rahsia anda akan kelihatan seperti ini: 0123456789abcdef9876543210fedcba.

Anda boleh membuat panggilan API ke Dark Sky dengan memasukkan URL ke penyemak imbas anda dalam format berikut:

api.darksky.net/forecast/[key]/[latitude], [garis bujur]

Gantikan "kunci" dengan kekunci Dark Sky API dan garis bujur / garis lintang dengan apa sahaja yang anda mahukan. Anda boleh menemui garis bujur dan garis lintang anda dengan pergi ke Peta Google dan mencari lokasi anda. Nilai tersebut akan terdapat di URL. Salin dan tampal URL langit gelap di atas dengan kunci akses dan nilai yang ditambahkan ke bar alamat.

Sebaik sahaja anda melakukannya, anda akan melihat sesuatu seperti ini:

hari "," terdekatStormDistance ": 57," terdekatStormBearing ": 15," mildIntensity ": 0," mildProbability ": 0," temperature ": 53.9," apparentTemperature ": 53.9," dewPoint ": 29.59," kelembapan ": 0.39, "pressure": 1022.45, "windSpeed": 3.87, "windGust": 9.25, "windBearing": 259, "cloudCover": 0.01, "uvIndex": 3, "visibility": 7.8, "ozone": 309.71}, "minently": {"ringkasan": "Bersih selama sejam.", "ikon": "jelas-hari", "data": [{"masa": 1550615280, "mendakIntensiti": 0, "mendakanProbabiliti": 0 },…

Ini boleh menjadi sedikit keterlaluan dan sukar dibaca jadi apa yang saya cadangkan lakukan adalah menggunakan JSON Formatter untuk membantu menjadikan data lebih mudah dibaca. Apabila anda melakukan ini, ia akan kelihatan seperti ini:

objek {9}

garis lintang: 37.8267 garis bujur: -122.4233 zon waktu: Amerika / Los_Angeles pada masa ini {19} masa: 1550615286 ringkasan: Ikon jelas: hari-hari terdekatBerat Jarak: 57 terdekatBerat: Bantalan: 15 jurangIntensiti: 0 mendakanKemungkinan: 0 suhu: 53.9 jelasTuhu: 53.9 Titik embun: 29.59 kelembapan: Tekanan 0.39: angin 1022.45 Kelajuan: 3.87 angin Kencang: angin 9.25 Bantalan: 259 awanCover: 0.01 uvIndeks: 3 jarak pandang: 7.8 ozon: 309.71

Anda baru sahaja membuat panggilan API! Lihat betapa mudahnya itu? Anda tidak perlu menulis satu baris kod. Setelah anda menguasai API, kami dapat beralih ke bahagian aliran data.

Langkah 3: Keadaan Awal

Kami ingin mengalirkan semua data cuaca kami ke perkhidmatan cloud dan meminta perkhidmatan itu mengubah data kami menjadi papan pemuka yang bagus yang dapat kami akses dari komputer riba atau peranti mudah alih kami. Data kami memerlukan destinasi. Kami akan menggunakan Negeri Permulaan sebagai tujuan tersebut.

Langkah 1: Daftar untuk Akaun Negeri Permulaan

Pergi ke https://iot.app.initialstate.com dan buat akaun baru. Anda mendapat percubaan percuma 14 hari dan sesiapa sahaja yang mempunyai alamat e-mel edu boleh mendaftar untuk rancangan pelajar percuma.

Langkah 2: Pasang ISStreamer

Pasang modul Initial State Python ke Raspberry Pi anda. Pada command prompt, jalankan arahan berikut:

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

Langkah 3: Buat beberapa Automagic Selepas Langkah 2 anda akan melihat sesuatu yang serupa dengan output berikut ke skrin:

pi @ raspberrypi ~ $ / curl -sSL https://get.initialstate.com/python -o - | sudo bash Kata Laluan: Memulakan Pemasangan Mudah ISStreamer Python! Ini mungkin memerlukan beberapa minit untuk memasang, ambil kopi:) Tetapi jangan lupa untuk kembali, saya akan mempunyai soalan kemudian! Found easy_install: setuptools 1.1.6 Found pip: pip 1.5.6 from /Library/Python/2.7/site-packages/pip-1.5.6- py2.7.egg (python 2.7) versi utama pip: 1 pip versi kecil: 5 ISStreamer dijumpai, dikemas kini … Keperluan sudah dikemas kini: ISStreamer di /Library/Python/2.7/site-packages Membersihkan… Adakah anda ingin mendapatkan skrip contoh secara automatik? [y / N] Di mana anda mahu menyimpan contohnya? [lalai:./is_example.py] Sila pilih aplikasi Status Permulaan yang anda gunakan: 1. app.initialstate.com 2. [BARU!] iot.app.initialstate.com Masukkan pilihan 1 atau 2: Masukkan iot.app nama pengguna.initialstate.com: Masukkan kata laluan iot.app.initialstate.com:

Apabila ditanya adakah anda ingin mendapatkan skrip contoh secara automatik, letakkan "y" untuk ya dan tekan enter untuk menyimpan skrip anda di lokasi lalai. Untuk pertanyaan mengenai aplikasi mana yang anda gunakan, pilih 2 (kecuali anda mendaftar sebelum November 2018) dan masukkan nama pengguna dan kata laluan anda.

Langkah 4: Jalankan Skrip Contoh

Jalankan skrip ujian untuk memastikan kami dapat membuat aliran data ke akaun Negeri Permulaan anda. Tulis arahan berikut:

$ python is_example.py

Langkah 6: Contoh Data

Kembali ke akaun Keadaan Awal anda di penyemak imbas web anda. Baldi data baru yang disebut "Contoh Python Stream" seharusnya muncul di sebelah kiri di rak log anda (anda mungkin perlu memuat semula halaman). Klik pada baldi ini untuk melihat data anda.

Langkah 4: Papan Pemuka Cuaca Langit Gelap

Papan Pemuka Cuaca Langit Gelap
Papan Pemuka Cuaca Langit Gelap

Sekarang untuk bahagian yang menyeronokkan. Kami siap untuk mulai menggunakan Dark Sky API untuk membuat papan pemuka cuaca dan menangkap sejarah cuaca untuk lokasi yang kami pilih. Untuk melakukan ini, kita akan menggunakan skrip Python: https://github.com/initialstate/darksky/blob/master/darksky.py. Skrip ini hanya memanggil Dark Sky API menggunakan kunci API anda dan mengambil maklumat cuaca pada selang waktu yang ditentukan. Data ini juga mengalirkan data tersebut ke akaun Status Awal anda, yang memungkinkan anda membuat papan pemuka cuaca Dark Sky.

Anda boleh menyalin skrip ini ke Pi anda, atau mengaksesnya melalui repositori GitHub yang kami kloning sebelumnya. Anda boleh melakukan ini dengan menukar ke direktori darksky anda dengan menaip:

$ cd darksky

Dari sini, anda akan dapat mengakses fail python yang akan kami jalankan untuk membuat papan pemuka cuaca kami. Sebelum anda menjalankannya, anda perlu menetapkan parameter yang anda inginkan dan memasukkan kunci anda. Nano ke dalam fail darksky.py dengan menaip:

$ nano darksky.py

Kemudian edit bahagian berhampiran bahagian atas skrip:

# --------- Tetapan Pengguna ---------

CITY = "Nashville" GPS_COORDS = "36.1628414, -86.780199" DARKSKY_API_KEY = "TEMPAT API SKY GELAP ANDA KUNCI DI SINI" BUCKET_NAME = ": part_sunny:" + CITY + "Weather" BUCKET_KEY = "dSYEY ACCESS" KUNCI DI SINI "MINUTES_BETWEEN_READS = 15 # ---------------------------------

Anda perlu menetapkan koordinat GPS dan nama bandar yang dikehendaki. Anda juga harus memasukkan kunci API Dark Sky dan kunci akses akaun Negeri Awal anda atau data anda tidak akan ke mana-mana. Parameter MINUTES_BETWEEN_READS akan menetapkan seberapa kerap skrip anda akan mengundi API Dark Sky untuk maklumat cuaca. 15 minit memberikan jangka masa yang baik. Demi ujian jangka pendek, anda boleh menetapkannya hingga 0.5 minit. Lakukan perubahan anda kemudian masukkan kawalan + X untuk keluar dan simpan.

Setelah anda menetapkan parameter anda, anda bersedia menjalankan skrip anda:

$ python darksky.py

Sekiranya anda masuk ke Pi anda dan ingin membiarkan skrip ini tidak terganggu untuk waktu yang lama, anda boleh menggunakan perintah nohup (tanpa hang-up) seperti berikut:

$ nohup python darksky.py &

Skrip ini akan melakukan lebih banyak daripada sekadar membaca data cuaca dan menghantarnya ke Status Permulaan. Skrip ini akan memanfaatkan sokongan emoji yang terdapat di dalam alat Initial State untuk menjadikan papan pemuka sedikit lebih keren. Anda dapat melihat logik yang digunakan untuk mengambil status cuaca dari ikon saat ini -> dan menukarnya menjadi token emoji dalam fungsi weather_icon. Perkara serupa berlaku untuk fasa bulan dalam fungsi moon_icon dan arah angin dalam fungsi wind_dir_icon.

Langkah 5: Kesimpulannya

Kesimpulannya
Kesimpulannya
Kesimpulannya
Kesimpulannya

Pergi ke akaun Negeri Permulaan anda dan lihat data anda. Saya menukar semua nilai peratusan saya ke tolok arka, pemendakan menjadi tolok cecair, dan suhu menjadi tolok suhu. Anda boleh menukar ke jenis jenis Ubin dan memilih warna anda untuk alat pengukur & carta garis. Anda boleh menjadikan papan pemuka anda gelap atau terang dan memasukkan produk akhir ke laman web menggunakan iFrame embed.

Sekiranya anda ingin menggunakan susun atur papan pemuka dari bahagian awam sebagai papan pemuka anda, anda boleh mengimport susun atur ke dalam keranjang data anda dengan mengikuti arahan di sini. Anda boleh menambahkan gambar latar ke papan pemuka untuk memberikan konteks yang lebih banyak.

URL perkongsian awam untuk papan pemuka kami adalah

Sekarang anda telah menguasai Dark Sky API kemungkinannya tidak berkesudahan! Terdapat banyak API percuma dalam talian untuk diterokai, jadi mulailah.

Disyorkan: