Daftar Isi:

Dasbor API Kualitas Udara AirVisual: 5 Langkah
Dasbor API Kualitas Udara AirVisual: 5 Langkah

Video: Dasbor API Kualitas Udara AirVisual: 5 Langkah

Video: Dasbor API Kualitas Udara AirVisual: 5 Langkah
Video: Stream Air Quality with Air Visual API | GIT TECH'D 2024, Juli
Anonim
Image
Image

AirVisual (https://www.airvisual.com) adalah situs web yang menyediakan data kualitas udara di seluruh dunia. Mereka memiliki API yang akan kami gunakan untuk mendapatkan data kualitas udara untuk dikirim ke dasbor. Kami akan berinteraksi dengan API ini seperti yang kami lakukan dengan dasbor cuaca.

Ini adalah proyek sederhana yang mengajarkan Anda cara menggunakan API. Mari kita mulai!

Langkah 1: Memulai

API AirVisual
API AirVisual

Kami telah menggabungkan sebagian besar kode, tetapi Anda perlu melakukan beberapa penyesuaian di sepanjang jalan. Ada banyak peluang untuk memperluas apa yang telah kami lakukan juga.

Untuk mengambil semua hal yang telah kami siapkan untuk Anda, Anda harus mengkloning repositori dari GitHub. GitHub adalah layanan luar biasa yang memungkinkan kami menyimpan, merevisi, dan mengelola proyek seperti ini. Anda akan ingin menjalankan skrip ini pada perangkat khusus. Anda bisa menggunakan laptop, Raspberry Pi, atau komputer single board lainnya. Untuk mengkloning repositori yang perlu kita lakukan adalah masuk ke terminal komputer atau Pi kita, dan ketik perintah ini:

$ git clone

Tekan enter dan Anda akan melihat informasi ini:

$ git clone https://github.com/InitialState/airvisual.git Kloning ke 'airvisual'… remote: Menghitung objek: 13, selesai. remote: Menghitung objek: 100% (13/13), selesai. remote: Mengompresi objek: 100% (12/12), selesai. jarak jauh: Total 13 (delta 2), digunakan kembali 0 (delta 0), paket-digunakan kembali 0 Membongkar objek: 100% (13/13), selesai.

Setelah Anda melihat ini maka selamat, Anda telah berhasil mengkloning Repo GitHub dan memiliki semua file yang diperlukan untuk membangun proyek ini. Mari pindah ke direktori baru. Untuk mengubah direktori, yang perlu Anda lakukan adalah mengetikkan "cd" dan kemudian ketik nama direktori yang ingin Anda tuju. Dalam hal ini, kami akan mengetik:

$cd airvisual

Setelah kami menekan enter, Anda akan melihat bahwa kami sekarang berada di direktori airvisual. Mari kita ketik "ls" untuk melihat file apa yang telah kita instal. Anda harus melihat sesuatu sebagai berikut:

LISENSI README.md airquality.py

Kami membutuhkan beberapa item lain sebelum kami dapat mengedit kode, jadi mari kita lihat API Kualitas Udara selanjutnya.

Langkah 2: AirVisual API

API AirVisual
API AirVisual
API AirVisual
API AirVisual

AirVisual memiliki API kualitas udara (AQI) dan polusi yang memungkinkan hingga 10.000 panggilan API per bulan secara gratis. Anda dapat mendaftar ke tingkat Komunitas. Setelah Anda mendaftar, Anda dapat pergi ke My Air dan tab API. Di sinilah Anda akan menemukan kunci API dan dokumentasi di API.

Klik tombol +Kunci Baru untuk membuat kunci akses API pertama kami. Untuk Pilih Paket, gunakan dropdown untuk memilih Komunitas dan klik Buat. Jika semuanya berjalan dengan baik, Anda akan melihat pesan sukses dan Anda dapat kembali ke dasbor API untuk menemukan informasi kunci baru Anda. Nilai Kunci (angka dan karakter) adalah yang Anda perlukan untuk proyek ini. Jika Anda membaca dengan teliti dokumentasi API, Anda akan melihat ada beberapa jenis panggilan API yang dapat Anda lakukan. Untuk proyek ini kami ingin mendapatkan data kota terdekat berdasarkan koordinat GPS. Untuk panggilan ini, Anda memerlukan bujur, lintang, dan kunci API. Masukkan parameter tersebut ke dalam panggilan di bawah, masukkan ke bilah alamat di browser Anda, dan tekan enter.

api.airvisual.com/v2/nearest_city?lat={{LATITUDE}}&lon={{LONGITUDE}}&key={{YOUR_API_KEY}}

Ini akan mengembalikan data kota terdekat berdasarkan koordinat GPS. Ini akan terlihat seperti ini:

Saya sarankan menggunakan formatter JSON untuk mendapatkan tampilan data yang lebih baik. Jika Anda menggunakannya, itu akan terlihat sedikit seperti ini:

"status":"berhasil", "data":{ "city":"Nashville", "state":"Tennessee", "country":"USA", "location":{ "type":"Titik", "koordinat":[-86.7386, 36.1767]}, "saat ini":{ "cuaca":{ "ts":"2019-04-08T19:00:00.000Z", "_v":0, " CreatedAt":"08-04-2019T19:04: 18.662Z", "hu":88, " ic":"04d", "pr":1012, "tp":18, "updatedAt":"2019-04-08T19:46:53.140Z", "wd":90, "ws":3.1}, "polution":{ "ts":"08-04-2019T18:00:00.000Z", "aqius":10, "mainus":"p2", "aqicn": 3, "maincn":"p2"}

Kita dapat dengan mudah melihat sekarang bahwa kita memiliki informasi tentang lokasi, cuaca, dan polusi. Dua nilai yang kami fokuskan untuk proyek ini adalah Indeks Kualitas Udara AS (aquis) dan Polutan Utama (mainus). Nilai Indeks Kualitas Udara memberi tahu kami tentang nilai kualitas udara setempat dan bagaimana hal itu berkaitan dengan kesehatan Anda. Bagan kode warna di bawah ini. Polutan utama memberi tahu kita apa polutan utama di udara untuk wilayah Anda (partikel, nitrogen oksida, ozon, karbon monoksida, sulfur oksida). Polutan ini biasanya merupakan produk sampingan dari cerobong asap atau emisi kendaraan.

Sekarang setelah kita mengetahui cara menggunakan Air Visual API, hal berikutnya yang kita perlukan adalah platform dasbor untuk menampilkan data.

Langkah 3: Status Awal

Keadaan Awal
Keadaan Awal
Keadaan Awal
Keadaan Awal

Kami ingin mengalirkan semua data cuaca kami ke layanan cloud dan meminta layanan itu mengubah data kami menjadi dasbor yang bagus. Data kami membutuhkan tujuan sehingga kami akan menggunakan Status Awal sebagai tujuan itu.

Daftar untuk Akun Negara Awal

Buka https://iot.app.initialstate.com dan buat akun baru.

Instal ISStreamer

Instal modul Initial State Python ke laptop atau Raspberry Pi Anda. Pada prompt perintah, jalankan perintah berikut:

$ \curl -sSL https://iot.app.initialstate.com -o - | sudo bash

Buat beberapa Automagic

Setelah Anda menjalankan perintah curl, Anda akan melihat sesuatu yang mirip dengan output berikut di layar:

$ \curl -sSL https://iot.app.initialstate.com -o - | sudo bash

Password: Memulai Instalasi Mudah ISStreamer Python! Ini mungkin memerlukan beberapa menit untuk menginstal, ambil kopi:) Tapi jangan lupa untuk kembali, saya akan memiliki pertanyaan nanti! Ditemukan easy_install: setuptools 1.1.6 Ditemukan pip: pip 1.5.6 dari /Library/Python/2.7/site-packages/pip-1.5.6- py2.7.egg (python 2.7) pip versi utama: 1 pip versi minor: 5 ISStreamer ditemukan, memperbarui… Persyaratan sudah diperbarui: ISStreamer di /Library/Python/2.7/site-packages Membersihkan… Apakah Anda ingin mendapatkan contoh skrip secara otomatis? [y/T] Di mana Anda ingin menyimpan contoh? [default:./is_example.py] Silakan pilih aplikasi Status Awal yang Anda gunakan: 1. app.initialstate.com 2. [BARU!] iot.app.initialstate.com Masukkan pilihan 1 atau 2: Masukkan iot.app.initialstate.com nama pengguna: Masukkan kata sandi iot.app.initialstate.com:

Saat diminta untuk mendapatkan skrip contoh secara otomatis, ketik y. Ini akan membuat skrip pengujian yang dapat kita jalankan untuk memastikan bahwa kita dapat mengalirkan data ke Status Awal. Prompt berikutnya akan menanyakan di mana Anda ingin menyimpan file contoh. Anda dapat mengetikkan jalur lokal khusus atau menekan enter untuk menerima lokasi default. Terakhir, Anda akan ditanya aplikasi Status Awal mana yang Anda gunakan. Jika Anda baru saja membuat akun, pilih opsi 2 lalu masukkan nama pengguna dan kata sandi. Setelah itu instalasi akan selesai.

Tombol Akses

Mari kita lihat contoh script yang telah dibuat. $ nano is_example.py Pada baris 15, Anda akan melihat baris yang dimulai dengan streamer = Streamer(bucket_ …. Baris ini membuat bucket data baru bernama “Python Stream Example” dan dikaitkan dengan akun Anda. Asosiasi ini terjadi karena access_key="…” parameter pada baris yang sama. Rangkaian huruf dan angka yang panjang itu adalah kunci akses akun Status Awal Anda. Jika Anda masuk ke akun Status Awal di browser web Anda, klik nama pengguna Anda di kanan atas, lalu buka ke "pengaturan saya", Anda akan menemukan kunci akses yang sama di bagian bawah halaman di bawah "Kunci Akses Streaming". Setiap kali Anda membuat aliran data, kunci akses itu akan mengarahkan aliran data itu ke akun Anda (jadi jangan bagikan kunci Anda dengan siapa pun).

Jalankan skrip uji ExampleRun untuk memastikan kami dapat membuat aliran data ke akun Status Awal Anda. Jalankan yang berikut ini di prompt perintah Anda:

$ python is_example.py

Contoh Data

Kembali ke akun Status Awal Anda di browser web Anda. Bucket data baru yang disebut "Contoh Aliran Python" seharusnya muncul di sebelah kiri di rak bucket Anda (Anda mungkin harus menyegarkan halaman). Klik pada keranjang ini untuk melihat data.

Anda sekarang siap untuk mulai mengalirkan data nyata dari AirVisual API.

Langkah 4: Dasbor Kualitas Udara

Dasbor Kualitas Udara
Dasbor Kualitas Udara
Dasbor Kualitas Udara
Dasbor Kualitas Udara
Dasbor Kualitas Udara
Dasbor Kualitas Udara
Dasbor Kualitas Udara
Dasbor Kualitas Udara

Sekarang untuk bagian yang menyenangkan. Kami siap untuk mulai menggunakan AirVisual API untuk membuat dasbor kualitas udara dan menangkap data polusi udara di mana pun kami memilih. Skrip airquality.py ini hanya memanggil AirVisual API menggunakan kunci API Anda dan mengambil informasi polusi udara saat ini. Itu juga mengalirkan data itu ke akun Keadaan Awal Anda, yang memungkinkan Anda membuat dasbor kualitas udara.

Anda dapat mengakses skrip melalui repositori Github yang telah kami kloning sebelumnya. Hal pertama yang perlu kita lakukan adalah memastikan kita berada di direktori AirVisual:

$cd airvisual

Dari sini, Anda akan dapat mengakses file python yang akan kami jalankan untuk membuat dasbor kualitas udara kami. Kita perlu membuat beberapa perubahan pada file sebelum kita menjalankannya. Untuk membuka file python, gunakan perintah nano untuk membuka editor teks:

$ nano airquality.py

Setelah editor teks terbuka, Anda akan melihat yang berikut di dekat bagian atas skrip Anda:

# --------- Pengaturan pengguna ---------

LATITUDE = "LAT" LONGITUDE = "LONG" AIRVISUAL_API_KEY = "AIR VISUAL API KEY" BUCKET_NAME = "Kualitas Udara Lokal" BUCKET_KEY = "aq1" ACCESS_KEY = "KUNCI AKSES NEGARA AWAL" MINUTES_BETWEEN_READS = 5 # -------- -------------------------

Anda harus memasukkan garis lintang, garis bujur, kunci API AirVisual, dan kunci akses Status Awal. Parameter MINUTES_BETWEEN_READS akan mengatur seberapa sering skrip Anda akan melakukan polling pada AirVisual API untuk informasi kualitas udara. Waktu yang cukup 5 menit sehingga Anda tidak akan melampaui batas 10.000 panggilan API per bulan. Demi pengujian jangka pendek, Anda dapat mengatur ini menjadi 0,5 menit. Setelah Anda memasukkan parameter, simpan dan keluar dari teks enter dengan mengetik Control+X. Sekarang Anda siap menjalankan skrip Anda:

$ python airquality.py

Jika ingin membiarkan skrip ini berjalan tanpa gangguan untuk waktu yang lama, Anda dapat menggunakan perintah nohup (tanpa hang-up) sebagai berikut:

$ nohup python airquality.py &

Setelah ini berjalan, buka Status Awal untuk melihat data Anda. Dasbor Anda akan terlihat seperti gambar di bawah ini. Anda memiliki lokasi GPS, nilai indeks kualitas udara, dan polutan utama Anda.

Rekomendasi saya adalah mengubah nilai AQI Anda menjadi ubin pengukur. Juga, pindahkan ubin di sekitar dan ubah ukurannya sesuai kebutuhan. Jika Anda menggunakan ini untuk dasbor yang disematkan, Anda dapat memindahkannya agar sesuai dengan kebutuhan.

Jika Anda memutuskan untuk menjadikan nilai AQI Anda sebagai pengukur, Anda kemudian dapat mengatur ambang warna agar serupa dengan grafik indeks kualitas udara. Ini memberi Anda pembaruan instan di mana nilai AQI jatuh pada grafik saat Anda memeriksa dasbor Anda. Anda dapat menambahkan gambar latar belakang ke dasbor Anda untuk memberikan lebih banyak konteks.

Jadi, Anda memiliki semua yang Anda butuhkan untuk membuat dasbor kualitas udara. Tetapi bagaimana jika Anda ingin menambahkan lebih banyak atau menambahkan ini ke dasbor cuaca yang sudah Anda buat? Jika itu masalahnya maka teruslah membaca!

Langkah 5: Buat Dasbor Cuaca Total

Buat Dasbor Cuaca Total
Buat Dasbor Cuaca Total

Apakah data kualitas udara tidak cukup untuk Anda? Nah, ada banyak opsi untuk menambahkan lebih banyak ke dasbor Anda atau mengalirkan data ini ke dasbor cuaca yang sudah Anda miliki!

Streaming Cuaca & Kualitas Udara Ke dalam Satu Dasbor

Jika Anda sudah menerapkan proyek DarkSky API atau Hyper-Local Weather Dashboard kami, Anda dapat menambahkan data kualitas udara ini ke dasbor yang ada. Ini cukup sederhana, yang perlu Anda lakukan hanyalah mengubah parameter di skrip kualitas udara agar memiliki nama bucket, kunci bucket, dan kunci akses yang sama dengan yang Anda gunakan untuk dasbor cuaca. Ini akan memungkinkan data dikirim ke dasbor yang sama. Sekarang Anda akan memiliki dasbor cuaca total!

Minta File Python Cuaca Anda Lakukan Panggilan untuk Menjalankan File Python Kualitas Udara

Pilihan lain jika Anda tidak ingin menjalankan dua program terpisah adalah dengan meletakkan file python kualitas udara di direktori proyek cuaca. Minta file python proyek cuaca melakukan panggilan ke file kualitas udara sehingga berjalan saat file cuaca Anda berjalan. Sekali lagi, pastikan untuk memasukkan nama bucket, kunci bucket, dan kunci akses yang sama sehingga keduanya berjalan ke dasbor yang sama.

Buat Satu File dengan Kualitas Cuaca & Udara

Dan jika Anda merasa sangat berani, Anda dapat memasukkan beberapa kode kualitas udara ke dalam skrip python cuaca Anda dan hanya menjalankan satu skrip. Ini akan membutuhkan sedikit lebih banyak upaya pengkodean daripada dua opsi lainnya tetapi itu membuat program yang disederhanakan.

Streaming Informasi Tambahan dari AirVisual API

Seperti yang Anda lihat saat kami melakukan panggilan ke AirVisual API, ia memiliki lebih banyak informasi daripada sekadar kualitas udara. Ini juga memberikan suhu, kelembaban, kecepatan angin, arah angin, dan tekanan atmosfer. Kami dapat mengirimkan informasi tersebut ke Initial State dengan cara yang sama seperti kami mengirimkan nilai indeks kualitas udara dan polutan utama. Anda hanya perlu menulis beberapa pernyataan if lagi.

Direkomendasikan: