Table des matières:

Tableau de bord de l'API AirVisual sur la qualité de l'air : 5 étapes
Tableau de bord de l'API AirVisual sur la qualité de l'air : 5 étapes

Vidéo: Tableau de bord de l'API AirVisual sur la qualité de l'air : 5 étapes

Vidéo: Tableau de bord de l'API AirVisual sur la qualité de l'air : 5 étapes
Vidéo: Stream Air Quality with Air Visual API | GIT TECH'D 2024, Juillet
Anonim
Image
Image

AirVisual (https://www.airvisual.com) est un site Web qui fournit des données sur la qualité de l'air dans le monde. Ils ont une API que nous utiliserons pour obtenir des données sur la qualité de l'air à envoyer à un tableau de bord. Nous allons interagir avec cette API de la même manière que nous l'avons fait avec le tableau de bord météo.

Il s'agit d'un projet simple qui vous apprend à utiliser une API. Commençons!

Étape 1: Mise en route

API AirVisual
API AirVisual

Nous avons déjà rassemblé la plupart du code, mais vous aurez besoin de quelques ajustements en cours de route. Il existe également de nombreuses possibilités d'étendre ce que nous avons fait.

Pour récupérer tout ce que nous avons préparé pour vous, vous devrez cloner le référentiel à partir de GitHub. GitHub est un service génial qui nous permet de stocker, réviser et gérer des projets comme celui-ci. Vous voudrez exécuter ce script sur un appareil dédié. Vous pouvez utiliser un ordinateur portable, un Raspberry Pi ou un autre ordinateur monocarte. Pour cloner le référentiel, il suffit d'aller dans le terminal de notre ordinateur ou de Pi et de taper cette commande:

$ git clone

Appuyez sur Entrée et vous verrez ces informations:

$ git clone https://github.com/InitialState/airvisual.git Clonage dans 'airvisual'… remote: énumération des objets: 13, terminé. télécommande: Comptage d'objets: 100 % (13/13), terminé. remote: Compression d'objets: 100 % (12/12), terminé. remote: Total 13 (delta 2), réutilisé 0 (delta 0), pack-used 0 Déballage des objets: 100 % (13/13), terminé.

Une fois que vous voyez cela, félicitations, vous avez cloné avec succès le dépôt GitHub et vous disposez de tous les fichiers nécessaires pour créer ce projet. Passons au nouveau répertoire. Pour changer de répertoire, il vous suffit de taper « cd », puis de taper le nom du répertoire dans lequel vous souhaitez accéder. Dans ce cas, nous taperons:

$ cd audiovisuel

Une fois que nous avons appuyé sur Entrée, vous verrez que nous sommes maintenant dans le répertoire aéronautique. Tapons "ls" pour voir quels fichiers nous avons installés. Vous devriez ressembler à quelque chose comme suit:

LICENCE README.md airquality.py

Nous avons besoin d'autres éléments avant de pouvoir modifier le code, regardons ensuite l'API Air Quality.

Étape 2: API AirVisual

API AirVisual
API AirVisual
API AirVisual
API AirVisual

AirVisual dispose d'une API de qualité de l'air (AQI) et de pollution qui permet jusqu'à 10 000 appels API par mois gratuitement. Vous pouvez vous inscrire au niveau Communauté. Une fois inscrit, vous pouvez accéder à My Air et à l'onglet API. C'est ici que vous trouverez vos clés API et la documentation sur l'API.

Cliquez sur le bouton +Nouvelle clé pour créer notre première clé d'accès API. Pour Sélectionner un plan, utilisez la liste déroulante pour sélectionner Communauté et cliquez sur Créer. Si tout se passe bien, vous verrez un message de réussite et vous pourrez revenir à votre tableau de bord API pour trouver vos nouvelles informations clés. La valeur Clé (chiffres et caractères) est ce dont vous aurez besoin pour ce projet. Si vous parcourez la documentation de l'API, vous verrez qu'il existe plusieurs types d'appels d'API que vous pouvez effectuer. Pour ce projet, nous voulons obtenir les données de la ville la plus proche en fonction des coordonnées GPS. Pour cet appel, vous aurez besoin de votre longitude, latitude et clé API. Entrez ces paramètres dans l'appel ci-dessous, placez-les dans une barre d'adresse de votre navigateur et appuyez sur Entrée.

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

Cela renverra les données de la ville la plus proche en fonction des coordonnées GPS. Cela ressemblera à quelque chose comme ceci:

Je recommande d'utiliser un formateur JSON pour obtenir une meilleure vue des données. Si vous l'utilisez, cela ressemblera un peu à ceci à la place:

"statut":"succès", "data":{ "city":"Nashville", "state":"Tennessee", "country":"USA", "location":{ "type":"Point", "coordinates":[-86.7386, 36.1767]}, "current":{ "weather":{ "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"}

Nous pouvons facilement voir maintenant que nous avons des informations sur l'emplacement, la météo et la pollution. Les deux valeurs sur lesquelles nous nous concentrons pour ce projet sont l'Air Quality Index US (aquis) et le Main Pollutant (mainus). La valeur de l'indice de qualité de l'air nous indique quelle est la valeur locale de la qualité de l'air et comment cela se rapporte à votre santé. Le tableau à code couleur est ci-dessous. Le principal polluant nous indique quel est le principal polluant dans l'air de votre région (particules, oxyde d'azote, ozone, monoxyde de carbone, oxyde de soufre). Ces polluants sont généralement des sous-produits des cheminées de fumée ou des émissions des véhicules.

Maintenant que nous savons utiliser l'API Air Visual, la prochaine chose dont nous aurons besoin est une plate-forme de tableau de bord pour afficher les données.

Étape 3: État initial

Etat initial
Etat initial
Etat initial
Etat initial

Nous voulons diffuser toutes nos données météorologiques sur un service cloud et faire en sorte que ce service transforme nos données en un joli tableau de bord. Nos données ont besoin d'une destination, nous utiliserons donc l'état initial comme destination.

S'inscrire au compte d'État initial

Accédez à https://iot.app.initialstate.com et créez un nouveau compte.

Installer ISStreamer

Installez le module Python Initial State sur votre ordinateur portable ou Raspberry Pi. À l'invite de commandes, exécutez la commande suivante:

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

Faire de l'Automagic

Après avoir exécuté la commande curl, vous verrez quelque chose de similaire à la sortie suivante à l'écran:

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

Mot de passe: Début de l'installation facile d'ISStreamer Python ! Cela peut prendre quelques minutes à installer, prenez un café:) Mais n'oubliez pas de revenir, j'aurai des questions plus tard ! Trouvé easy_install: setuptools 1.1.6 Pip trouvé: pip 1.5.6 de /Library/Python/2.7/site-packages/pip-1.5.6- py2.7.egg (python 2.7) version majeure de pip: 1 version mineure de pip: 5 ISStreamer trouvé, mise à jour… Exigence déjà à jour: ISStreamer dans /Library/Python/2.7/site-packages Nettoyage… Voulez-vous obtenir automatiquement un exemple de script ? [o/N] Où voulez-vous enregistrer l'exemple ? [par défaut:./is_example.py] Veuillez sélectionner l'application Initial State que vous utilisez: 1. app.initialstate.com 2. [NOUVEAU !] iot.app.initialstate.com Entrez le choix 1 ou 2: Entrez iot.app Nom d'utilisateur.initialstate.com: Entrez le mot de passe iot.app.initialstate.com:

Lorsque vous êtes invité à obtenir automatiquement un exemple de script, tapez y. Cela créera un script de test que nous pouvons exécuter pour nous assurer que nous pouvons diffuser des données vers l'état initial. L'invite suivante vous demandera où vous souhaitez enregistrer le fichier d'exemple. Vous pouvez soit taper un chemin local personnalisé, soit appuyer sur Entrée pour accepter l'emplacement par défaut. Enfin, il vous sera demandé quelle application Initial State vous utilisez. Si vous avez récemment créé un compte, sélectionnez l'option 2 puis entrez le nom d'utilisateur et le mot de passe. Après cette installation sera terminée.

Clés d'accès

Jetons un coup d'œil à l'exemple de script qui a été créé. $ nano is_example.py Sur la ligne 15, vous verrez une ligne qui commence par streamer = Streamer(bucket_ …. Cette ligne crée un nouveau seau de données nommé « Python Stream Example » et est associé à votre compte. Cette association se produit en raison de la access_key = "…" paramètre sur cette même ligne. Cette longue série de lettres et de chiffres est votre clé d'accès au compte Initial State. Si vous accédez à votre compte Initial State dans votre navigateur Web, cliquez sur votre nom d'utilisateur en haut à droite, puis allez à "mes paramètres", vous trouverez cette même clé d'accès au bas de la page sous "Clés d'accès de diffusion". Chaque fois que vous créez un flux de données, cette clé d'accès dirigera ce flux de données vers votre compte (donc ne partagez votre clé avec qui que ce soit).

Exécutez l'exempleExécutez le script de test pour vous assurer que nous pouvons créer un flux de données sur votre compte Initial State. Exécutez ce qui suit dans votre invite de commande:

$ python is_example.py

Exemple de données

Revenez à votre compte Initial State dans votre navigateur Web. Un nouveau seau de données appelé "Python Stream Example" devrait s'afficher sur la gauche de votre étagère de seau (vous devrez peut-être actualiser la page). Cliquez sur ce bucket pour afficher les données.

Vous êtes maintenant prêt à commencer à diffuser des données réelles à partir de l'API AirVisual.

Étape 4: Tableau de bord de la qualité de l'air

Tableau de bord de la qualité de l'air
Tableau de bord de la qualité de l'air
Tableau de bord de la qualité de l'air
Tableau de bord de la qualité de l'air
Tableau de bord de la qualité de l'air
Tableau de bord de la qualité de l'air
Tableau de bord de la qualité de l'air
Tableau de bord de la qualité de l'air

Maintenant pour la partie amusante. Nous sommes prêts à commencer à utiliser l'API AirVisual pour créer un tableau de bord de la qualité de l'air et capturer les données de pollution de l'air où que nous choisissions. Ce script airquality.py appelle simplement l'API AirVisual à l'aide de votre clé API et récupère les informations actuelles sur la pollution de l'air. Il transmet également ces données à votre compte Initial State, ce qui vous permettra de créer un tableau de bord de la qualité de l'air.

Vous pouvez accéder au script via le référentiel Github que nous avons cloné précédemment. La première chose que nous devons faire est de nous assurer que nous sommes dans le répertoire AirVisual:

$ cd audiovisuel

À partir de là, vous pourrez accéder au fichier python que nous exécuterons pour créer notre tableau de bord de la qualité de l'air. Nous devons apporter quelques modifications au fichier avant de l'exécuter. Pour ouvrir le fichier python, utilisez la commande nano pour ouvrir l'éditeur de texte:

$ nano airquality.py

Une fois l'éditeur de texte ouvert, vous verrez ce qui suit en haut de votre script:

# --------- Paramètres utilisateur ---------

LATITUDE = "LAT" LONGITUDE = "LONG" AIRVISUAL_API_KEY = "AIR VISUAL API KEY" BUCKET_NAME = "Qualité de l'air local" BUCKET_KEY = "aq1" ACCESS_KEY = "INITIAL STATE ACCES KEY" MINUTES_BETWEEN_READS = 5 # -------- -------------------------

Vous devez entrer votre latitude, longitude, clé API AirVisual et clé d'accès à l'état initial. Le paramètre MINUTES_BETWEEN_READS définira la fréquence à laquelle votre script interrogera l'API AirVisual pour obtenir des informations sur la qualité de l'air. 5 minutes suffisent pour ne pas dépasser votre limite de 10 000 appels API par mois. Pour des raisons de test à court terme, vous pouvez définir cette valeur sur 0,5 minute. Une fois vos paramètres saisis, enregistrez et quittez le texte en tapant Ctrl+X. Vous êtes maintenant prêt à exécuter votre script:

$ python airquality.py

Si vous souhaitez laisser ce script s'exécuter sans interruption pendant une longue période, vous pouvez utiliser la commande nohup (pas de raccrochage) comme suit:

$ nohup python airquality.py &

Une fois que cela est en cours d'exécution, accédez à l'état initial pour afficher vos données. Votre tableau de bord devrait ressembler à l'image ci-dessous. Vous avez votre position GPS, votre valeur d'indice de qualité de l'air et votre principal polluant.

Ma recommandation serait de changer votre valeur AQI en une tuile de jauge. Déplacez également les tuiles et redimensionnez-les au besoin. Si vous l'utilisez pour un tableau de bord intégré, vous pouvez les déplacer selon vos besoins.

Si vous décidez de faire de votre valeur IQA une jauge, vous pouvez alors définir le seuil de couleur pour qu'il soit similaire au tableau de l'indice de qualité de l'air. Cela vous donne une mise à jour instantanée sur l'emplacement de la valeur IQA sur le graphique lorsque vous consultez votre tableau de bord. Vous pouvez ajouter une image d'arrière-plan à votre tableau de bord pour lui donner plus de contexte.

Vous avez donc tout ce dont vous avez besoin pour créer un tableau de bord de la qualité de l'air. Mais que se passe-t-il si vous souhaitez en ajouter d'autres ou l'ajouter à un tableau de bord météo que vous avez déjà créé ? Si tel est le cas, continuez à lire !

Étape 5: Créez un tableau de bord météo total

Faire un tableau de bord météo total
Faire un tableau de bord météo total

Les données sur la qualité de l'air ne vous suffisent pas ? Eh bien, il existe de nombreuses options pour ajouter plus à votre tableau de bord ou diffuser ces données dans un tableau de bord météo que vous possédez déjà !

Diffusez la météo et la qualité de l'air dans un seul tableau de bord

Si vous avez déjà mis en œuvre notre projet DarkSky API ou Hyper-Local Weather Dashboard, vous pouvez ajouter ces données sur la qualité de l'air à votre tableau de bord existant. C'est assez simple, tout ce que vous avez à faire est de modifier vos paramètres dans le script de qualité de l'air pour avoir le même nom de seau, la même clé de seau et la même clé d'accès que ceux que vous avez utilisés pour votre tableau de bord météo. Cela permettra aux données d'être envoyées dans ce même tableau de bord. Vous aurez maintenant un tableau de bord météo total !

Demandez à votre fichier météo Python de faire un appel pour exécuter le fichier Python de qualité de l'air

Une autre option si vous ne souhaitez pas exécuter deux programmes distincts consiste à placer le fichier python de qualité de l'air dans le répertoire du projet météo. Demandez au fichier python du projet météo d'appeler le fichier de qualité de l'air afin qu'il s'exécute lorsque votre fichier météo est en cours d'exécution. Encore une fois, assurez-vous de mettre le même nom de compartiment, la même clé de compartiment et la même clé d'accès afin qu'ils s'exécutent sur le même tableau de bord.

Créez un fichier unique avec à la fois la météo et la qualité de l'air

Et si vous vous sentez vraiment audacieux, vous pouvez mettre une partie du code de la qualité de l'air dans votre script python météo et n'avoir qu'un seul script à exécuter. Cela nécessitera un peu plus d'efforts de codage que les deux autres options, mais cela en fait un programme simplifié.

Diffuser des informations supplémentaires à partir de l'API AirVisual

Comme vous l'avez vu lorsque nous avons appelé l'API AirVisual, elle contient plus d'informations que la qualité de l'air. Il fournit également la température, l'humidité, la vitesse du vent, la direction du vent et la pression atmosphérique. Nous pouvons envoyer ces informations à Initial State de la même manière que nous avons envoyé la valeur de l'indice de qualité de l'air et le principal polluant. Il vous suffit d'écrire quelques instructions if supplémentaires.

Conseillé: