Spisu treści:

Panel interfejsu API jakości powietrza AirVisual: 5 kroków
Panel interfejsu API jakości powietrza AirVisual: 5 kroków

Wideo: Panel interfejsu API jakości powietrza AirVisual: 5 kroków

Wideo: Panel interfejsu API jakości powietrza AirVisual: 5 kroków
Wideo: API - Application Programming Interface - Interfejs Programowania Aplikacji 2024, Lipiec
Anonim
Image
Image

AirVisual (https://www.airvisual.com) to strona internetowa, która dostarcza dane na temat jakości powietrza na całym świecie. Mają interfejs API, którego użyjemy do uzyskania danych o jakości powietrza do wysłania do pulpitu nawigacyjnego. Będziemy współdziałać z tym API podobnie jak w przypadku pulpitu pogodowego.

To prosty projekt, który uczy, jak korzystać z API. Zacznijmy!

Krok 1: Pierwsze kroki

Interfejs API AirVisual
Interfejs API AirVisual

Złożyliśmy już większość kodu, ale po drodze będziesz musiał wprowadzić kilka poprawek. Istnieje również wiele możliwości rozszerzenia tego, co zrobiliśmy.

Aby pobrać wszystkie rzeczy, które dla Ciebie przygotowaliśmy, musisz sklonować repozytorium z GitHub. GitHub to niesamowita usługa, która pozwala nam przechowywać, weryfikować i zarządzać takimi projektami. Będziesz chciał uruchomić ten skrypt na dedykowanym urządzeniu. Możesz użyć laptopa, Raspberry Pi lub innego komputera jednopłytkowego. Aby sklonować repozytorium, wystarczy wejść do terminala naszego komputera lub Pi i wpisać to polecenie:

$ git clone

Naciśnij Enter, a zobaczysz te informacje:

$ git clone https://github.com/InitialState/airvisual.git Klonowanie do „airvisual”… remote: Wyliczanie obiektów: 13, gotowe. remote: Liczenie obiektów: 100% (13/13), gotowe. remote: Kompresowanie obiektów: 100% (12/12), gotowe. zdalna: Razem 13 (delta 2), ponownie wykorzystana 0 (delta 0), ponownie wykorzystana w opakowaniu 0 Rozpakowanie obiektów: 100% (13/13), gotowe.

Gdy to zobaczysz, gratulacje, pomyślnie sklonowałeś repozytorium GitHub i masz wszystkie niezbędne pliki do zbudowania tego projektu. Przejdźmy do nowego katalogu. Aby zmienić katalog, wystarczy wpisać „cd”, a następnie wpisać nazwę katalogu, do którego chcesz przejść. W takim przypadku wpiszemy:

$ cd airvisual

Gdy wciśniemy enter, zobaczysz, że jesteśmy teraz w katalogu airvisual. Wpiszmy „ls”, aby zobaczyć, jakie pliki zainstalowaliśmy. Powinieneś wyglądać następująco:

LICENCJA README.md airquality.py

Potrzebujemy kilku innych elementów, zanim będziemy mogli edytować kod, więc przyjrzyjmy się teraz API jakości powietrza.

Krok 2: AirVisual API

Interfejs API AirVisual
Interfejs API AirVisual
Interfejs API AirVisual
Interfejs API AirVisual

AirVisual posiada interfejs API jakości powietrza (AQI) i zanieczyszczeń, który umożliwia do 10 000 wywołań API miesięcznie za darmo. Możesz zapisać się do poziomu Społeczność. Po zarejestrowaniu się możesz przejść do My Air i zakładki API. To tutaj znajdziesz swoje klucze API i dokumentację dotyczącą API.

Kliknij przycisk +Nowy klucz, aby utworzyć nasz pierwszy klucz dostępu do interfejsu API. W polu Wybierz plan użyj menu rozwijanego, aby wybrać Społeczność i kliknij Utwórz. Jeśli wszystko pójdzie dobrze, zobaczysz komunikat o sukcesie i możesz wrócić do pulpitu API, aby znaleźć nowe kluczowe informacje. W tym projekcie będziesz potrzebować wartości klucza (liczby i znaki). Jeśli przejrzysz dokumentację API, zobaczysz, że istnieje wiele rodzajów wywołań API, które możesz wykonać. W tym projekcie chcemy uzyskać najbliższe dane miasta na podstawie współrzędnych GPS. Do tego wywołania będziesz potrzebować swojej długości i szerokości geograficznej oraz klucza API. Wprowadź te parametry w poniższym wywołaniu, umieść je w pasku adresu w przeglądarce i naciśnij Enter.

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

Spowoduje to zwrócenie danych najbliższego miasta na podstawie współrzędnych GPS. Będzie to wyglądać mniej więcej tak:

Zalecam używanie formatera JSON, aby uzyskać lepszy widok danych. Jeśli tego użyjesz, będzie to wyglądać trochę tak:

"status":"sukces", "data":{ "city":"Nashville", "state":"Tennessee", "country":"USA", "location":{ "type":"Point", "współrzędne":[-86.7386, 36.1767]}, "current":{ "pogoda":{ "ts":"2019-04-08T19:00:00.000Z", "_v":0, " createdAt":"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}, "pollution":{ "ts":"2019-04-08T18:00:00.000Z", "aqius":10, "mainus":"p2", "aqicn": 3, "maincn":"p2"}

Możemy teraz łatwo zobaczyć, że mamy informacje o lokalizacji, pogodzie i zanieczyszczeniach. Dwie wartości, na których koncentrujemy się w tym projekcie, to Indeks Jakości Powietrza US (aquis) i Main Pollutant (mainus). Wartość Indeksu Jakości Powietrza mówi nam, jaka jest lokalna wartość jakości powietrza i jaki ma to wpływ na Twoje zdrowie. Tabela oznaczona kolorami znajduje się poniżej. Główne zanieczyszczenie mówi nam, jakie jest główne zanieczyszczenie powietrza w Twojej okolicy (cząstki stałe, tlenek azotu, ozon, tlenek węgla, tlenek siarki). Zanieczyszczenia te są zazwyczaj produktami ubocznymi kominów lub emisji z pojazdów.

Teraz, gdy wiemy, jak korzystać z Air Visual API, następną rzeczą, której będziemy potrzebować, jest platforma pulpitu nawigacyjnego do wyświetlania danych.

Krok 3: Stan początkowy

Stan początkowy
Stan początkowy
Stan początkowy
Stan początkowy

Chcemy przesyłać strumieniowo wszystkie nasze dane pogodowe do usługi w chmurze, aby ta usługa przekształciła nasze dane w ładny pulpit nawigacyjny. Nasze dane wymagają miejsca docelowego, więc jako miejsce docelowe użyjemy stanu początkowego.

Zarejestruj się, aby uzyskać początkowe konto państwowe

Przejdź do https://iot.app.initialstate.com i utwórz nowe konto.

Zainstaluj ISStreamera

Zainstaluj moduł Initial State Python na swoim laptopie lub Raspberry Pi. W wierszu polecenia uruchom następujące polecenie:

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

Zrób Automagię

Po uruchomieniu polecenia curl zobaczysz na ekranie coś podobnego do następującego wyniku:

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

Hasło: Rozpoczęcie łatwej instalacji ISStreamer Python! Instalacja może potrwać kilka minut, napij się kawy:) Ale nie zapomnij wrócić, będę miał pytania później! Znaleziono easy_install: setuptools 1.1.6 Znaleziono pip: pip 1.5.6 z /Library/Python/2.7/site-packages/pip-1.5.6-py2.7.egg (python 2.7) pip wersja główna: 1 pip wersja podrzędna: 5 Znaleziono ISStreamer, aktualizuję… Wymaganie już aktualne: ISStreamer w /Library/Python/2.7/site-packages Porządkowanie… Czy chcesz automagicznie uzyskać przykładowy skrypt? [t/N] Gdzie chcesz zapisać przykład? [domyślnie:./is_example.py] Wybierz, której aplikacji stanu początkowego używasz: 1. app.initialstate.com 2. [NOWOŚĆ!] iot.app.initialstate.com Wybierz 1 lub 2: Wpisz iot.app Nazwa użytkownika.initialstate.com: Wprowadź hasło iot.app.initialstate.com:

Gdy zostaniesz poproszony o automatyczne pobranie przykładowego skryptu, wpisz y. Spowoduje to utworzenie skryptu testowego, który możemy uruchomić, aby upewnić się, że możemy przesyłać strumieniowo dane do stanu początkowego. Następny monit zapyta, gdzie chcesz zapisać przykładowy plik. Możesz wpisać niestandardową ścieżkę lokalną lub nacisnąć Enter, aby zaakceptować domyślną lokalizację. Na koniec zostaniesz zapytany, której aplikacji stanu początkowego używasz. Jeśli niedawno utworzyłeś konto, wybierz opcję 2, a następnie wprowadź nazwę użytkownika i hasło. Po tym instalacja zostanie zakończona.

Klucze dostępu

Rzućmy okiem na przykładowy skrypt, który został stworzony. $ nano is_example.py W wierszu 15 zobaczysz wiersz zaczynający się od streamer = Streamer(bucket_ …. Ten wiersz tworzy nowy zasobnik danych o nazwie „Python Stream Example” i jest powiązany z Twoim kontem. To powiązanie ma miejsce z powodu access_key = „…” parametr w tym samym wierszu. Ta długa seria liter i cyfr to klucz dostępu do konta stanu początkowego. Jeśli przejdziesz do konta stanu początkowego w przeglądarce internetowej, kliknij swoją nazwę użytkownika w prawym górnym rogu, a następnie przejdź do „moich ustawień”, ten sam klucz dostępu znajdziesz na dole strony w sekcji „Klucze dostępu do transmisji strumieniowej”. Za każdym razem, gdy tworzysz strumień danych, ten klucz dostępu kieruje strumień danych do Twojego konta (więc nie rób tego udostępnij swój klucz każdemu).

Uruchom skrypt ExampleUruchom test, aby upewnić się, że możemy utworzyć strumień danych na Twoim koncie stanu początkowego. Uruchom następujące polecenie w wierszu polecenia:

$ python is_example.py

Przykładowe dane

Wróć do swojego konta stanu początkowego w przeglądarce internetowej. Nowy zasobnik danych o nazwie „Przykład strumienia Pythona” powinien pojawić się po lewej stronie na półce zasobnika (może być konieczne odświeżenie strony). Kliknij ten zasobnik, aby wyświetlić dane.

Jesteś teraz gotowy do rozpoczęcia strumieniowego przesyłania prawdziwych danych z interfejsu API AirVisual.

Krok 4: Panel jakości powietrza

Panel jakości powietrza
Panel jakości powietrza
Panel jakości powietrza
Panel jakości powietrza
Panel jakości powietrza
Panel jakości powietrza
Panel jakości powietrza
Panel jakości powietrza

Teraz czas na zabawną część. Jesteśmy gotowi do rozpoczęcia korzystania z interfejsu API AirVisual do tworzenia pulpitu nawigacyjnego jakości powietrza i przechwytywania danych dotyczących zanieczyszczenia powietrza w dowolnym miejscu. Ten skrypt airquality.py po prostu wywołuje API AirVisual przy użyciu Twojego klucza API i pobiera aktualne informacje o zanieczyszczeniu powietrza. Przesyła również te dane na twoje konto stanu początkowego, co pozwoli ci stworzyć pulpit nawigacyjny jakości powietrza.

Możesz uzyskać dostęp do skryptu za pośrednictwem repozytorium Github, które sklonowaliśmy wcześniej. Pierwszą rzeczą, którą musimy zrobić, to upewnić się, że znajdujemy się w katalogu AirVisual:

$ cd airvisual

Z tego miejsca będziesz mógł uzyskać dostęp do pliku Pythona, który uruchomimy, aby stworzyć nasz pulpit nawigacyjny jakości powietrza. Musimy dokonać pewnych zmian w pliku, zanim go uruchomimy. Aby otworzyć plik Pythona, użyj polecenia nano, aby otworzyć edytor tekstu:

$ nano airquality.py

Po otwarciu edytora tekstu w górnej części skryptu zobaczysz następujące informacje:

# --------- Ustawienia użytkownika ---------

LATITUDE = "LAT" LONGITUDE = "LONG" AIRVISUAL_API_KEY = "AIR VISUAL API KEY" BUCKET_NAME = "Lokalna jakość powietrza" BUCKET_KEY = "aq1" ACCESS_KEY = "KLUCZ DOSTĘPU STANU POCZĄTKOWEGO" MINUTES_BETWEEN_READS = 5 # -------- -------------------------

Musisz wprowadzić szerokość i długość geograficzną, klucz API AirVisual i klucz dostępu do stanu początkowego. Parametr MINUTES_BETWEEN_READS określa, jak często skrypt będzie odpytywać interfejs API AirVisual w celu uzyskania informacji o jakości powietrza. 5 minut to wystarczająco dużo czasu, aby nie przekroczyć miesięcznego limitu 10 000 wywołań API. Na potrzeby testów krótkoterminowych możesz ustawić to na 0,5 minuty. Po wprowadzeniu parametrów zapisz i wyjdź z wprowadzania tekstu, wpisując Control + X. Teraz jesteś gotowy do uruchomienia skryptu:

$ Python airquality.py

Jeśli chcesz pozostawić ten skrypt działający nieprzerwanie przez długi czas, możesz użyć polecenia nohup (bez rozłączenia) w następujący sposób:

$ nohup python airquality.py &

Po uruchomieniu przejdź do stanu początkowego, aby wyświetlić swoje dane. Twój pulpit nawigacyjny powinien wyglądać jak na poniższym obrazku. Masz swoją lokalizację GPS, wartość wskaźnika jakości powietrza i główne zanieczyszczenie.

Zalecam zmianę wartości AQI na płytkę miernika. Ponadto przesuwaj płytki i zmieniaj ich rozmiar w razie potrzeby. Jeśli używasz tego do wbudowanego pulpitu nawigacyjnego, możesz je przenieść, aby dopasować je w razie potrzeby.

Jeśli zdecydujesz się, aby wartość AQI była miernikiem, możesz ustawić próg koloru tak, aby był podobny do wykresu wskaźnika jakości powietrza. Daje to natychmiastową aktualizację, w którym miejscu na wykresie wypada wartość AQI, gdy sprawdzasz swój pulpit nawigacyjny. Możesz dodać obraz tła do pulpitu nawigacyjnego, aby nadać mu więcej kontekstu.

Masz więc wszystko, czego potrzebujesz, aby stworzyć deskę rozdzielczą jakości powietrza. Ale co, jeśli chcesz dodać więcej lub dodać to do pulpitu pogodowego, który już utworzyłeś? Jeśli tak jest, czytaj dalej!

Krok 5: Stwórz całkowity pulpit pogody

Stwórz całkowity pulpit pogody
Stwórz całkowity pulpit pogody

Czy dane o jakości powietrza to dla Ciebie za mało? Cóż, istnieje wiele opcji, aby dodać więcej do pulpitu nawigacyjnego lub przesłać te dane do pulpitu pogodowego, który już masz!

Przesyłaj strumieniowo pogodę i jakość powietrza do jednego pulpitu nawigacyjnego

Jeśli już wdrożyłeś nasz DarkSky API lub projekt Hyper-Local Weather Dashboard, możesz dodać te dane o jakości powietrza do istniejącego panelu. To całkiem proste, wszystko, co musisz zrobić, to zmienić parametry w skrypcie jakości powietrza, aby mieć taką samą nazwę łyżki, klucz łyżki i klucz dostępu, jak w przypadku pulpitu pogodowego. Umożliwi to przesłanie danych do tego samego pulpitu nawigacyjnego. Teraz będziesz mieć całkowitą tablicę pogodową!

Przygotuj plik Python z pogodą Zadzwoń, aby uruchomić plik Python dotyczący jakości powietrza

Inną opcją, jeśli nie chcesz uruchamiać dwóch oddzielnych programów, jest umieszczenie pliku Pythona jakości powietrza w katalogu projektu pogody. Poproś plik Pythona projektu pogody, aby wywołał plik jakości powietrza, aby działał, gdy uruchomiony jest plik pogody. Ponownie upewnij się, że wpisujesz tę samą nazwę zasobnika, klucz zasobnika i klucz dostępu, aby działały na tym samym panelu.

Utwórz pojedynczy plik z pogodą i jakością powietrza

A jeśli czujesz się naprawdę odważny, możesz umieścić część kodu jakości powietrza w swoim skrypcie Weather Python i uruchomić tylko jeden skrypt. Będzie to wymagało trochę więcej wysiłku kodowania niż pozostałe dwie opcje, ale sprawia, że program jest uproszczony.

Przesyłaj dodatkowe informacje z AirVisual API

Jak widzieliście, kiedy zadzwoniliśmy do interfejsu API AirVisual, zawiera on więcej informacji niż tylko jakość powietrza. Zapewnia również temperaturę, wilgotność, prędkość i kierunek wiatru oraz ciśnienie atmosferyczne. Możemy przesłać te informacje do stanu początkowego w ten sam sposób, w jaki wysłaliśmy wartość wskaźnika jakości powietrza i główne zanieczyszczenie. Wymaga tylko napisania kilku dodatkowych stwierdzeń if.

Zalecana: