Isi kandungan:

Papan Pemuka API Kualiti Udara AirVisual: 5 Langkah
Papan Pemuka API Kualiti Udara AirVisual: 5 Langkah

Video: Papan Pemuka API Kualiti Udara AirVisual: 5 Langkah

Video: Papan Pemuka API Kualiti Udara AirVisual: 5 Langkah
Video: 【MULTI SUB】Anti-routine system EP1-80 2024, November
Anonim
Image
Image

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 papan pemuka cuaca.

Ini adalah projek mudah yang mengajar anda bagaimana menggunakan API. Mari kita mulakan!

Langkah 1: Bermula

API AirVisual
API AirVisual

Kami telah mengumpulkan sebahagian besar kod tersebut, tetapi anda memerlukan anda membuat beberapa penyesuaian. Terdapat banyak peluang untuk mengembangkan apa yang telah kami lakukan juga.

Untuk mendapatkan semula semua perkara yang kami sediakan untuk anda, anda perlu mengklon repositori dari GitHub. GitHub adalah perkhidmatan hebat yang membolehkan kami menyimpan, menyemak semula, dan menguruskan projek seperti ini. Anda mahu menjalankan skrip ini pada peranti khusus. Anda boleh menggunakan komputer riba, Raspberry Pi, atau komputer papan tunggal yang lain. Untuk mengkloning repositori yang perlu kita lakukan adalah masuk ke terminal komputer atau Pi kita, dan ketik arahan ini:

$ git klon

Tekan enter dan anda akan melihat maklumat ini:

$ git clone https://github.com/InitialState/airvisual.git Kloning ke 'airvisual' … jauh: Menghitung objek: 13, selesai. jauh: Membilang objek: 100% (13/13), selesai. jauh: Memampatkan objek: 100% (12/12), selesai. jauh: Jumlah 13 (delta 2), digunakan kembali 0 (delta 0), pakaikan semula 0 Bongkar objek: 100% (13/13), selesai.

Setelah anda melihatnya, selamat berjaya mengklon GitHub Repo dan mempunyai semua fail yang diperlukan untuk membina projek ini. Mari beralih ke direktori baru. Untuk menukar direktori, yang perlu anda lakukan ialah ketik "cd" dan kemudian taipkan nama direktori yang ingin anda kunjungi. Dalam kes ini, kami akan menaip:

$ cd udara

Sebaik sahaja kita tekan enter, anda akan melihat bahawa kita sekarang berada di direktori visualvisual. Mari ketik "ls" untuk melihat fail apa yang telah kami pasang. Anda harus kelihatan seperti berikut:

LESEN README.md airquality.py

Kami memerlukan beberapa item lain sebelum kami dapat mengedit kodnya jadi mari kita lihat Air Quality API seterusnya.

Langkah 2: API AirVisual

API AirVisual
API AirVisual
API AirVisual
API AirVisual

AirVisual mempunyai kualiti udara (AQI) dan API pencemaran yang membolehkan sehingga 10, 000 panggilan API setiap bulan secara percuma. Anda boleh mendaftar untuk peringkat Komuniti. Setelah mendaftar, anda boleh pergi ke My Air dan tab API. Di sinilah anda akan menemui kunci dan dokumentasi API anda di API.

Klik butang + Kunci Baru untuk membuat kunci akses API pertama kami. Untuk Pilih Rancangan, gunakan menu lungsur turun untuk memilih Komuniti dan klik Buat. Sekiranya semuanya berjalan lancar, anda akan melihat mesej kejayaan dan anda boleh kembali ke papan pemuka API untuk mendapatkan maklumat utama baru anda. Nilai Utama (nombor dan watak) adalah perkara yang anda perlukan untuk projek ini. Sekiranya anda membaca dokumentasi API dengan teliti, anda akan melihat terdapat banyak jenis panggilan API yang dapat anda buat. Untuk projek ini, kami ingin mendapatkan data bandar terdekat berdasarkan koordinat GPS. Untuk panggilan ini, anda memerlukan garis bujur, garis lintang dan kunci API anda. Masukkan parameter tersebut ke dalam panggilan di bawah, masukkan ke dalam bar alamat pada penyemak imbas anda, dan tekan enter.

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

Ini akan mengembalikan data bandar terdekat berdasarkan koordinat GPS. Ia akan kelihatan seperti ini:

Saya mengesyorkan menggunakan pemformat JSON untuk mendapatkan gambaran data yang lebih baik. Sekiranya anda menggunakannya, ia akan kelihatan seperti ini:

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

Kita dapat melihat dengan mudah sekarang bahawa kita mempunyai maklumat mengenai lokasi, cuaca, dan pencemaran. Dua nilai yang kami fokuskan untuk projek ini adalah Indeks Kualiti Udara AS (aquis) dan Pencemar Utama (mainus). Nilai Indeks Kualiti Udara memberitahu kita apa nilai kualiti udara tempatan dan bagaimana hal itu berkaitan dengan kesihatan anda. Carta berkod warna ada di bawah. Bahan pencemar utama memberitahu kita apa bahan pencemar utama di udara adalah untuk kawasan anda (bahan zarah, nitrogen oksida, ozon, karbon monoksida, sulfur oksida). Bahan pencemar ini biasanya merupakan produk sampingan dari tumpukan asap atau pelepasan kenderaan.

Sekarang kita tahu bagaimana menggunakan Air Visual API, perkara seterusnya yang kita perlukan adalah platform papan pemuka untuk memaparkan data.

Langkah 3: Keadaan Awal

Keadaan awal
Keadaan awal
Keadaan awal
Keadaan awal

Kami ingin mengalirkan semua data cuaca kami ke perkhidmatan cloud dan meminta perkhidmatan itu mengubah data kami menjadi papan pemuka yang bagus. Data kami memerlukan destinasi, jadi kami akan menggunakan Negeri Permulaan sebagai tujuan tersebut.

Daftar untuk Akaun Negeri Permulaan

Pergi ke https://iot.app.initialstate.com dan buat akaun baru.

Pasang ISStreamer

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

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

Buat beberapa Automagik

Selepas anda menjalankan perintah curl, anda akan melihat sesuatu yang serupa dengan output berikut ke skrin:

$ / curl -sSL https://iot.app.initialstate.com -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 diminta untuk mendapatkan skrip contoh secara automatik, ketik y. Ini akan membuat skrip ujian yang dapat kita jalankan untuk memastikan bahawa kita dapat mengalirkan data ke Keadaan Awal. Permintaan seterusnya akan bertanya di mana anda mahu menyimpan fail contoh. Anda boleh menaip jalan tempatan khusus atau tekan enter untuk menerima lokasi lalai. Akhirnya, anda akan ditanya aplikasi Negeri Permulaan yang anda gunakan. Sekiranya anda baru-baru ini membuat akaun, pilih pilihan 2 kemudian masukkan nama pengguna dan kata laluan. Selepas itu pemasangan akan selesai.

Kekunci Akses

Mari kita lihat contoh skrip yang telah dibuat. $ nano is_example.py Pada baris 15, anda akan melihat garis yang bermula dengan streamer = Streamer (bucket_…. Garis ini membuat baldi data baru bernama "Python Stream Contoh" dan dikaitkan dengan akaun anda. Perkaitan ini berlaku kerana parameter akses_key = "…" pada baris yang sama. Siri huruf dan nombor yang panjang itu adalah kunci akses akaun Negeri Permulaan anda. Sekiranya anda pergi ke akaun Negeri Permulaan di penyemak imbas web anda, klik pada nama pengguna anda di kanan atas, kemudian pergi ke "tetapan saya", anda akan menemui kunci akses yang sama di bahagian bawah halaman di bawah "Kunci Akses Streaming". Setiap kali anda membuat aliran data, kunci akses itu akan mengarahkan aliran data tersebut ke akaun anda (jadi jangan kongsi kunci anda dengan sesiapa sahaja).

Jalankan Contoh Jalankan skrip ujian untuk memastikan kita dapat membuat aliran data ke akaun Negeri Permulaan anda. Jalankan perkara berikut dalam arahan arahan anda:

$ python is_example.py

Data Contoh

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

Anda kini sudah bersedia untuk memulakan streaming data sebenar dari AirVisual API.

Langkah 4: Papan Pemuka Kualiti Udara

Papan Pemuka Kualiti Udara
Papan Pemuka Kualiti Udara
Papan Pemuka Kualiti Udara
Papan Pemuka Kualiti Udara
Papan Pemuka Kualiti Udara
Papan Pemuka Kualiti Udara
Papan Pemuka Kualiti Udara
Papan Pemuka Kualiti Udara

Sekarang untuk bahagian yang menyeronokkan. Kami sudah siap untuk mulai menggunakan AirVisual API untuk membuat papan pemuka kualiti udara dan menangkap data pencemaran udara di mana sahaja kami memilih. Skrip airquality.py ini hanya memanggil API AirVisual menggunakan kunci API anda dan mengambil maklumat pencemaran udara semasa. Ini juga mengalirkan data tersebut ke akaun Status Awal anda, yang akan memungkinkan anda membuat papan pemuka kualiti udara.

Anda boleh mengakses skrip melalui repositori Github yang kami kloning sebelumnya. Perkara pertama yang perlu kita lakukan ialah memastikan kita berada di direktori AirVisual:

$ cd udara

Dari sini, anda akan dapat mengakses fail python yang akan kami jalankan untuk membuat papan pemuka kualiti udara kami. Kita perlu membuat beberapa perubahan pada fail sebelum kita menjalankannya. Untuk membuka fail python, gunakan arahan nano untuk membuka editor teks:

$ nano airquality.py

Setelah penyunting teks dibuka, anda akan melihat yang berikut di bahagian atas skrip anda:

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

LATITUDE = "LAT" LONGITUDE = "LONG" AIRVISUAL_API_KEY = "KUNCI API VISUAL AIR" BUCKET_NAME = "Kualiti Udara Tempatan" BUCKET_KEY = "aq1" ACCESS_KEY = "KUNCI AKSES NEGERI INISIAL" MINUTES_BETWEEN_READ - 5 - #READ -------------------------

anda perlu memasukkan garis lintang, garis bujur, kunci API AirVisual dan kunci akses Keadaan Awal anda. Parameter MINUTES_BETWEEN_READS akan menetapkan seberapa kerap skrip anda akan meninjau API AirVisual untuk maklumat kualiti udara. 5 minit masa yang cukup sehingga anda tidak akan melebihi had panggilan API 10,000 setiap bulan. Demi ujian jangka pendek, anda boleh menetapkannya hingga 0.5 minit. Setelah memasukkan parameter anda, simpan dan keluar teks yang dimasukkan dengan mengetik Control + X. Sekarang anda sudah bersedia untuk menjalankan skrip anda:

$ python airquality.py

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

$ nohup python airquality.py &

Setelah ini berjalan, pergi ke Keadaan Awal untuk melihat data anda. Papan pemuka anda akan kelihatan seperti gambar di bawah. Anda mempunyai lokasi GPS, nilai indeks kualiti udara, dan pencemar utama anda.

Cadangan saya adalah untuk menukar nilai AQI anda menjadi jubin tolok. Juga, gerakkan jubin ke sekeliling dan ubah saiznya mengikut keperluan. Sekiranya anda menggunakan ini untuk papan pemuka tertanam, anda boleh memindahkannya agar sesuai dengan keperluan.

Sekiranya anda memutuskan untuk menjadikan nilai AQI anda sebagai tolok, anda boleh menetapkan ambang warna agar serupa dengan carta indeks kualiti udara. Ini memberi anda kemas kini segera mengenai di mana nilai AQI jatuh pada carta semasa anda memeriksa papan pemuka anda. Anda boleh menambahkan gambar latar ke papan pemuka untuk memberikan konteks yang lebih banyak.

Oleh itu, anda mempunyai semua yang anda perlukan untuk membuat papan pemuka kualiti udara. Tetapi bagaimana jika anda ingin menambahkan lebih banyak atau menambahkannya ke papan pemuka cuaca yang telah anda buat? Sekiranya demikian, teruskan membaca!

Langkah 5: Buat Papan Pemuka Cuaca Total

Buat Papan Pemuka Cuaca Total
Buat Papan Pemuka Cuaca Total

Adakah data kualiti udara tidak mencukupi untuk anda? Ada banyak pilihan untuk menambahkan lagi ke papan pemuka anda atau mengalirkan data ini ke papan pemuka cuaca yang sudah anda miliki!

Alirkan Cuaca & Kualiti Udara ke Papan Pemuka Tunggal

Sekiranya anda sudah melaksanakan projek DarkSky API kami atau Hyper-Local Weather Dashboard, anda boleh menambahkan data kualiti udara ini ke papan pemuka yang ada. Cukup mudah, yang perlu anda lakukan adalah mengubah parameter anda dalam skrip kualiti udara agar mempunyai nama baldi, kunci baldi, dan kunci akses yang sama seperti yang anda gunakan untuk papan pemuka cuaca anda. Ini akan membolehkan data dihantar ke papan pemuka yang sama. Sekarang anda akan mempunyai papan pemuka cuaca!

Minta Fail Python Cuaca Anda Membuat Panggilan untuk Menjalankan Fail Python Berkualiti Udara

Pilihan lain jika anda tidak mahu menjalankan dua program berasingan adalah meletakkan fail python kualiti udara di direktori projek cuaca. Minta fail python projek cuaca membuat panggilan ke fail kualiti udara sehingga berjalan semasa fail cuaca anda berjalan. Sekali lagi, pastikan untuk meletakkan nama baldi, kunci baldi, dan kunci akses yang sama sehingga ia berjalan ke papan pemuka yang sama.

Buat Satu Fail dengan Kualiti Cuaca & Udara

Dan jika anda merasa berani, anda boleh memasukkan beberapa kod kualiti udara ke dalam skrip python cuaca anda dan hanya mempunyai satu skrip untuk dijalankan. Ia memerlukan sedikit usaha pengekodan daripada dua pilihan lain tetapi ia memerlukan program yang dipermudahkan.

Alirkan Maklumat Tambahan dari AirVisual API

Seperti yang anda lihat ketika kami membuat panggilan ke AirVisual API, ia mempunyai lebih banyak maklumat daripada hanya kualiti udara. Ini juga memberikan suhu, kelembapan, kecepatan angin, arah angin, dan tekanan atmosfera. Kami boleh menghantar maklumat tersebut ke Negara Permulaan dengan cara yang sama seperti yang kami kirimkan nilai indeks kualiti udara dan bahan pencemar utama. Ini hanya memerlukan anda menulis beberapa lagi jika pernyataan.

Disyorkan: