Tabla de contenido:
- Suministros
- Paso 1: estado inicial
- Paso 2: API Dark Sky
- Paso 3: Adafruit IO y PyPortal
- Paso 4: Código
- Paso 5: PyPortal
- Paso 6: Panel de estado inicial
Video: Dark Sky API PyPortal & Weather Dashboard: 6 pasos
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:42
Este proyecto es una versión de uno que hemos hecho antes, el panel meteorológico de la API Dark Sky. Esta vez, en lugar de una Raspberry Pi, usaremos un Adafruit PyPortal para mostrar los datos meteorológicos y enviarlos al estado inicial. ¡Dos cuadros de mando para el trabajo de uno!
Suministros
- Adafruit PyPortal
- Cuenta Adafruit IO (gratis)
- Cuenta de la API de Dark Sky (gratis)
- Cuenta estatal inicial
Paso 1: estado inicial
Initial State es una plataforma de visualización de datos. Enviaremos datos desde Dark Sky API y PyPortal al estado inicial. Esto nos permitirá tener un registro de los datos meteorológicos y ver las tendencias meteorológicas.
Deberá registrarse y crear una nueva cuenta. Obtienes una prueba gratuita de 14 días y cualquier persona con una dirección de correo electrónico de educación puede registrarse para un plan de estudiante gratuito.
Necesitará su clave de acceso de estado inicial para poder enviar datos desde Dark Sky API y PyPortal al estado inicial. Desplácese sobre su nombre de usuario en la parte superior derecha y haga clic en mi configuración. Allí verá una lista de claves de acceso a la transmisión. Seleccione uno para usar o cree uno nuevo. Lo necesitaremos más tarde para el código.
Paso 2: API Dark Sky
Dark Sky se especializa en pronóstico y visualización del tiempo. El aspecto más genial de Dark Sky es su API meteorológica que podemos usar para recuperar los datos meteorológicos de casi cualquier parte del mundo. No solo el clima es lluvioso o soleado, sino también la temperatura, el punto de rocío, la ráfaga de viento, la humedad, la precipitación, la presión, el índice UV y más, todo fácilmente disponible para donde quiera, cuando quiera.
Para utilizar la API de Dark Sky, primero necesita su propia clave de API. No se preocupe, obtener una clave API es rápido y gratuito. Todo lo que necesita hacer es ir al sitio web y hacer clic en "Probar gratis" para crear una cuenta.
Obtienes 1000 llamadas a la API gratis cada día. Cada solicitud de API por encima del límite diario gratuito cuesta $ 0,0001. Este límite se restablece automáticamente cada día a la medianoche UTC. La solicitud de pronóstico devuelve el pronóstico del tiempo actual para la próxima semana. pasado o futuro.
Su clave secreta de la API de Dark Sky se verá así:
0123456789abcdef9876543210fedcba.
Usaremos esto más adelante en el código.
Paso 3: Adafruit IO y PyPortal
Adafruit IO es un servicio que Adafruit ofrece para complementar su hardware. Usaremos este servicio para la parte del reloj de nuestro código. Regístrese para obtener una cuenta gratuita. Haga clic en Ver clave AIO a la izquierda para ver su nombre de usuario y clave. Usaremos ambos más adelante en nuestro código más adelante.
Adafruit PyPortal es el último dispositivo de IoT impulsado por Circuit Python. Lo bueno de PyPortal es que puede interactuar con API y JSON para mostrar casi cualquier cosa. Lo usaremos para obtener datos de la API Dark Sky, mostrar esos datos en PyPortal y enviar esos datos al estado inicial.
Si este es su primer proyecto en su PyPortal, querrá seguir este tutorial para descargar el firmware, conectar su PyPortal a WiFi y tenerlo listo. Una vez que complete esto, estaremos listos para el código de la API de Dark Sky.
Paso 4: Código
Este código se puede descargar a su computadora aquí. Transfiera todos los archivos excepto el archivo README.md a su PyPortal. Simplemente, arrástrelos y suéltelos en PyPortal, que debería aparecer como CIRCUITPYTHON en su lista de USB. El único documento que debe editar es secrets.py. Extraerá toda su información privada en el código para que no la tengamos a la vista.
Recomendaría usar Mu Editor para editar y ver su código. Tiene un monitor en serie para una fácil depuración mientras realiza cambios. Sin embargo, cualquier editor de código funcionará.
Quiero hablar sobre lo que hace cada fragmento de código, bibliotecas y carpetas para que sea más fácil hacer cambios y
code.py
Este es nuestro archivo principal que se inicia en PyPortal ya que se llama code.py. Aquí verá la conexión WiFi, la llamada a la API de Dark Sky y la configuración para la pantalla de PyPortal. No es necesario realizar ninguna modificación en este archivo.
darksky.py
Este script se llama desde el código principal. Aquí es donde analizamos la llamada a la API de Dark Sky, configuramos la ubicación del texto en la pantalla de PyPortal, determinamos qué icono mostrar y enviamos los datos de la API al estado inicial. No hay ninguna modificación que deba hacer aquí.
secrets.py
Contiene todas sus contraseñas y claves de acceso. Deberá actualizar casi todos los elementos de este documento. Deberá ingresar su nombre de WiFi, contraseña de WiFi, zona horaria, clave de API de Dark Sky, clave de acceso de estado inicial, longitud y latitud, nombre de ciudad y estado, nombre de usuario de Adafruit IO y clave de Adafruit IO. Una vez que haya ingresado y guardado todos los datos, su código debería ejecutarse sin errores.
bibliotecas
Estas son las bibliotecas necesarias para ejecutar PyPortal y los módulos.
fuentes
Esta es la fuente utilizada para mostrar la información meteorológica en PyPortal.
iconos
Estos son los diferentes íconos que se muestran como la imagen en PyPortal según las condiciones climáticas actuales.
Paso 5: PyPortal
Ahora que su código se está ejecutando, su PyPortal mostrará su ciudad y estado, la hora, el resumen de las condiciones climáticas actuales y el ícono correspondiente, y la temperatura en Fahrenheit.
Puede ajustar el tamaño y la ubicación del texto que se muestra en el script Dark Sky. Si desea utilizar diferentes iconos, solo tendrá que guardarlos con los nombres correctos y ponerlos en la carpeta de iconos. Cualquiera de los elementos de la pantalla es ajustable. Incluso puede cambiar lo que muestra. Todo lo que necesita hacer es analizar una parte diferente de la llamada a la API de Dark Sky y se mostrará en lugar del resumen de temperatura o clima.
Paso 6: Panel de estado inicial
Vaya a su cuenta de estado inicial y mire sus datos. Asigné el ícono de temperatura y clima a emojis, hice del valor de temperatura un gráfico de termómetro, hice de la humedad un gráfico de indicador de nivel de líquido, hice del índice UV un gráfico de barras con umbrales de color y creé gráficos de líneas de humedad, temperatura e índice UV.
Puede agregar una imagen de fondo a su tablero del clima para darle más personalidad al tablero.
Si desea utilizar el diseño del panel de un recurso compartido público como panel, puede importar un diseño a su depósito de datos siguiendo las instrucciones aquí.
La URL pública para compartir de nuestro panel es
Ahora no solo tiene uno, sino dos paneles meteorológicos y un registro de datos meteorológicos.
Recomendado:
Calentador de rocío Raspberry Pi para cámara All-Sky: 7 pasos
Calentador de rocío Raspberry Pi para cámara All-Sky: [Mire el paso 7 para ver un cambio en el relé utilizado] Esta es una actualización a una cámara All-Sky que construí siguiendo la excelente guía de Thomas Jaquin (Wireless All Sky Camera) Un problema común que a las cámaras del cielo (y también a los telescopios) es que el rocío co
Pantalla de programación de PyPortal Splatoon 2: 34 pasos (con imágenes)
PyPortal Splatoon 2 Schedule Display: visualización divertida de las etapas actuales y futuras de Splatoon 2 en Turf War y juegos clasificados, tipo de juego clasificado y horario de Salmon Run usando un Adafruit PyPortal. Desplácese por el programa presionando en la pantalla táctil. Los fondos se alternan aleatoriamente durante
Cree un panel meteorológico con la API de Dark Sky: 5 pasos (con imágenes)
Cree un panel de control meteorológico con la API de Dark Sky: Dark Sky se especializa en la visualización y el pronóstico del tiempo. El aspecto más genial de Dark Sky es su API meteorológica que podemos usar para recuperar los datos meteorológicos de casi cualquier parte del mundo. No solo el clima es lluvioso o soleado, sino también la temperatura
Corbata LED Starry Sky: 9 pasos (con imágenes)
Starry Sky Led Tie: Hace un tiempo encontré un juguete para niños con fibra óptica en una tienda de un dólar y comencé a pensar en lo que podía hacer con él. Una de las ideas locas que tuve fue hacer una corbata con el efecto de un cielo estrellado. . Todavía tenía algunos arduino pro mini, adafruit boa
ESP8266 Weather & KVG Infoscreen: 5 pasos
ESP8266 Weather & KVG Infoscreen: esta es una simple pantalla de información para Weatherforecast a través de darksky.net y pantallas en vivo de paradas de autobús para autobuses en Kiel a través de " KVG Echtzeitabfahrten ".La pantalla de información se basa en un NodeMCU (ESP8266) y una pantalla LCD ILI9341