Inhaltsverzeichnis:

AirVisual Air Quality API-Dashboard - Gunook
AirVisual Air Quality API-Dashboard - Gunook

Video: AirVisual Air Quality API-Dashboard - Gunook

Video: AirVisual Air Quality API-Dashboard - Gunook
Video: Stream Air Quality with Air Visual API | GIT TECH'D 2024, Juli
Anonim
Image
Image

AirVisual (https://www.airvisual.com) ist eine Website, die Daten zur Luftqualität weltweit bereitstellt. Sie haben eine API, mit der wir Luftqualitätsdaten abrufen und an ein Dashboard senden. Wir werden mit dieser API ähnlich wie mit dem Wetter-Dashboard interagieren.

Dies ist ein einfaches Projekt, das Ihnen beibringt, wie Sie eine API verwenden. Lass uns anfangen!

Schritt 1: Erste Schritte

AirVisual-API
AirVisual-API

Wir haben den größten Teil des Codes bereits zusammengestellt, aber Sie müssen unterwegs einige Anpassungen vornehmen. Es gibt auch viele Möglichkeiten, das, was wir getan haben, zu erweitern.

Um all die Dinge abzurufen, die wir für Sie vorbereitet haben, müssen Sie das Repository von GitHub klonen. GitHub ist ein großartiger Dienst, der es uns ermöglicht, Projekte wie dieses zu speichern, zu überarbeiten und zu verwalten. Sie sollten dieses Skript auf einem dedizierten Gerät ausführen. Sie können einen Laptop, Raspberry Pi oder einen anderen Einplatinencomputer verwenden. Um das Repository zu klonen, müssen wir nur in das Terminal unseres Computers oder Pi gehen und diesen Befehl eingeben:

$ git clone

Drücken Sie die Eingabetaste und Sie sehen diese Informationen:

$ git clone https://github.com/InitialState/airvisual.git Klonen in 'airvisual'… remote: Aufzählen von Objekten: 13, fertig. remote: Objekte zählen: 100% (13/13), fertig. remote: Objekte komprimieren: 100% (12/12), fertig. remote: Total 13 (Delta 2), wiederverwendet 0 (Delta 0), pack-wiederverwendet 0 Objekte auspacken: 100% (13/13), fertig.

Sobald Sie dies sehen, herzlichen Glückwunsch, Sie haben das GitHub-Repo erfolgreich geklont und verfügen über alle erforderlichen Dateien, um dieses Projekt zu erstellen. Gehen wir in das neue Verzeichnis. Um das Verzeichnis zu ändern, müssen Sie nur "cd" eingeben und dann den Namen des Verzeichnisses eingeben, in das Sie gehen möchten. In diesem Fall geben wir Folgendes ein:

$ cd airvisual

Sobald wir die Eingabetaste drücken, werden Sie sehen, dass wir uns jetzt im airvisual-Verzeichnis befinden. Geben wir "ls" ein, um zu sehen, welche Dateien wir installiert haben. Sie sollten etwas wie folgt aussehen:

LIZENZ-README.md airquality.py

Wir benötigen einige andere Elemente, bevor wir den Code bearbeiten können, also schauen wir uns als nächstes die Air Quality API an.

Schritt 2: AirVisual-API

AirVisual-API
AirVisual-API
AirVisual-API
AirVisual-API

AirVisual verfügt über eine API für Luftqualität (AQI) und Verschmutzung, die bis zu 10.000 API-Aufrufe pro Monat kostenlos ermöglicht. Sie können sich für die Community-Stufe anmelden. Sobald Sie sich angemeldet haben, können Sie zu My Air und zum API-Tab gehen. Hier finden Sie Ihre API-Schlüssel und die Dokumentation zur API.

Klicken Sie auf die Schaltfläche +Neuer Schlüssel, um unseren ersten API-Zugriffsschlüssel zu erstellen. Verwenden Sie für Tarif auswählen die Dropdown-Liste, um Community auszuwählen, und klicken Sie auf Erstellen. Wenn alles gut geht, wird eine Erfolgsmeldung angezeigt und Sie können zu Ihrem API-Dashboard zurückkehren, um Ihre neuen Schlüsselinformationen zu finden. Der Schlüsselwert (Zahlen und Zeichen) ist das, was Sie für dieses Projekt benötigen. Wenn Sie die API-Dokumentation lesen, werden Sie feststellen, dass Sie mehrere Arten von API-Aufrufen durchführen können. Für dieses Projekt möchten wir die nächstgelegenen Stadtdaten basierend auf GPS-Koordinaten erhalten. Für diesen Aufruf benötigen Sie Ihren Längengrad, Breitengrad und API-Schlüssel. Geben Sie diese Parameter in den Aufruf unten ein, geben Sie sie in eine Adressleiste Ihres Browsers ein und drücken Sie die Eingabetaste.

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

Dadurch werden die Daten der nächstgelegenen Stadt basierend auf den GPS-Koordinaten zurückgegeben. Es wird ungefähr so aussehen:

Ich empfehle die Verwendung eines JSON-Formatierers, um eine bessere Ansicht der Daten zu erhalten. Wenn Sie das verwenden, sieht es stattdessen ein wenig so aus:

"status":"Erfolg", "data":{ "city":"Nashville", "state":"Tennessee", "country":"USA", "location":{ "type":"Point", "coordinates":[-86.7386, 36.1767]}, "aktuell":{ "Wetter":{ "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":"2018-04-08T19:46:53.140Z", "wd":90, "ws":3.1}, "verschmutzung":{ "ts":"2019-04-08T18:00:00.000Z", "aqius":10, "mainus":"p2", "aqicn": 3, "maincn":"p2"}

Wir können jetzt leicht erkennen, dass wir Informationen über Standort, Wetter und Umweltverschmutzung haben. Die beiden Werte, auf die wir uns für dieses Projekt konzentrieren, sind der Air Quality Index US (aquis) und der Hauptschadstoff (mainus). Der Wert des Luftqualitätsindex sagt uns, wie hoch der lokale Luftqualitätswert ist und wie sich dieser auf Ihre Gesundheit auswirkt. Die farbcodierte Tabelle ist unten. Der Hauptschadstoff sagt uns, welcher der Hauptschadstoff in der Luft für Ihr Gebiet ist (Feinstaub, Stickoxide, Ozon, Kohlenmonoxid, Schwefeloxid). Diese Schadstoffe sind typischerweise Nebenprodukte von Schornsteinen oder Fahrzeugemissionen.

Nachdem wir nun wissen, wie die Air Visual API verwendet wird, benötigen wir als Nächstes eine Dashboard-Plattform, um die Daten anzuzeigen.

Schritt 3: Ausgangszustand

Ausgangszustand
Ausgangszustand
Ausgangszustand
Ausgangszustand

Wir möchten alle unsere Wetterdaten an einen Cloud-Dienst streamen und diesen Dienst unsere Daten in ein schönes Dashboard verwandeln lassen. Unsere Daten benötigen ein Ziel, daher verwenden wir Initial State als dieses Ziel.

Registrieren Sie sich für das anfängliche Statuskonto

Gehen Sie zu https://iot.app.initialstate.com und erstellen Sie ein neues Konto.

Installieren Sie den ISStreamer

Installieren Sie das Initial State Python-Modul auf Ihrem Laptop oder Raspberry Pi. Führen Sie an einer Eingabeaufforderung den folgenden Befehl aus:

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

Machen Sie etwas Automagic

Nachdem Sie den curl-Befehl ausgeführt haben, sehen Sie etwas Ähnliches wie die folgende Ausgabe auf dem Bildschirm:

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

Passwort: Beginnen mit ISStreamer Python Einfache Installation! Die Installation kann ein paar Minuten dauern, trinken Sie einen Kaffee:) Aber vergessen Sie nicht, wiederzukommen, ich werde später Fragen haben! Gefunden easy_install: setuptools 1.1.6 Gefunden pip: pip 1.5.6 aus /Library/Python/2.7/site-packages/pip-1.5.6- py2.7.egg (python 2.7) pip Hauptversion: 1 pip Nebenversion: 5 ISStreamer gefunden, aktualisiert… Anforderung bereits aktuell: ISStreamer in /Library/Python/2.7/site-packages Aufräumen… Möchten Sie automatisch ein Beispielskript erhalten? [y/N] Wo möchten Sie das Beispiel speichern? [default:./is_example.py] Bitte wählen Sie aus, welche Initial State App Sie verwenden: 1. app.initialstate.com 2. [NEU!] iot.app.initialstate.com Geben Sie Auswahl 1 oder 2 ein: Geben Sie iot.app ein.initialstate.com-Benutzername: Geben Sie das iot.app.initialstate.com-Passwort ein:

Wenn Sie aufgefordert werden, automatisch ein Beispielskript abzurufen, geben Sie y ein. Dadurch wird ein Testskript erstellt, das wir ausführen können, um sicherzustellen, dass wir Daten in den Initial State streamen können. Die nächste Eingabeaufforderung fragt, wo Sie die Beispieldatei speichern möchten. Sie können entweder einen benutzerdefinierten lokalen Pfad eingeben oder die Eingabetaste drücken, um den Standardspeicherort zu akzeptieren. Schließlich werden Sie gefragt, welche Initial State App Sie verwenden. Wenn Sie kürzlich ein Konto erstellt haben, wählen Sie Option 2 und geben Sie dann Benutzernamen und Kennwort ein. Danach ist die Installation abgeschlossen.

Zugangsschlüssel

Schauen wir uns das erstellte Beispielskript an. $ nano is_example.py In Zeile 15 sehen Sie eine Zeile, die mit streamer = Streamer(bucket_ … access_key="…" Parameter in derselben Zeile. Diese lange Reihe von Buchstaben und Zahlen ist Ihr Zugangsschlüssel für das Initial State-Konto. Wenn Sie in Ihrem Webbrowser zu Ihrem Initial State-Konto gehen, klicken Sie oben rechts auf Ihren Benutzernamen und gehen Sie dann unter „Meine Einstellungen“finden Sie denselben Zugriffsschlüssel unten auf der Seite unter „Streaming-Zugriffsschlüssel". Jedes Mal, wenn Sie einen Datenstrom erstellen, leitet dieser Zugriffsschlüssel diesen Datenstrom zu Ihrem Konto (also nicht teilen Sie Ihren Schlüssel mit jemandem).

Führen Sie das Beispiel aus, führen Sie das Testskript aus, um sicherzustellen, dass wir einen Datenstrom zu Ihrem Initial State-Konto erstellen können. Führen Sie in Ihrer Eingabeaufforderung Folgendes aus:

$ python is_example.py

Beispieldaten

Gehen Sie in Ihrem Webbrowser zu Ihrem Initial State-Konto zurück. Ein neuer Daten-Bucket namens „Python Stream Example“sollte auf der linken Seite in Ihrem Bucket-Shelf angezeigt werden (möglicherweise müssen Sie die Seite aktualisieren). Klicken Sie auf diesen Bucket, um die Daten anzuzeigen.

Sie können jetzt mit dem Streamen von echten Daten von der AirVisual-API beginnen.

Schritt 4: Luftqualitäts-Dashboard

Luftqualitäts-Dashboard
Luftqualitäts-Dashboard
Luftqualitäts-Dashboard
Luftqualitäts-Dashboard
Luftqualitäts-Dashboard
Luftqualitäts-Dashboard
Luftqualitäts-Dashboard
Luftqualitäts-Dashboard

Nun zum spaßigen Teil. Wir sind bereit, die AirVisual API zu verwenden, um ein Luftqualitäts-Dashboard zu erstellen und die Luftverschmutzungsdaten für jeden beliebigen Ort zu erfassen. Dieses airquality.py-Skript ruft einfach die AirVisual-API mithilfe Ihres API-Schlüssels auf und ruft die aktuellen Informationen zur Luftverschmutzung ab. Es streamt diese Daten auch an Ihr Initial State-Konto, mit dem Sie ein Luftqualitäts-Dashboard erstellen können.

Sie können auf das Skript über das Github-Repository zugreifen, das wir zuvor geklont haben. Als erstes müssen wir sicherstellen, dass wir uns im AirVisual-Verzeichnis befinden:

$ cd airvisual

Von hier aus können Sie auf die Python-Datei zugreifen, die wir ausführen, um unser Luftqualitäts-Dashboard zu erstellen. Wir müssen einige Änderungen an der Datei vornehmen, bevor wir sie ausführen. Um die Python-Datei zu öffnen, verwenden Sie den nano-Befehl, um den Texteditor zu öffnen:

$ nano airquality.py

Sobald der Texteditor geöffnet ist, sehen Sie oben in Ihrem Skript Folgendes:

# --------- Benutzereinstellungen ---------

LATITUDE = "LAT" LONGITUDE = "LONG" AIRVISUAL_API_KEY = "AIR VISUAL API KEY" BUCKET_NAME = "Local Air Quality" BUCKET_KEY = "aq1" ACCESS_KEY = "INITIAL STATE ACCES KEY" MINUTES_BETWEEN_READS = 5 # -------- --------------------------

Sie müssen Ihren Breiten- und Längengrad, den AirVisual API-Schlüssel und den Anfangsstatus-Zugriffsschlüssel eingeben. Der Parameter MINUTES_BETWEEN_READS legt fest, wie oft Ihr Skript die AirVisual-API nach Luftqualitätsinformationen abfragt. 5 Minuten genug Zeit, damit Sie Ihr Limit von 10.000 API-Aufrufen pro Monat nicht überschreiten. Für Kurzzeittests können Sie diese auf 0,5 Minuten einstellen. Nachdem Sie Ihre Parameter eingegeben haben, speichern und verlassen Sie die Texteingabe, indem Sie Strg+X eingeben. Jetzt können Sie Ihr Skript ausführen:

$ python airquality.py

Wenn Sie dieses Skript längere Zeit ununterbrochen laufen lassen möchten, können Sie den Befehl nohup (kein Auflegen) wie folgt verwenden:

$ nohup python airquality.py &

Sobald dies ausgeführt wird, gehen Sie zum Anfangszustand, um Ihre Daten anzuzeigen. Ihr Dashboard sollte ungefähr wie im Bild unten aussehen. Sie haben Ihren GPS-Standort, Ihren Luftqualitätsindexwert und Ihren Hauptschadstoff.

Meine Empfehlung wäre, Ihren AQI-Wert in eine Messkachel zu ändern. Verschieben Sie auch die Kacheln und ändern Sie die Größe nach Bedarf. Wenn Sie dies für ein eingebettetes Dashboard verwenden, können Sie diese nach Bedarf verschieben.

Wenn Sie sich entscheiden, Ihren AQI-Wert zu einem Maß zu machen, können Sie den Farbschwellenwert so einstellen, dass er dem Luftqualitätsindexdiagramm ähnelt. Dies gibt Ihnen ein sofortiges Update darüber, wo der AQI-Wert auf dem Diagramm liegt, wenn Sie Ihr Dashboard überprüfen. Sie können Ihrem Dashboard ein Hintergrundbild hinzufügen, um ihm mehr Kontext zu verleihen.

Sie haben also alles, was Sie brauchen, um ein Luftqualitäts-Dashboard zu erstellen. Aber was ist, wenn Sie mehr hinzufügen oder dies zu einem bereits erstellten Wetter-Dashboard hinzufügen möchten? Wenn das der Fall ist, lesen Sie weiter!

Schritt 5: Erstellen Sie ein Gesamtwetter-Dashboard

Erstellen Sie ein Gesamtwetter-Dashboard
Erstellen Sie ein Gesamtwetter-Dashboard

Ihnen reichen Luftqualitätsdaten nicht aus? Nun, es gibt viele Möglichkeiten, Ihrem Dashboard mehr hinzuzufügen oder diese Daten in ein bereits vorhandenes Wetter-Dashboard zu streamen!

Streamen Sie Wetter und Luftqualität in ein einziges Dashboard

Wenn Sie bereits unser Projekt DarkSky API oder Hyper-Local Weather Dashboard implementiert haben, können Sie diese Luftqualitätsdaten zu Ihrem bestehenden Dashboard hinzufügen. Es ist ziemlich einfach. Alles, was Sie tun müssen, ist, Ihre Parameter im Luftqualitätsskript so zu ändern, dass sie denselben Bucket-Namen, Bucket-Schlüssel und Zugriffsschlüssel haben, die Sie für Ihr Wetter-Dashboard verwendet haben. Dadurch können die Daten an dasselbe Dashboard gesendet werden. Jetzt haben Sie ein komplettes Wetter-Dashboard!

Lassen Sie Ihre Wetter-Python-Datei einen Aufruf zum Ausführen der Luftqualitäts-Python-Datei ausführen

Eine andere Möglichkeit, wenn Sie nicht zwei separate Programme ausführen möchten, besteht darin, die Luftqualitäts-Python-Datei in das Wetterprojektverzeichnis zu legen. Lassen Sie die Python-Datei des Wetterprojekts die Luftqualitätsdatei aufrufen, damit sie ausgeführt wird, wenn Ihre Wetterdatei ausgeführt wird. Stellen Sie erneut sicher, dass Sie denselben Bucket-Namen, Bucket-Schlüssel und Zugriffsschlüssel eingeben, damit sie auf demselben Dashboard ausgeführt werden.

Erstellen Sie eine einzelne Datei mit Wetter- und Luftqualität

Und wenn Sie sich wirklich mutig fühlen, können Sie einen Teil des Luftqualitätscodes in Ihr Wetter-Python-Skript einfügen und nur ein einziges Skript ausführen. Es erfordert etwas mehr Programmieraufwand als die anderen beiden Optionen, sorgt jedoch für ein vereinfachtes Programm.

Streamen zusätzlicher Informationen von der AirVisual API

Wie Sie bei einem Aufruf der AirVisual-API gesehen haben, enthält sie mehr Informationen als nur die Luftqualität. Es liefert auch Temperatur, Luftfeuchtigkeit, Windgeschwindigkeit, Windrichtung und Luftdruck. Wir können diese Informationen auf die gleiche Weise an Initial State senden, wie wir den Luftqualitätsindexwert und den Hauptschadstoff gesendet haben. Sie müssen nur noch ein paar if-Anweisungen schreiben.

Empfohlen: