İçindekiler:

AirVisual Hava Kalitesi API Kontrol Paneli: 5 Adım
AirVisual Hava Kalitesi API Kontrol Paneli: 5 Adım

Video: AirVisual Hava Kalitesi API Kontrol Paneli: 5 Adım

Video: AirVisual Hava Kalitesi API Kontrol Paneli: 5 Adım
Video: Воздушный наставник 2 2024, Kasım
Anonim
Image
Image

AirVisual (https://www.airvisual.com) dünya çapında hava kalitesi hakkında veri sağlayan bir web sitesidir. Bir gösterge panosuna göndermek üzere hava kalitesi verilerini almak için kullanacağımız bir API'leri var. Bu API ile hava durumu panosunda yaptığımıza benzer şekilde etkileşimde bulunacağız.

Bu, size bir API'yi nasıl kullanacağınızı öğreten basit bir projedir. Başlayalım!

1. Adım: Başlarken

AirVisual API'si
AirVisual API'si

Kodun çoğunu zaten bir araya getirdik, ancak bu arada birkaç ayarlama yapmanız gerekecek. Yaptıklarımızı genişletmek için de birçok fırsat var.

Sizin için hazırladığımız her şeyi almak için depoyu GitHub'dan klonlamanız gerekecek. GitHub, bunun gibi projeleri depolamamıza, gözden geçirmemize ve yönetmemize izin veren harika bir hizmettir. Bu betiği özel bir cihazda çalıştırmak isteyeceksiniz. Bir dizüstü bilgisayar, Raspberry Pi veya başka bir tek kartlı bilgisayar kullanabilirsiniz. Depoyu klonlamak için tek yapmamız gereken bilgisayarımızın veya Pi'nin terminaline gitmek ve şu komutu yazmak:

$ git klonu

Enter tuşuna basın ve şu bilgileri göreceksiniz:

$ git klon https://github.com/InitialState/airvisual.git 'airvisual' içine klonlama… uzak: Nesneleri numaralandırma: 13, tamamlandı. uzak: Nesneleri sayma: %100 (13/13), tamamlandı. uzak: Nesneleri sıkıştırma: %100 (12/12), tamamlandı. uzak: Toplam 13 (delta 2), yeniden kullanıldı 0 (delta 0), yeniden paketlendi 0 Nesnelerin ambalajından çıkarılması: %100 (13/13), tamamlandı.

Bunu gördükten sonra tebrikler, GitHub Repo'yu başarıyla klonladınız ve bu projeyi oluşturmak için gerekli tüm dosyalara sahip oldunuz. Yeni dizine geçelim. Dizinleri değiştirmek için tek yapmanız gereken “cd” yazıp gitmek istediğiniz dizinin adını yazmaktır. Bu durumda şunu yazacağız:

$ cd hava görseli

Enter'a bastığımızda, artık airvisual dizininde olduğumuzu göreceksiniz. Hangi dosyaları yüklediğimizi görmek için "ls" yazalım. Aşağıdaki gibi bir şey görünmelisiniz:

LICENSE README.md airquality.py

Kodu düzenlemeden önce başka öğelere ihtiyacımız var, bu yüzden şimdi Air Quality API'sine bakalım.

2. Adım: AirVisual API

AirVisual API'si
AirVisual API'si
AirVisual API'si
AirVisual API'si

AirVisual, ayda 10.000 adede kadar API çağrısına ücretsiz olarak izin veren bir hava kalitesi (AQI) ve kirlilik API'sine sahiptir. Topluluk katmanına kaydolabilirsiniz. Kaydolduktan sonra My Air ve API sekmesine gidebilirsiniz. API anahtarlarınızı ve API ile ilgili belgelerinizi burada bulacaksınız.

İlk API erişim anahtarımızı oluşturmak için +Yeni Anahtar düğmesini tıklayın. Plan Seç için, Topluluk'u seçmek için açılır menüyü kullanın ve Oluştur'a tıklayın. Her şey yolunda giderse bir başarı mesajı göreceksiniz ve yeni önemli bilgilerinizi bulmak için API kontrol panelinize geri dönebilirsiniz. Anahtar değeri (sayılar ve karakterler), bu proje için ihtiyacınız olan şeydir. API belgelerini incelerseniz, yapabileceğiniz birden çok türde API çağrısı olduğunu görürsünüz. Bu proje için GPS koordinatlarına dayalı en yakın şehir verilerini almak istiyoruz. Bu arama için boylam, enlem ve API anahtarınıza ihtiyacınız olacak. Bu parametreleri aşağıdaki aramaya girin, bunu tarayıcınızın adres çubuğuna koyun ve enter tuşuna basın.

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

Bu, GPS koordinatlarına dayalı olarak en yakın şehrin verilerini döndürür. Bunun gibi bir şey görünecek:

Verileri daha iyi görebilmek için bir JSON biçimlendirici kullanmanızı öneririm. Bunu kullanırsanız, bunun yerine biraz şöyle görünecektir:

"durum":"başarılı", "veri":{ "şehir":"Nashville", "eyalet":"Tennessee", "ülke":"ABD", "konum":{ "tür":"Nokta", "koordinatlar":[-86.7386, 36.1767]}, "mevcut":{ "hava":{ "ts":"2019-04-08T19:00:00.000Z", "_v":0, " oluşturulanAt":"2019-04-08T19:04: 18.662Z", "hu":88, " ic":"04d", "pr":1012, "tp":18, "updatedAt":"2019-04-08T19:46:53.140Z", "wd":90, "ws":3.1}, "kirlilik":{ "ts":"2019-04-08T18:00:00.000Z", "aqius":10, "mainus":"p2", "aqicn": 3, "maincn":"p2"}

Artık konum, hava durumu ve kirlilik hakkında bilgi sahibi olduğumuzu kolayca görebiliyoruz. Bu proje için odaklandığımız iki değer ABD Hava Kalitesi İndeksi (mevcut) ve Ana Kirletici (ana)'dir. Hava Kalitesi İndeksi değeri bize yerel hava kalitesi değerinin ne olduğunu ve bunun sağlığınızla nasıl ilgili olduğunu söyler. Renk kodlu tablo aşağıdadır. Ana kirletici, bölgeniz için havadaki ana kirleticinin ne olduğunu bize söyler (partikül madde, azot oksit, ozon, karbon monoksit, kükürt oksit). Bu kirleticiler tipik olarak duman yığınlarının veya araç emisyonlarının yan ürünleridir.

Artık Air Visual API'yi nasıl kullanacağımızı bildiğimize göre, bir sonraki ihtiyacımız olan şey, verileri görüntülemek için bir pano platformudur.

Adım 3: İlk Durum

Başlangıç hali
Başlangıç hali
Başlangıç hali
Başlangıç hali

Tüm hava durumu verilerimizi bir bulut hizmetine aktarmak ve bu hizmetin verilerimizi güzel bir gösterge panosuna dönüştürmesini sağlamak istiyoruz. Verilerimizin bir hedefe ihtiyacı var, bu yüzden bu hedef olarak İlk Durumu kullanacağız.

İlk Durum Hesabı için Kaydolun

iot.app.initialstate.com adresine gidin ve yeni bir hesap oluşturun.

ISStreamer'ı yükleyin

İlk Durum Python modülünü dizüstü bilgisayarınıza veya Raspberry Pi'nize kurun. Bir komut isteminde aşağıdaki komutu çalıştırın:

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

Biraz Automagic yap

curl komutunu çalıştırdıktan sonra, ekrana aşağıdaki çıktıya benzer bir şey göreceksiniz:

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

Şifre: ISStreamer Python Kolay Kurulumuna Başlarken! Kurulumu birkaç dakika sürebilir, biraz kahve alın:) Ama tekrar gelmeyi unutmayın, daha sonra sorularım olacak! Bulunan easy_install: setuptools 1.1.6 Bulunan pip: /Library/Python/2.7/site-packages/pip-1.5.6- py2.7.egg'den pip 1.5.6 (python 2.7) pip ana sürüm: 1 pip küçük sürüm: 5 ISStreamer bulundu, güncelleniyor… Gereksinim zaten güncel: /Library/Python/2.7/site-packages'de ISStreamer Temizleniyor… Otomatik olarak örnek bir komut dosyası almak ister misiniz? [y/N] Örneği nereye kaydetmek istiyorsunuz? [varsayılan:./is_example.py] Lütfen kullandığınız Başlangıç Durumu uygulamasını seçin: 1. app.initialstate.com 2. [YENİ!] iot.app.initialstate.com 1. veya 2. seçeneği girin: iot.app girin.initialstate.com kullanıcı adı: iot.app.initialstate.com parolasını girin:

Otomatik olarak bir örnek komut dosyası almanız istendiğinde, y yazın. Bu, verileri İlk Duruma aktarabileceğimizden emin olmak için çalıştırabileceğimiz bir test komut dosyası oluşturacaktır. Sonraki istem, örnek dosyayı nereye kaydetmek istediğinizi soracaktır. Varsayılan konumu kabul etmek için özel bir yerel yol yazabilir veya enter tuşuna basabilirsiniz. Son olarak, hangi Initial State uygulamasını kullandığınız sorulacak. Yakın zamanda bir hesap oluşturduysanız, 2. seçeneği seçin ve ardından kullanıcı adını ve şifreyi girin. Bundan sonra kurulum tamamlanmış olacaktır.

Erişim Anahtarları

Oluşturulan örnek scripte bir göz atalım. $ nano is_example.py 15. satırda, streamer = Streamer(bucket_ … ile başlayan bir satır göreceksiniz. Bu satırlar, "Python Stream Example" adında yeni bir veri grubu oluşturur ve hesabınızla ilişkilendirilir. Bu ilişkilendirme, access_key=”…” parametresi aynı satırda. Bu uzun harf ve rakamlar dizisi, Initial State hesap erişim anahtarınızdır. Web tarayıcınızda Initial State hesabınıza giderseniz, sağ üstteki kullanıcı adınıza tıklayın, ardından gidin. "ayarlarım"a, aynı erişim anahtarını sayfanın alt kısmındaki "Akış Erişim Anahtarları" altında bulacaksınız. Her veri akışı oluşturduğunuzda, bu erişim anahtarı bu veri akışını hesabınıza yönlendirecektir (bu yüzden yapmayın). anahtarınızı herkesle paylaşın).

İlk Durum hesabınıza bir veri akışı oluşturabileceğimizden emin olmak için test komut dosyasını ExampleRun çalıştırın. Komut isteminizde aşağıdakileri çalıştırın:

$ python is_example.py

Örnek Veriler

Web tarayıcınızda İlk Durum hesabınıza geri dönün. Kova rafınızın solunda “Python Akış Örneği” adlı yeni bir veri paketi görünmelidir (sayfayı yenilemeniz gerekebilir). Verileri görüntülemek için bu kovaya tıklayın.

Artık AirVisual API'sinden gerçek veri akışına başlamaya hazırsınız.

4. Adım: Hava Kalitesi Gösterge Tablosu

Hava Kalitesi Gösterge Tablosu
Hava Kalitesi Gösterge Tablosu
Hava Kalitesi Gösterge Tablosu
Hava Kalitesi Gösterge Tablosu
Hava Kalitesi Gösterge Tablosu
Hava Kalitesi Gösterge Tablosu
Hava Kalitesi Gösterge Tablosu
Hava Kalitesi Gösterge Tablosu

Şimdi eğlenceli kısım için. Bir hava kalitesi kontrol paneli oluşturmak ve seçtiğimiz yer için hava kirliliği verilerini yakalamak için AirVisual API'sini kullanmaya hazırız. Bu airquality.py betiği, API anahtarınızı kullanarak AirVisual API'yi çağırır ve mevcut hava kirliliği bilgilerini alır. Ayrıca, bu verileri İlk Durum hesabınıza aktarır ve bu, bir hava kalitesi panosu oluşturmanıza olanak tanır.

Komut dosyasına daha önce klonladığımız Github deposundan erişebilirsiniz. Yapmamız gereken ilk şey, AirVisual dizininde olduğumuzdan emin olmak:

$ cd hava görseli

Buradan, hava kalitesi kontrol panelimizi oluşturmak için çalıştıracağımız python dosyasına erişebileceksiniz. Çalıştırmadan önce dosyada bazı değişiklikler yapmamız gerekiyor. Python dosyasını açmak için metin düzenleyiciyi açmak için nano komutunu kullanın:

$ nano hava kalitesi.py

Metin düzenleyici açıldığında, komut dosyanızın üst kısmına yakın bir yerde aşağıdakini göreceksiniz:

# --------- Kullanıcı ayarları ---------

LATITUDE = "LAT" LONGITUDE = "UZUN" AIRVISUAL_API_KEY = "AIR VISUAL API ANAHTARI" BUCKET_NAME = "Yerel Hava Kalitesi" BUCKET_KEY = "aq1" ACCESS_KEY = "BAŞLANGIÇ DURUM ERİŞİM ANAHTARI" MINUTES_BETWEEN_READS = 5 # -------- -------------------------

enlem, boylam, AirVisual API anahtarı ve İlk Durum erişim anahtarınızı girmeniz gerekir. MINUTES_BETWEEN_READS parametresi, komut dosyanızın hava kalitesi bilgileri için AirVisual API'sini ne sıklıkta yoklayacağını belirler. Aylık 10.000 API çağrı sınırınızı aşmamanız için 5 dakika yeterli. Kısa süreli testler için bunu 0,5 dakikaya ayarlayabilirsiniz. Parametrelerinizi girdikten sonra, Control+X tuşlarına basarak girdiğiniz metni kaydedin ve çıkın. Artık betiğinizi çalıştırmaya hazırsınız:

$ python hava kalitesi.py

Bu betiği uzun süre kesintisiz olarak çalışır durumda bırakmak istiyorsanız, nohup komutunu (kapatma yok) aşağıdaki gibi kullanabilirsiniz:

$ nohup python airquality.py &

Bu çalıştığında, verilerinizi görüntülemek için İlk Durum'a gidin. Kontrol paneliniz aşağıdaki resimdeki gibi görünmelidir. GPS konumunuz, hava kalitesi indeks değeriniz ve ana kirleticiniz var.

Benim tavsiyem, AQI değerinizi bir gösterge kutucuğuna değiştirmenizdir. Ayrıca, döşemeleri hareket ettirin ve gerektiği gibi yeniden boyutlandırın. Bunu gömülü bir pano için kullanıyorsanız, bunları gerektiği gibi sığdırmak için taşıyabilirsiniz.

AQI değerinizi bir gösterge yapmaya karar verirseniz, renk eşiğini hava kalitesi indeks tablosuna benzer olacak şekilde ayarlayabilirsiniz. Bu, gösterge tablonuzu kontrol ettiğinizde AQI değerinin grafikte nereye düştüğü konusunda size anında bir güncelleme sağlar. Daha fazla bağlam sağlamak için panonuza bir arka plan resmi ekleyebilirsiniz.

Böylece bir hava kalitesi kontrol paneli oluşturmak için ihtiyacınız olan her şeye sahipsiniz. Peki ya daha fazlasını eklemek isterseniz veya bunu daha önce oluşturduğunuz bir hava durumu panosuna eklemek isterseniz? Eğer durum buysa, okumaya devam edin!

Adım 5: Toplam Hava Durumu Gösterge Tablosu Yapın

Toplam Hava Durumu Panosu Yapın
Toplam Hava Durumu Panosu Yapın

Hava kalitesi verileri sizin için yeterli değil mi? Gösterge tablonuza daha fazlasını eklemek veya bu verileri zaten sahip olduğunuz bir hava durumu gösterge tablosuna aktarmak için birçok seçenek var!

Hava Durumu ve Hava Kalitesini Tek Bir Panoya Aktarın

DarkSky API veya Hyper-Local Weather Dashboard projemizi zaten uyguladıysanız, bu hava kalitesi verilerini mevcut kontrol panelinize ekleyebilirsiniz. Oldukça basit, tek yapmanız gereken hava kalitesi komut dosyasındaki parametrelerinizi, hava durumu gösterge tablonuz için kullandığınızla aynı kova adına, kova anahtarına ve erişim anahtarına sahip olacak şekilde değiştirmek. Bu, verilerin aynı gösterge panosuna gönderilmesine izin verecektir. Artık tam bir hava durumu kontrol paneliniz olacak!

Hava Durumu Python Dosyanızı Hava Kalitesi Python Dosyasını Çalıştırmak İçin Bir Çağrı Yaptırın

İki ayrı program çalıştırmak istemiyorsanız başka bir seçenek de hava kalitesi python dosyasını hava durumu proje dizinine koymaktır. Hava durumu dosyanız çalışırken çalışması için hava durumu projesi python dosyasının hava kalitesi dosyasına bir çağrı yapmasını sağlayın. Yine, aynı pano adını, paket anahtarını ve erişim anahtarını aynı panoda çalışacak şekilde koyduğunuzdan emin olun.

Hem Hava Hem de Hava Kalitesine Sahip Tek Bir Dosya Oluşturun

Ve gerçekten cesur hissediyorsanız, hava kalitesi kodunun bir kısmını hava durumu python komut dosyanıza koyabilir ve çalıştırılacak tek bir komut dosyasına sahip olabilirsiniz. Diğer iki seçeneğe göre biraz daha fazla kodlama çabası gerektirecektir, ancak basitleştirilmiş bir program sağlar.

AirVisual API'sinden Ek Bilgi Akışı

AirVisual API'ye bir çağrı yaptığımızda gördüğünüz gibi, sadece hava kalitesinden daha fazla bilgiye sahip. Ayrıca sıcaklık, nem, rüzgar hızı, rüzgar yönü ve atmosferik basınç sağlar. Bu bilgiyi, hava kalitesi indeks değerini ve ana kirleticiyi gönderdiğimiz gibi İlk Duruma gönderebiliriz. Yalnızca birkaç if ifadesi yazmanızı gerektirir.

Önerilen: