Isi kandungan:
- Langkah 1: Bermula
- Langkah 2: Menggunakan Dark Sky API
- Langkah 3: Keadaan Awal
- Langkah 4: Papan Pemuka Cuaca Langit Gelap
- Langkah 5: Kesimpulannya
Video: Bina Papan Pemuka Cuaca Menggunakan Dark Sky API: 5 Langkah (dengan Gambar)
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:09
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
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
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
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:
Papan Pemuka COVID-19 WHO: 8 Langkah (dengan Gambar)
COVID-19 WHO Dashboard: Instruksional ini menunjukkan cara menggunakan ESP8266 / ESP32 dan LCD untuk membina papan pemuka WHO situasi COVID-19
Papan Pemuka Motosikal Raspberry Pi: 9 Langkah (dengan Gambar)
Papan Pemuka Motosikal Raspberry Pi: Sebagai pelajar Multimedia & Teknologi komunikasi di Howest Kortrijk, saya terpaksa membuat projek IoT saya sendiri. Ini akan menggabungkan semua modul yang diikuti pada tahun pertama menjadi satu projek besar. Kerana saya banyak menunggang motosikal pada masa lapang
Papan Pemuka API Kualiti Udara AirVisual: 5 Langkah
Dashboard API Kualiti Udara AirVisual: AirVisual (https://www.airvisual.com) adalah laman web yang menyediakan data mengenai kualiti udara di seluruh dunia. Mereka memiliki API yang akan kami gunakan untuk mendapatkan data kualiti udara untuk dikirim ke papan pemuka. Kami akan berinteraksi dengan API ini sama seperti yang kami lakukan dengan kami
Guino: Papan Pemuka untuk Arduino Anda: 4 Langkah (dengan Gambar)
Guino: Dashboard for Your Arduino: Projek ini adalah sebahagian daripada eksperimen yang dilakukan semasa melakukan seniman di kediaman di Instructables. Anda boleh melihat projek lain di sini. Menjadi tugas yang sukar untuk melakukan debug dan memvisualisasikan masa nyata data di papan Arduino. Anda biasanya terjebak dengan s
Papan Pemuka Basikal Elektrik (EBike) dan Monitor Bateri: 12 Langkah (dengan Gambar)
Papan Pemuka Basikal Elektrik (EBike) dan Monitor Bateri: Projek ini adalah litar Arduino yang memantau voltan dan arus bateri dengan modul ACS 712. Pengukuran disampaikan melalui Bluetooth dengan modul HC-05 ke peranti Android. Pada dasarnya anda menjalin hubungan negatif antara y