Table des matières:

Affichage météo simple avec Raspberry PI et Cyntech WeatherHAT : 4 étapes
Affichage météo simple avec Raspberry PI et Cyntech WeatherHAT : 4 étapes

Vidéo: Affichage météo simple avec Raspberry PI et Cyntech WeatherHAT : 4 étapes

Vidéo: Affichage météo simple avec Raspberry PI et Cyntech WeatherHAT : 4 étapes
Vidéo: Que faire avec un Raspberry Pi ? 2024, Novembre
Anonim
Affichage météo simple avec Raspberry PI et Cyntech WeatherHAT
Affichage météo simple avec Raspberry PI et Cyntech WeatherHAT
Affichage météo simple avec Raspberry PI et Cyntech WeatherHAT
Affichage météo simple avec Raspberry PI et Cyntech WeatherHAT

* En 2019, Yahoo a changé son API, et cela a cessé de fonctionner. J'ignorais le changement. En septembre 2020, ce projet a été mis à jour pour utiliser l'API OPENWEATHERMAP. Voir la section mise à jour ci-dessous, le reste de ces informations est cependant toujours bon. Merci d'avoir regardé, et merci de m'avoir informé du changement de Yahoo. *

Récemment, j'ai acquis un Cyntech WeatherHAT, mais j'ai été un peu déçu par le manque de logiciel pour cela.

Le HAT lui-même semble bien construit, avec 6 LED bleues en forme de gouttes de pluie, 6 LED oranges en forme de foudre, 6 LED blanches en forme de nuage. 1 (Ce que je crois être une LED RVB) pour le SOLEIL - il s'affiche en orange (donc je peux me tromper en disant qu'il s'agit d'un RVB). Et 6 LED WS2812 (Ce sont des RVB:-))

Cyntech a un guide de démarrage, et même cela est bon - il est facile d'installer et d'utiliser le HAT.

J'ai donc été simplement surpris de ne pas vraiment voir de logiciel (à part la démo fournie par Cyntech). J'ai également été surpris de ne trouver personne qui l'utilisait vraiment - Peut-être que les gens veulent un affichage "fantaisie" avec des températures et tout ce genre d'informations. Pour moi, c'est bien de regarder quelques LED et de savoir - il pleut, orage ou nuageux - à ce stade, si j'ai besoin de plus d'informations, je peux regarder ma tablette ou mon téléphone.:-)

Un peu plus - c'est vraiment la première fois que j'utilise python, je ne suis pas du tout doué pour ça. Et je suis sûr que les gens qui connaissent vraiment python me diront une meilleure façon de le faire.

Commençons:

Nous avons besoin d'une carte SD (au moins 8 Go)

Un Raspberry PI (j'utilise un Zero W), il doit avoir accès à Internet.

et nous avons besoin du Cyntech weatherHAT

Si vous utilisez un Raspberry PI Zero W, vous devrez également pouvoir souder un ensemble d'en-têtes à la carte.

Sinon, les compétences nécessaires sont la capacité d'utiliser un logiciel et de configurer la carte SD.

Étape 1: Configurez la carte SD et le Raspberry PI

Définir la carte SD et Raspberry PI
Définir la carte SD et Raspberry PI
Définir la carte SD et Raspberry PI
Définir la carte SD et Raspberry PI

Vous devrez télécharger le dernier Raspbian (au moment de cette instructable qui est Raspbian Stretch mars 2018 (2018-03-13))

www.raspberrypi.org/downloads/raspbian/

J'ai utilisé l'édition de bureau, même si j'exécute ma configuration sans tête et fais la plupart des choses à partir de la CLI (interface de ligne de commande) sur ssh.

Suivez le guide d'installation que vous trouverez ici:

www.raspberrypi.org/documentation/installa…

Une fois Etcher terminé, retirez la carte SD et réinsérez-la dans l'ordinateur.

* Vous n'avez vraiment besoin de faire cette étape ci-dessous si vous prévoyez de faire une installation sans tête

Nous devons configurer SSH et WIFI avant d'utiliser la carte SD dans le Raspberry PI. Dans la partition BOOT de la carte, créez un fichier nommé "ssh" sans les guillemets. rien ne doit être dans ce fichier. Lorsque le PI démarre, il verra ce fichier et activera SSH.

Nous devons également créer un fichier appelé "wpa_supplicant.conf". Nous devons modifier ce fichier avec vos paramètres wifi.

Cela devrait ressembler à quelque chose comme ceci:

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev

update_config=1 network={ ssid="yourwifiSSID" psk="yourwifipassword" scan_ssid=1 }

* Vous n'avez vraiment besoin de le faire que si vous prévoyez de faire une installation sans tête

Une fois cela fait, retirez en toute sécurité la carte SD et insérez le Raspberry PI (assurez-vous que le PI n'est pas sous tension).

Fixez le WeatherHAT et allumez le Raspberry PI.

Étape 2: Configurer les bibliothèques WeatherHAT

Configurer les bibliothèques WeatherHAT
Configurer les bibliothèques WeatherHAT
Configurer les bibliothèques WeatherHAT
Configurer les bibliothèques WeatherHAT

Pour cette étape, nous suivrons le Guide de démarrage trouvé

guides.cyntech.co.uk/weatherhat/getting-sta…

SI vous effectuez une installation sans tête, vous voudrez ssh [email protected]

Si vous n'avez pas de client ssh, PUTTY est un bon client.

Si vous utilisez un clavier et un moniteur - le guide ci-dessus est bon à suivre, il vous démarre sur un bureau GUI.

Les étapes importantes ici consistent à installer la bibliothèque WS281x et les bibliothèques WeatherHAT, ainsi que la dépendance pour chacune.

sudo apt-get mise à jour

sudo apt-get upgrade -y sudo apt-get install build-essential python-dev git scons swig python-smbus git clone https://github.com/jgarff/rpi_ws281x.git > git clone https://github.com/ jgarff/rpi_ws281x.git > cd rpi_ws281x scons cd python sudo python setup.py installer

Maintenant, nous devons nous assurer que I2C est activé.

sudo raspi-config

Le guide est écrit pour une ancienne version de raspi-config et dit d'aller dans "Options avancées" qui a été remplacé par je crois "Interfaces"

Une fois que vous aurez activé I2C, vous devrez redémarrer.

Il est maintenant temps de tester le HAT

cd WeatherHAT

sudo python cycle.py

Si tout s'est bien passé, vous devriez voir toutes les fonctionnalités et un arc-en-ciel.

ctrl-z arrêtera le programme.

*Remarques spéciales: j'ai appris que les horaires du Raspberry PI 3 sont différents et que l'arc-en-ciel peut ne pas fonctionner correctement. SI vous avez ce problème, voici comment le résoudre.

github.com/CyntechUK/WeatherHAT/issues/3

guides.cyntech.co.uk/raspberry-pi/assemblin…

Une fois que tout fonctionne, nous pouvons passer à l'étape suivante.

Mise à jour: (6 octobre 2020) Ce référentiel contient désormais mon script getWeather.py, c'est une excellente nouvelle, car l'intérêt a de nouveau suscité et de nouvelles choses sont inévitables.

Étape 3: Installation de Weather-api et GetWeather Script

Installation de Weather-api et GetWeather Script
Installation de Weather-api et GetWeather Script
Installation de Weather-api et GetWeather Script
Installation de Weather-api et GetWeather Script
Installation de Weather-api et GetWeather Script
Installation de Weather-api et GetWeather Script
Installation de Weather-api et GetWeather Script
Installation de Weather-api et GetWeather Script

J'ai donc envoyé une demande PULL à CyntechUK pour mon script - j'espère qu'ils accepteront la demande et vous pouvez ignorer le téléchargement de mon référentiel. (ils ne voudront peut-être pas inclure mon code toi)

(6 octobre 2020) La requête PULL a été approuvée, mon script getWeather est maintenant inclus dans le référentiel Weatherhat.

*********Vous pouvez toujours utiliser ces informations si vous le souhaitez, cependant getWeather.py a été inclus dans le référentiel Weatherhat maintenant ******************* *******************

Mon dépôt se trouve ici:

github.com/kd8bxp/WeatherHAT/tree/getWeath…

et mon script s'appelle getWeather.py

S'ils acceptent la demande d'extraction, vous aurez déjà ce script - sinon, vous devrez cloner le référentiel.

dans votre répertoire personnel (/home/pi) tapez:

git clone https://github.com/kd8bxp/WeatherHAT.git getWeather

cela clonera le référentiel dans un répertoire appelé getWeather, nous devons ensuite extraire la branche getWeather.

cd getWeather

git checkout getWeather

**********************************************************************

Vous aurez besoin de cd dans le répertoire weatherHAT qui a été cloné plus tôt et

Nous devons modifier le script getWeather.py pour votre emplacement.

nano getWeather.py

Vous devriez voir une ligne commençant par

emplacement et se termine par recherche (45042) - Ceci est mon code postal, j'ai trouvé qu'il ne fonctionne pas aussi bien que vous le pensez

et la ligne juste au-dessus qui est commentée fonctionne mieux avec un nom de ville. C'est celui que vous voulez probablement utiliser. Alors commentez la ligne du code postal (#) et décommentez et changez le nom de votre ville.

*********** INFORMATIONS OLD YAHOO - N'est plus nécessaire ***********

Nous devons installer une bibliothèque supplémentaire pour que cela fonctionne, weather-api qui est un wrapper pour l'API météo de Yahoo.

pypi.python.org/pypi/weather-api/0.0.5

L'installation est facile -

pip installer météo-api

***********************************************************************************

Nous pouvons maintenant exécuter le script:

sudo python getWeather.py &

Le & laissera le script s'exécuter en arrière-plan. Le script dort environ 5 minutes, puis vérifie sur Yahoo Weather si quelque chose a changé - si c'est le cas, il met à jour l'affichage. Le temps de 5 minutes peut être modifié, c'est près du bas du script.

dormir (60 * 5)

Vous pouvez configurer une tâche crontab (rappelez-vous qu'elle doit être exécutée en tant que root) qui démarrera le script à chaque démarrage.

utilisation:

sudo crontab -e

Entrer:

@reboot python /home/pi/weatherHAT/getWeather.py

Je pense que cela devrait fonctionner - je n'ai pas encore configuré cron sur mon système.

C'est à peu près tout -

Comme je l'ai dit, c'est l'un de mes premiers programmes python, et je suis sûr que quelqu'un qui en sait plus verra une meilleure façon de le faire.

Je n'ai fait que des tests limités à ce sujet - j'ai vu "Neige" "Pluie" et "Orage" fonctionner jusqu'à présent, Il y a certaines conditions que je ne sais pas encore comment gérer - j'accepte les idées.

Étape 4: Informations mises à jour pour: API Openweathermap

En septembre 2020, j'ai mis à jour le script pour utiliser l'API

REMARQUE: Il s'agissait d'une solution "rapide" pour moi et d'un test limité - (le temps est couvert ces derniers jours, et tout ce que je vois, c'est l'affichage des nuages et de la pluie) - Bien que je pense avoir saisi toutes les conditions faciles à display, il est possible que j'en ai raté quelques-uns à cause de la "rapidité" de ce correctif. Cela étant dit, si vous pensez qu'il y a un problème, veuillez laisser un commentaire et si le temps le permet, je vais l'examiner - ou essayer de vous orienter dans la bonne direction. *

Vous devrez vous inscrire pour une clé API en utilisant le lien ci-dessus, lorsque vous modifiez le script pour placer votre ville, vous verrez un emplacement pour la clé. Copiez-le et collez-le et tout devrait bien se passer.

Autres notes:

Ce script utilise désormais les informations « API de données météo actuelles » sur cette API peuvent être trouvées ici:

openweathermap.org/current Une chose à noter est que vous pouvez utiliser une ville, un état et un pays.

IE: la ville "Dayton" devient "Dayton, OH, US". L'API dit qu'elle ne peut utiliser que "Dayton, OH", mais j'ai eu des erreurs dans le script lorsque j'ai fait cela - et comme il s'agissait d'une solution rapide, je n'ai pas cherché pourquoi. DONC, je recommande d'utiliser le "ville, état, pays"

SI, pour une raison quelconque, vous n'obtenez pas de bonnes informations en utilisant un nom de ville, vous pouvez également rechercher l'identifiant de la ville, ou utiliser la latitude et la longitude ou le code postal. Dans chaque cas, l'URL devra être modifiée, si vous cliquez sur le lien sur le côté droit du site Web de l'API, cela donnera un exemple de ce que devrait être l'URL.

Vous devez également modifier l'URL dans le script.

Encore plus de notes: 3 oct. 2020

@Itsmedoofer a souligné qu'ils devaient installer la bibliothèque python-requests avec la nouvelle mise à jour. Je ne suis pas sûr d'en avoir eu besoin (il est également possible que je l'aie installé il y a des années, ou que différentes versions de python installent différentes bibliothèques par défaut). Donc, si le script donne une erreur sur les requêtes python, c'est simple à corriger.

tapez cette commande dans la CLI: python -m pip install request

et vous devriez être bon.

J'espère que cela fait depuis, c'était une solution rapide, et peut-être qu'un jour le permettra, je pourrai travailler à le nettoyer un peu mieux.

Mise à jour (6 octobre 2020) La demande d'extraction github a été acceptée, le référentiel d'origine CyntechUK inclut désormais ce script. https://github.com/CyntechUK/WeatherHAT L'utilisateur Boeerb a quelques idées sur la façon d'afficher certaines des conditions qui ne sont actuellement pas affichées, ainsi que d'autres idées d'utilisation. Gardez donc un œil sur ce référentiel. Et j'espère que les choses se passeront.

Mise à jour: (8 octobre 2020) Open Weather Map propose un court tutoriel sur la configuration et l'utilisation de l'API, https://openweathermap.org/appid Un bon point de départ.

Conseillé: