Tabla de contenido:

Pantalla meteorológica simple con Raspberry PI y Cyntech WeatherHAT: 4 pasos
Pantalla meteorológica simple con Raspberry PI y Cyntech WeatherHAT: 4 pasos

Video: Pantalla meteorológica simple con Raspberry PI y Cyntech WeatherHAT: 4 pasos

Video: Pantalla meteorológica simple con Raspberry PI y Cyntech WeatherHAT: 4 pasos
Video: Espejo Inteligente Casero Con Raspberry Pi - Tutorial Completo 2024, Noviembre
Anonim
Pantalla meteorológica simple con Raspberry PI y Cyntech WeatherHAT
Pantalla meteorológica simple con Raspberry PI y Cyntech WeatherHAT
Pantalla meteorológica simple con Raspberry PI y Cyntech WeatherHAT
Pantalla meteorológica simple con Raspberry PI y Cyntech WeatherHAT

* 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

Configurar la tarjeta SD y Raspberry PI
Configurar la tarjeta SD y Raspberry PI
Configurar la tarjeta SD y Raspberry PI
Configurar 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

Configurar las bibliotecas WeatherHAT
Configurar las bibliotecas WeatherHAT
Configurar las bibliotecas WeatherHAT
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

Instalación de Weather-api y GetWeather Script
Instalación de Weather-api y GetWeather Script
Instalación de Weather-api y GetWeather Script
Instalación de Weather-api y GetWeather Script
Instalación de Weather-api y GetWeather Script
Instalación de Weather-api y GetWeather Script
Instalación de Weather-api y GetWeather Script
Instalación de 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: