Tabla de contenido:
- Paso 1: configura la tarjeta SD y Raspberry PI
- Paso 2: Configurar las bibliotecas WeatherHAT
- Paso 3: Instalar Weather-api y GetWeather Script
- Paso 4: Información actualizada para: API de Openweathermap
Video: Pantalla meteorológica simple con Raspberry PI y Cyntech WeatherHAT: 4 pasos
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:40
* En 2019 Yahoo cambió su API y dejó de funcionar. No me di cuenta del cambio. En septiembre de 2020, este proyecto se actualizó para utilizar la API OPENWEATHERMAP. Consulte la sección actualizada a continuación; sin embargo, el resto de esta información sigue siendo buena. Gracias por mirar y gracias por informarme sobre el cambio de Yahoo. *
Recientemente adquirí un Cyntech WeatherHAT, pero me decepcionó un poco la falta de software para ello.
El HAT en sí mismo parece estar bien construido, con 6 LED azules en forma de gotas de lluvia, 6 LED naranjas en forma de rayo, 6 LED blancos en forma de nube. 1 (Lo que creo que es un LED RGB) para el SUN: se muestra en naranja (por lo que podría estar equivocado acerca de que sea un RGB). Y 6 LED WS2812 (estos son RGB:-))
Cyntech tiene una guía de introducción, e incluso eso es bueno: es fácil de instalar y usar el HAT.
Así que me sorprendió no ver ningún software (aparte de la demostración proporcionada por Cyntech). Me sorprendió igualmente no encontrar a nadie que realmente usara esto. Tal vez la gente quiera una pantalla "elegante" con temperaturas y todo ese tipo de información. Para mí, es bueno mirar algunos LED y saber: está lloviendo, tormenta o nublado, en ese momento, si necesito más información, puedo mirar mi tableta o teléfono.:-)
Un poco más: esta es realmente la primera vez que uso Python, de ninguna manera soy bueno en eso. Y estoy seguro de que las personas que realmente conocen Python me dirán una mejor manera de hacerlo.
Empecemos:
Necesitamos una tarjeta SD (al menos 8gb)
Una Raspberry PI (estoy usando Zero W) necesita tener acceso a Internet.
y necesitamos Cyntech weatherHAT
Si usa una Raspberry PI Zero W, también deberá poder soldar un conjunto de encabezados a la placa.
De lo contrario, las habilidades necesarias son la capacidad de usar software y configurar la tarjeta SD.
Paso 1: configura la tarjeta SD y Raspberry PI
Deberá descargar la última versión de Raspbian (en el momento de este instructivo que es Raspbian Stretch de marzo de 2018 (2018-03-13))
www.raspberrypi.org/downloads/raspbian/
Usé la edición de escritorio, incluso si estoy ejecutando mi configuración sin cabeza y haciendo la mayoría de las cosas desde la CLI (interfaz de línea de comandos) a través de ssh.
Siga la guía de configuración que se encuentra aquí:
www.raspberrypi.org/documentation/installa…
Una vez que Etcher haya terminado, retire la tarjeta SD y vuelva a insertarla en la computadora.
* Realmente solo necesita hacer este paso a continuación si planea hacer una instalación sin cabeza
Necesitamos configurar SSH y WIFI antes de usar la tarjeta SD en la Raspberry PI. En la partición BOOT de la tarjeta, cree un archivo llamado "ssh" sin las comillas. no tiene que haber nada en ese archivo. Cuando el PI se inicie, verá ese archivo y activará SSH.
También necesitamos crear un archivo llamado "wpa_supplicant.conf". Necesitamos editar este archivo con su configuración de wifi.
Debería verse algo como esto:
ctrl_interface = DIR = / var / run / wpa_supplicant GROUP = netdev
update_config = 1 network = {ssid = "yourwifiSSID" psk = "yourwifipassword" scan_ssid = 1}
* Realmente solo necesita hacer esto si planea hacer una instalación sin cabeza
Una vez hecho esto, retire con seguridad la tarjeta SD y coloque la Raspberry PI (asegúrese de que no haya energía en la PI).
Conecte el WeatherHAT y encienda la Raspberry PI.
Paso 2: Configurar las bibliotecas WeatherHAT
Para este paso, seguiremos la Guía de inicio que se encuentra
guides.cyntech.co.uk/weatherhat/getting-sta…
SI está haciendo una instalación sin cabeza, querrá ssh [email protected]
Si no tiene un cliente ssh, PUTTY es uno bueno.
Si está utilizando un teclado y un monitor, la guía anterior es buena para seguir, lo inicia en un escritorio GUI.
Los pasos importantes aquí son instalar la biblioteca WS281x y las bibliotecas WeatherHAT, junto con la dependencia de cada una.
sudo apt-get update
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 install
Ahora debemos asegurarnos de que I2C esté encendido.
sudo raspi-config
La guía está escrita para una versión anterior de raspi-config y dice que vaya a "Opciones avanzadas", que ha sido reemplazada por, creo, "Interfaces".
Una vez que encienda I2C, tendrá que reiniciar.
Ahora es el momento de probar el HAT
cd WeatherHAT
sudo python cycle.py
Si todo salió bien, debería ver todas las características y un arco iris.
ctrl-z detendrá el programa.
* Notas especiales: me enteré de que los tiempos de la Raspberry PI 3 son diferentes y es posible que el arcoíris no funcione correctamente. Si tiene este problema, aquí le explicamos cómo solucionarlo.
github.com/CyntechUK/WeatherHAT/issues/3
guides.cyntech.co.uk/raspberry-pi/assemblin…
Una vez que todo esté funcionando, podemos continuar con el siguiente paso.
Actualización: (6 de octubre de 2020) Este repositorio ahora contiene mi script getWeather.py, esta es una gran noticia, ya que el interés ha despertado nuevamente y es probable que sucedan cosas nuevas.
Paso 3: Instalar Weather-api y GetWeather Script
Entonces, puse una solicitud PULL a CyntechUK para mi script; con suerte, aceptarán la solicitud y puede omitir la descarga de mi repositorio. (es posible que no quieran incluir mi código)
(6 de octubre de 2020) Se aprobó la solicitud PULL, mi script getWeather ahora está incluido en el repositorio Weatherhat.
********* Puede seguir utilizando esta información si lo desea, sin embargo, getWeather.py se ha incluido en el repositorio weatherhat ahora ******************* *****************
Mi repositorio se puede encontrar aquí:
github.com/kd8bxp/WeatherHAT/tree/getWeath…
y mi script se llama getWeather.py
SI aceptan la solicitud de extracción, ya tendrá este script; de lo contrario, deberá clonar el repositorio.
en su directorio de inicio (/ home / pi) escriba:
clon de git https://github.com/kd8bxp/WeatherHAT.git getWeather
esto clonará el repositorio en un directorio llamado getWeather, luego necesitamos verificar la rama getWeather.
cd getWeather
git checkout getWeather
**********************************************************************
Deberá ingresar al directorio weatherHAT que se clonó anteriormente y
Necesitamos editar el script getWeather.py para su ubicación.
nano getWeather.py
Debería ver una línea que comienza con
ubicación y termina con la búsqueda (45042): este es mi código postal, he descubierto que no funciona tan bien como crees
y la línea justo encima de ella que está comentada funciona mejor con el nombre de una ciudad. Ese es el que probablemente quieras usar. Así que comente la línea del código postal (#) y descomente y cambie el nombre de su ciudad.
*********** ANTIGUA INFORMACIÓN DE YAHOO - Ya no es necesaria ***********
Necesitamos instalar una biblioteca más para que esto funcione, weather-api, que es un contenedor para la API meteorológica de Yahoo.
pypi.python.org/pypi/weather-api/0.0.5
La instalación es fácil:
pip instalar weather-api
***********************************************************************************
Ahora podemos ejecutar el script:
sudo python getWeather.py y
& Permitirá que el script se ejecute en segundo plano. La secuencia de comandos duerme durante unos 5 minutos y luego verifica Yahoo Weather si algo ha cambiado; si es así, actualiza la pantalla. El tiempo de 5 minutos se puede cambiar, está cerca del final del guión.
dormir (60 * 5)
Puede configurar un trabajo crontab (recuerde que debe ejecutarse como root) que iniciará el script en cada arranque.
usar:
sudo crontab -e
ingresar:
@reboot python /home/pi/weatherHAT/getWeather.py
Creo que debería funcionar, todavía no he configurado cron en mi sistema.
Eso es practicamente todo -
Como dije, este es uno de mis primeros programas de Python, y estoy seguro de que alguien que sepa más verá una mejor manera de hacerlo.
Solo he realizado pruebas limitadas sobre esto: he visto funcionar "Nieve", "Lluvia" y "Tormenta eléctrica" hasta ahora, Hay algunas condiciones que todavía no estoy seguro de cómo manejarlas. Agradezco las ideas.
Paso 4: Información actualizada para: API de Openweathermap
En septiembre de 2020, actualicé el script para usar la API
NOTA: Esta fue una solución "rápida" para mí, y probada de forma limitada (ha estado nublado durante los últimos días y todo lo que veo es la pantalla de nubes y lluvia), aunque creo que capté todas las condiciones que son fáciles de pantalla, es posible que me haya perdido un par debido a lo "rápido" que se hizo esta corrección. Dicho esto, si cree que hay un problema, deje un comentario y, si el tiempo lo permite, lo investigaré o trataré de indicarle la dirección correcta. *
Deberá registrarse para obtener una clave API utilizando el enlace de arriba, cuando edite el script para ubicar su ciudad, verá un lugar para la clave. Simplemente cópielo y péguelo, y debería estar bien.
Otras notas:
Esta secuencia de comandos ahora utiliza la "API de datos meteorológicos actuales". La información sobre esa API se puede encontrar aquí:
openweathermap.org/current Una cosa a tener en cuenta es que puede usar una ciudad, estado y país.
IE: la ciudad "Dayton" se convierte en "Dayton, OH, EE. UU." Observe cómo los códigos de estado y país están en mayúsculas, esto es obligatorio. La API dice que solo puede usar "Dayton, OH", pero obtuve errores del script cuando hice esto, y dado que se trataba de una solución rápida, no he investigado por qué. Por lo tanto, recomiendo usar "ciudad, estado, país"
SI por alguna razón no obtiene buena información usando el nombre de una ciudad, también puede buscar la ID de la ciudad, o usar la latitud y longitud o el código postal. En cada caso, será necesario cambiar la URL, si hace clic en el enlace en el lado derecho del sitio web de la API, le dará un ejemplo de cuál debería ser la URL.
También debe cambiar la URL en el script.
Aún más notas: 3 de octubre de 2020
@Itsmedoofer señaló que necesitaban instalar las solicitudes de python de la biblioteca con la nueva actualización. No estoy seguro de si necesitaba esto (también es posible que lo haya instalado hace años, o que diferentes versiones de Python instalen diferentes bibliotecas de forma predeterminada). Entonces, si el script da un error sobre las solicitudes de Python, es fácil de solucionar.
escriba este comando en la CLI: python -m pip install solicitudes
y deberías estar bien.
Con suerte, esto hace que sea una solución rápida, y tal vez algún día, si lo permite, puedo trabajar en limpiarlo un poco mejor.
Actualización (6 de octubre de 2020) Se aceptó la solicitud de extracción de github, el repositorio original de CyntechUK original ahora incluye este script. https://github.com/CyntechUK/WeatherHAT El usuario Boeerb tiene algunas ideas sobre cómo mostrar algunas de las condiciones que no se muestran actualmente, así como otras ideas de uso. Así que vigile ese repositorio. Y es de esperar que sucedan cosas.
Actualización: (8 de octubre de 2020) Open Weather Map tiene un breve tutorial sobre cómo configurar y usar la API, https://openweathermap.org/appid Un buen lugar para comenzar.
Recomendado:
Macintosh con pantalla táctil - Mac clásica con un iPad Mini para la pantalla: 5 pasos (con imágenes)
Macintosh con pantalla táctil | Mac clásico con un iPad Mini para la pantalla: esta es mi actualización y diseño revisado sobre cómo reemplazar la pantalla de un Macintosh antiguo con un iPad mini. Este es el sexto de estos que he hecho a lo largo de los años y estoy muy contento con la evolución y el diseño de este. En 2013, cuando hice
Estación meteorológica NaTaLia: estación meteorológica con energía solar Arduino hecha de la manera correcta: 8 pasos (con imágenes)
Estación meteorológica NaTaLia: estación meteorológica con energía solar Arduino hecha de la manera correcta: después de 1 año de operación exitosa en 2 ubicaciones diferentes, estoy compartiendo los planes del proyecto de mi estación meteorológica con energía solar y explicando cómo evolucionó a un sistema que realmente puede sobrevivir durante mucho tiempo períodos de energía solar. Si tu sigues
Estación meteorológica de bricolaje simple con DHT11 y pantalla OLED: 8 pasos
Estación meteorológica de bricolaje simple con DHT11 y pantalla OLED: en este tutorial aprenderemos cómo crear una estación meteorológica simple usando Arduino, sensor DHT11, pantalla OLED y Visuino para mostrar la temperatura y la humedad
Pantalla LCD I2C / IIC - Use una pantalla LCD SPI para la pantalla LCD I2C usando el módulo SPI a IIC con Arduino: 5 pasos
Pantalla LCD I2C / IIC | Use una pantalla LCD SPI para la pantalla LCD I2C usando el módulo SPI a IIC con Arduino: Hola a todos, ya que una pantalla LCD SPI 1602 normal tiene demasiados cables para conectar, por lo que es muy difícil conectarlo con arduino, pero hay un módulo disponible en el mercado que puede Convierta la pantalla SPI en la pantalla IIC, por lo que solo necesita conectar 4 cables
Pantalla LCD I2C / IIC - Convierta una pantalla LCD SPI en una pantalla LCD I2C: 5 pasos
Pantalla LCD I2C / IIC | Convierta una pantalla LCD SPI en la pantalla LCD I2C: el uso de la pantalla lcd spi necesita demasiadas conexiones, lo cual es realmente difícil de hacer, así que encontré un módulo que puede convertir la pantalla lcd i2c en la pantalla lcd spi, así que comencemos