Table des matières:
- Étape 1: Mise en route
- Étape 2: Utilisation de l'API Dark Sky
- Étape 3: État initial
- Étape 4: Tableau de bord météo du ciel étoilé
- Étape 5: Conclusion
Vidéo: Construire un tableau de bord météo à l'aide de l'API Dark Sky : 5 étapes (avec photos)
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:07
Dark Sky est spécialisé dans les prévisions et la visualisation météo. L'aspect le plus cool de Dark Sky est son API météo que nous pouvons utiliser pour récupérer les données météo de presque n'importe où dans le monde. Ce n'est pas seulement le temps est pluvieux ou ensoleillé, mais la température, le point de rosée, les rafales de vent, l'humidité, les précipitations, la pression, l'indice UV, etc., tous facilement disponibles où vous voulez, quand vous voulez.
Apprenons à utiliser l'API super simple de Dark Sky. Si vous débutez dans l'utilisation des API, je vous promets que ce sera vraiment facile ! Et si vous avez déjà utilisé des API, j'espère que nous pourrons vous apprendre quelque chose de nouveau avec le code que nous avons utilisé.
Ce dont vous aurez besoin pour ce projet:
- Compte API Dark Sky
- Compte Etat initial
- Raspberry Pi ou ordinateur portable
Étape 1: Mise en route
Nous avons déjà beaucoup travaillé pour vous en assemblant le code et en organisant les informations. Nous aurons juste besoin que vous fassiez quelques ajustements en cours de route. Si vous voulez un peu de défi, apportez quelques modifications à notre code et aux données météorologiques envoyées, les possibilités sont illimitées !
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 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é. Un Raspberry Pi est une option parfaite pour exécuter des applications comme ce tutoriel.
Pour cloner le référentiel, tout ce que nous avons à faire est d'aller dans le terminal de notre Pi, ou le terminal de votre ordinateur qui est SSH dans votre pi et tapez cette commande:
$ git clone
Appuyez sur Entrée et vous verrez ces informations:
Clonage dans 'darksky'…
remote: Comptage d'objets: 2, terminé. remote: Total 2 (delta 0), réutilisé 0 (delta 0), pack-used 2 Déballage des objets: 100 % (2/2), terminé. Vérification de la connectivité… 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. Avant de passer à l'étape suivante, prenons le temps d'explorer ce répertoire et d'apprendre quelques commandes de ligne de commande de base.
Tapez la commande ci-dessous dans votre terminal:
$ ls
Cette commande répertorie tout ce qui est disponible dans le répertoire dans lequel vous vous trouvez actuellement. Cette liste montre que notre GitHub Repo a été cloné avec succès dans notre répertoire sous le nom « darksky ». Voyons ce qu'il y a dans ce répertoire. Pour accéder à un 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 ciel noir
Une fois que nous avons appuyé sur Entrée, vous verrez que nous sommes maintenant dans le répertoire darksky. Tapons à nouveau "ls" pour voir quels fichiers nous avons installés sur notre pi.
README.md darksky.py …
Ici, nous voyons que nous avons notre document readme et nos fichiers python. Jetons un coup d'œil à darksky.py en utilisant la commande "nano". La commande nano nous permet d'ouvrir l'éditeur de texte nano où nous avons tout notre code python pour chaque segment de ce projet. Allez-y et tapez:
$ nano darksky.py
Ici vous pouvez voir tout le code que nous avons préparé pour vous pour ce projet. Nous n'allons pas encore apporter de modifications à ce document, mais n'hésitez pas à faire défiler et voir ce que nous allons faire plus tard dans ce didacticiel.
Étape 2: Utilisation de l'API Dark Sky
Pour utiliser l'API Dark Sky, vous avez d'abord besoin de votre propre clé API. Ne vous inquiétez pas, l'obtention d'une clé API est rapide et gratuite. Tout ce que vous avez à faire est d'aller sur le site Web et de cliquer sur « Essayer gratuitement » pour créer un compte.
- Vous recevez 1 000 appels API gratuits chaque jour. Chaque demande d'API dépassant la limite quotidienne gratuite coûte 0,0001 $.
- Cette limite se réinitialise automatiquement chaque jour à minuit UTC.
- La demande de prévision renvoie les prévisions météorologiques actuelles pour la semaine prochaine.
- La demande Time Machine renvoie les conditions météorologiques observées ou prévues pour une date passée ou future.
Votre clé secrète d'API Dark Sky ressemblera à ceci: 0123456789abcdef9876543210fedcba.
Vous pouvez effectuer un appel API vers Dark Sky en saisissant une URL dans votre navigateur au format suivant:
api.darksky.net/forecast/[clé]/[latitude], [longitude]
Remplacez "key" par votre clé API Dark Sky et longitude/latitude par ce que vous voulez. Vous pouvez trouver votre longitude et latitude en allant sur Google Maps et en recherchant votre position. Ces valeurs seront dans l'URL. Copiez et collez l'URL du ciel sombre ci-dessus avec votre clé d'accès et vos valeurs ajoutées dans une barre d'adresse.
Une fois que vous faites cela, vous verrez quelque chose comme ceci:
day", "nearestStormDistance":57, "nearestStormBearing":15, "precipIntensity":0, "precipProbability":0, "temperature":53.9, "apparentTemperature":53.9, "dewPoint":29.59, "humidity":0.39, "pression":1022.45, "windSpeed":3.87, "windGust":9.25, "windBearing":259, "cloudCover":0.01, "uvIndex":3, "visibility":7.8, "ozone":309.71}, "minutely":{"summary":"Clear pour l'heure.", "icon":"clear-day", "data":[{"time":1550615280, "precipIntensity":0, "precipProbability":0 }, …
Cela peut être un peu écrasant et difficile à lire, donc ce que je recommande de faire est d'utiliser un formateur JSON pour aider à rendre les données plus lisibles. Lorsque vous faites cela, cela ressemblera à quelque chose comme ceci:
objet {9}
latitude: 37.8267 longitude: -122.4233 fuseau horaire: America/Los_Angeles actuellement {19} heure: 1550615286 résumé: icône claire: jour clair la tempête la plus procheDistance: 57 la tempête la plus proche: 15 précipIntensité: 0 précipProbabilité: 0 température: 53,9 apparenteTempérature: 53,9 point de rosée: 29,59 humidité: 0.39 pression: 1022.45 ventVitesse: 3.87 vent Rafale: 9.25 vent Portée: 259 cloudCover: 0.01 uvIndex: 3 visibilité: 7.8 ozone: 309.71
Vous venez de passer un appel API ! Vous avez vu comme c'était facile? Vous n'avez même pas eu à écrire une seule ligne de code. Maintenant que vous maîtrisez les API, nous pouvons passer à la partie flux de données.
Étape 3: État 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 auquel nous pouvons accéder depuis notre ordinateur portable ou notre appareil mobile. Nos données ont besoin d'une destination. Nous utiliserons l'état initial comme destination.
Étape 1: Inscrivez-vous pour le compte d'État initial
Accédez à https://iot.app.initialstate.com et créez un nouveau compte. Vous bénéficiez d'un essai gratuit de 14 jours et toute personne disposant d'une adresse e-mail edu peut s'inscrire à un plan étudiant gratuit.
Étape 2: Installez l'ISStreamer
Installez le module Python Initial State sur votre Raspberry Pi. Dans l'invite de commande, exécutez la commande suivante:
$ cd /home/pi/$ \curl -sSL https://get.initialstate.com/python -o - | sudo bash
Étape 3: créez de l'Automagic Après l'étape 2, vous verrez quelque chose de similaire à la sortie suivante à l'écran:
pi@raspberrypi ~ $ \curl -sSL https://get.initialstate.com/python -o - | sudo bashPassword: 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:
Lorsqu'on vous demande si vous souhaitez obtenir automatiquement un exemple de script, mettez "y" pour oui et appuyez sur Entrée pour enregistrer votre script dans l'emplacement par défaut. Pour la question sur l'application que vous utilisez, sélectionnez 2 (sauf si vous vous êtes inscrit avant novembre 2018) et entrez votre nom d'utilisateur et votre mot de passe.
Étape 4: Exécutez l'exemple de script
Exécutez le script de test pour vous assurer que nous pouvons créer un flux de données sur votre compte Initial State. Écrivez la commande suivante:
$ python is_example.py
Étape 6: Exemple de données
Revenez à votre compte Initial State dans votre navigateur Web. Un nouveau compartiment de données appelé "Python Stream Example" aurait dû s'afficher à gauche dans votre étagère de journaux (vous devrez peut-être actualiser la page). Cliquez sur ce bucket pour afficher vos données.
Étape 4: Tableau de bord météo du ciel étoilé
Maintenant pour la partie amusante. Nous sommes prêts à commencer à utiliser l'API Dark Sky pour créer un tableau de bord météo et capturer l'historique météo pour l'emplacement que nous choisissons. Pour ce faire, nous allons utiliser le script Python: https://github.com/initialstate/darksky/blob/master/darksky.py. Ce script appelle simplement l'API Dark Sky à l'aide de votre clé API et récupère les informations météorologiques sur un intervalle de temps spécifié. Il diffuse également ces données sur votre compte Initial State, ce qui vous permettra de créer un tableau de bord météorologique Dark Sky.
Vous pouvez soit copier ce script sur votre Pi, soit y accéder via le référentiel GitHub que nous avons cloné précédemment. Vous pouvez le faire en vous rendant dans votre répertoire darksky en tapant:
$ cd ciel noir
À partir de là, vous pourrez accéder au fichier python que nous exécuterons pour créer notre tableau de bord météo. Avant de l'exécuter, vous devez définir les paramètres souhaités et insérer vos clés. Nano dans le fichier darksky.py en tapant:
$ nano darksky.py
Modifiez ensuite la section vers le haut du script:
# --------- Paramètres utilisateur ---------
CITY = "Nashville" GPS_COORDS = "36.1628414, -86.780199" DARKSKY_API_KEY = "PLACEZ VOTRE CLE D'API DARK SKY ICI" BUCKET_NAME = ":partly_sunny: " + CITY + " Météo" BUCKET_KEY = "ds1" ACCESS_KEY = " PLACEZ VOTRE ÉTAT INITIAL CLÉ ICI" MINUTES_BETWEEN_READS = 15 # ---------------------------------
Vous devez définir les coordonnées GPS et le nom de la ville souhaités. Vous devez également insérer votre clé d'API Dark Sky et votre clé d'accès au compte Initial State ou vos données n'iront nulle part. Le paramètre MINUTES_BETWEEN_READS définira la fréquence à laquelle votre script interrogera l'API Dark Sky pour obtenir des informations météorologiques. 15 minutes fournissent un intervalle agréable à long terme. Pour des raisons de test à court terme, vous pouvez définir cette valeur sur 0,5 minute. Apportez vos modifications, puis entrez Ctrl+X pour quitter et enregistrer.
Une fois vos paramètres définis, vous êtes prêt à exécuter votre script:
$ python darksky.py
Si vous vous connectez à votre Pi et que 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 darksky.py &
Ce script va faire un peu plus que simplement lire les données météo et les envoyer à l'état initial. Ce script va tirer parti de la prise en charge des emoji intégrée aux outils d'Initial State pour rendre le tableau de bord un peu plus cool. Vous pouvez voir la logique utilisée pour prendre l'état météorologique de l'icône actuellement -> et le convertir en un jeton emoji dans la fonction weather_icon. Quelque chose de similaire se produit pour la phase de lune dans la fonction moon_icon et la direction du vent dans la fonction wind_dir_icon.
Étape 5: Conclusion
Accédez à votre compte Initial State et examinez vos données. J'ai changé toutes mes valeurs de pourcentage en jauges à arc, les précipitations en jauge de liquide et la température en jauge de température. Vous pouvez passer à n'importe quel type de type de tuile et choisir vos couleurs pour les jauges et les graphiques en courbes. Vous pouvez rendre votre tableau de bord sombre ou clair et intégrer le produit final dans un site Web à l'aide d'un iFrame intégré.
Si vous souhaitez utiliser la mise en page du tableau de bord d'un partage public comme tableau de bord, vous pouvez importer une mise en page dans votre compartiment de données en suivant les instructions ici. Vous pouvez ajouter une image d'arrière-plan à votre tableau de bord pour lui donner plus de contexte.
L'URL de partage public de notre tableau de bord est
Maintenant que vous maîtrisez l'API Dark Sky, les possibilités sont infinies ! Il existe un nombre illimité d'API gratuites en ligne à explorer, alors lancez-vous.
Conseillé:
Tableau de bord OMS COVID-19 : 8 étapes (avec photos)
Tableau de bord OMS COVID-19 : ces instructables montrent comment utiliser ESP8266/ESP32 et LCD pour créer un tableau de bord OMS de la situation COVID-19
Tableau de bord Bluetooth pour batterie Li-ion : 4 étapes (avec photos)
Tableau d'affichage Bluetooth de la batterie Li-ion : Introduction Peut être utilisé pour d'autres
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 : 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 nous
Dark Sky API PyPortal et tableau de bord météo : 6 étapes
Dark Sky API PyPortal & Weather Dashboard : Ce projet est une reprise de celui que nous avons déjà réalisé, le Dark Sky API Weather Dashboard. Cette fois, au lieu d'un Raspberry Pi, nous utiliserons un Adafruit PyPortal pour afficher les données météorologiques et envoyer ces données à l'état initial. Deux tableaux de bord pour le travail d'un seul
Projet de tableau de bord avec écran LED P10 utilisant DMD : 6 étapes (avec photos)
Projet de tableau de bord avec écran LED P10 utilisant le DMD : nous nous rencontrons souvent dans un stade de football; il y a un panneau LED géant qui sert de tableau de bord. De même, dans d'autres domaines sportifs, nous connaissons également souvent le tableau de bord de l'écran d'affichage en LED. Bien que pas possible, il y a aussi un domaine qui nous reste