Tabla de contenido:
- Paso 1: Comenzando
- Paso 2: uso de la API de Dark Sky
- Paso 3: estado inicial
- Paso 4: Panel de control del clima de cielo oscuro
- Paso 5: Conclusión
Video: Cree un panel meteorológico con la API de Dark Sky: 5 pasos (con imágenes)
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:42
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.
Aprendamos a usar la API súper simple de Dark Sky. Si eres nuevo en el uso de API, te prometo que esto será realmente fácil. Y si ha usado API antes, espero que podamos enseñarle algo nuevo con el código que hemos usado.
Qué necesitará para este proyecto:
- Cuenta de la API de Dark Sky
- Cuenta estatal inicial
- Raspberry Pi o computadora portátil
Paso 1: Comenzando
Ya hemos trabajado mucho para que usted pueda armar el código y organizar la información. Solo necesitaremos que realice algunos ajustes a lo largo del camino. Si desea un poco de desafío, haga algunos cambios en nuestro código y en los datos meteorológicos que se envían, ¡hay posibilidades ilimitadas!
Para recuperar todas las cosas que hemos preparado para usted, deberá clonar el repositorio de GitHub. GitHub es un servicio que nos permite almacenar, revisar y administrar proyectos como este. Querrá ejecutar este script en un dispositivo dedicado. Una Raspberry Pi es una opción perfecta para ejecutar aplicaciones como este tutorial.
Para clonar el repositorio, todo lo que tenemos que hacer es ir a la terminal de nuestra Pi, o la terminal de su computadora que es SSH en su pi y escribir este comando:
$ git clon
Presiona enter y verás esta información:
Clonando en 'darksky' …
remoto: Contando objetos: 2, hecho. remoto: Total 2 (delta 0), reutilizado 0 (delta 0), paquete-reutilizado 2 Desembalaje de objetos: 100% (2/2), listo. Comprobando la conectividad … hecho.
Una vez que vea esto, felicidades, ha clonado con éxito el repositorio de GitHub y tiene todos los archivos necesarios para construir este proyecto. Antes de pasar al siguiente paso, tomemos un tiempo para explorar este directorio y aprender algunos comandos básicos de la línea de comandos.
Escriba el siguiente comando en su terminal:
$ ls
Este comando enumera todo lo que está disponible en el directorio en el que se encuentra actualmente. Esta lista muestra que nuestro repositorio de GitHub se ha clonado con éxito en nuestro directorio con el nombre "darksky". Echemos un vistazo a lo que hay en ese directorio. Para moverse a un directorio, todo lo que necesita hacer es escribir "cd" y luego escribir el nombre del directorio al que desea ir.
En este caso, escribiremos:
$ cd darksky
Una vez que presionemos Intro, verá que ahora estamos en el directorio de darksky. Escriba "ls" nuevamente para ver qué archivos hemos instalado en nuestro pi.
README.md darksky.py…
Aquí vemos que tenemos nuestro documento Léame y archivos Python. Echemos un vistazo a darksky.py usando el comando "nano". El comando nano nos permite abrir el editor de texto nano donde tenemos todo nuestro código Python para cada segmento de este proyecto. Continúe y escriba:
$ nano darksky.py
Aquí puede ver todo el código que le hemos preparado para este proyecto. No vamos a realizar ningún cambio en este documento todavía, pero siéntase libre de desplazarse y ver lo que haremos más adelante en este tutorial.
Paso 2: uso de la API de Dark Sky
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.
- La solicitud de Time Machine devuelve las condiciones meteorológicas observadas o pronosticadas para una fecha pasada o futura.
Su clave secreta de la API de Dark Sky se verá así: 0123456789abcdef9876543210fedcba.
Puede realizar una llamada API a Dark Sky escribiendo una URL en su navegador en el siguiente formato:
api.darksky.net/forecast/[key]/[latitude], [longitude]
Reemplace "clave" con su clave de API Dark Sky y la longitud / latitud con lo que desee. Puede encontrar su longitud y latitud yendo a Google Maps y buscando su ubicación. Esos valores estarán en la URL. Copie y pegue la URL de cielo oscuro anterior con su clave de acceso y valores agregados en una barra de direcciones.
Una vez que hagas eso, verás algo como esto:
día "," más cercana a la tormenta ": 57," más cercana a la tormenta ": 15," precipitación ": 0," precipitación ": 0," temperatura ": 53,9," temperatura aparente ": 53,9," punto de rocío ": 29,59," humedad ": 0,39, "presión": 1022.45, "windSpeed": 3.87, "windGust": 9.25, "windBearing": 259, "cloudCover": 0.01, "uvIndex": 3, "visibilidad": 7.8, "ozono": 309.71}, "minutely": {"summary": "Limpiar para la hora.", "icon": "clear-day", "data": [{"time": 1550615280, "precipIntensity": 0, "precipProbability": 0 },…
Puede ser un poco abrumador y difícil de leer, así que lo que recomiendo es usar un formateador JSON para ayudar a que los datos sean más legibles. Cuando hagas esto, se verá así:
objeto {9}
latitud: 37.8267 longitud: -122.4233 zona horaria: América / Los_Angeles actualmente {19} hora: 1550615286 resumen: icono claro: día despejado más cercanoTormentaDistancia: 57 más cercanoTormenta: 15 precipitacionesIntensidad: 0 precipitacionesProbabilidad: 0 temperatura: 53.9 aparenteTemperatura: 53.9 rocíoPunto: 29.59 humedad 0.39 presión: 1022.45 viento Velocidad: 3.87 viento Ráfaga: 9.25 viento Rotación: 259 nubes Cubierta: 0.01 uv Índice: 3 visibilidad: 7.8 ozono: 309.71
¡Acabas de hacer una llamada a la API! ¿Ves que fácil fue eso? Ni siquiera tuvo que escribir una sola línea de código. Ahora que domina las API, podemos pasar a la parte de transmisión de datos.
Paso 3: estado inicial
Queremos transmitir todos nuestros datos meteorológicos a un servicio en la nube y que ese servicio convierta nuestros datos en un agradable panel de control al que podamos acceder desde nuestra computadora portátil o dispositivo móvil. Nuestros datos necesitan un destino. Usaremos Estado inicial como ese destino.
Paso 1: Regístrese para obtener una cuenta estatal inicial
Vaya a https://iot.app.initialstate.com y cree 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.
Paso 2: Instale ISStreamer
Instale el módulo Python de estado inicial en su Raspberry Pi. En el símbolo del sistema, ejecute el siguiente comando:
$ cd / home / pi / $ / curl -sSL https://get.initialstate.com/python -o - | sudo bash
Paso 3: haz algo de Automagic Después del paso 2, verás algo similar al siguiente resultado en la pantalla:
pi @ raspberrypi ~ $ / curl -sSL https://get.initialstate.com/python -o - | sudo bashPassword: ¡Comenzando con la instalación fácil de ISStreamer Python! Esto puede tardar un par de minutos en instalarse, tómate un café:) Pero no olvides volver, ¡tendré preguntas más tarde! Encontrado easy_install: setuptools 1.1.6 Encontrado pip: pip 1.5.6 de /Library/Python/2.7/site-packages/pip-1.5.6- py2.7.egg (python 2.7) pip versión principal: 1 pip versión menor: 5 ISStreamer encontrado, actualizando… Requisito ya actualizado: ISStreamer en /Library/Python/2.7/site-packages Limpiando… ¿Desea obtener automáticamente un script de ejemplo? [s / N] ¿Dónde desea guardar el ejemplo? [predeterminado:./is_example.py] Seleccione qué aplicación de estado inicial está utilizando: 1. app.initialstate.com 2. [¡NUEVO!] iot.app.initialstate.com Ingrese la opción 1 o 2: Ingrese iot.app.initialstate.com nombre de usuario: Ingrese la contraseña de iot.app.initialstate.com:
Cuando se le pregunte si desea obtener automáticamente una secuencia de comandos de ejemplo, escriba "y" para sí y presione Intro para guardar la secuencia de comandos en la ubicación predeterminada. Para la pregunta sobre qué aplicación está utilizando, seleccione 2 (a menos que se haya registrado antes de noviembre de 2018) e ingrese su nombre de usuario y contraseña.
Paso 4: Ejecute el script de ejemplo
Ejecute el script de prueba para asegurarse de que podamos crear un flujo de datos en su cuenta de estado inicial. Escribe el siguiente comando:
$ python is_example.py
Paso 6: Datos de ejemplo
Regrese a su cuenta de estado inicial en su navegador web. Debería haber aparecido un nuevo depósito de datos llamado "Python Stream Example" a la izquierda de su estantería de registros (es posible que deba actualizar la página). Haga clic en este depósito para ver sus datos.
Paso 4: Panel de control del clima de cielo oscuro
Ahora viene la parte divertida. Estamos listos para comenzar a usar la API Dark Sky para crear un panel de control del clima y capturar el historial del clima para la ubicación que elegimos. Para hacer esto, usaremos el script de Python: https://github.com/initialstate/darksky/blob/master/darksky.py. Este script simplemente llama a la API Dark Sky usando su clave API y recupera la información meteorológica en un intervalo de tiempo específico. También transmite esos datos a su cuenta de estado inicial, lo que le permitirá crear un panel meteorológico de Dark Sky.
Puede copiar este script a su Pi o acceder a él a través del repositorio de GitHub que clonamos anteriormente. Puede hacer esto cambiando a su directorio darksky escribiendo:
$ cd darksky
Desde aquí, podrá acceder al archivo de Python que ejecutaremos para crear nuestro panel meteorológico. Antes de ejecutarlo, debe configurar los parámetros deseados e insertar sus claves. Nano en el archivo darksky.py escribiendo:
$ nano darksky.py
Luego edite la sección cerca de la parte superior del script:
# --------- Ajustes de usuario ---------
CITY = "Nashville" GPS_COORDS = "36.1628414, -86.780199" DARKSKY_API_KEY = "COLOQUE SU CLAVE DE API DARK SKY AQUÍ" BUCKET_NAME = ": partial_sunny:" + CITY + "Weather" BUCKET_KEY = "ds1" ACCEDE A SU ACCESO INICIO CLAVE AQUÍ "MINUTES_BETWEEN_READS = 15 # ---------------------------------
Debe establecer las coordenadas GPS deseadas y el nombre de la ciudad. También debe insertar su clave de API de Dark Sky y su clave de acceso a la cuenta de estado inicial o sus datos no irán a ninguna parte. El parámetro MINUTES_BETWEEN_READS establecerá la frecuencia con la que su secuencia de comandos sondeará la API de Dark Sky para obtener información meteorológica. 15 minutos proporcionan un buen intervalo a largo plazo. En aras de las pruebas a corto plazo, puede establecer esto en 0,5 minutos. Realice sus cambios y luego ingrese control + X para salir y guardar.
Una vez que haya configurado sus parámetros, estará listo para ejecutar su script:
$ python darksky.py
Si está ingresando a su Pi y desea dejar este script ejecutándose ininterrumpidamente durante mucho tiempo, puede usar el comando nohup (sin colgar) de la siguiente manera:
$ nohup python darksky.py &
Este script hará algo más que leer los datos meteorológicos y enviarlos al estado inicial. Este script aprovechará el soporte de emoji integrado en las herramientas de Initial State para hacer que el tablero sea un poco más atractivo. Puede ver la lógica utilizada para tomar el estado del clima del ícono actual -> y convertirlo en un token de emoji en la función weather_icon. Algo similar ocurre con la fase lunar en la función moon_icon y la dirección del viento en la función wind_dir_icon.
Paso 5: Conclusión
Vaya a su cuenta de estado inicial y mire sus datos. Cambié todos mis valores porcentuales a medidores de arco, la precipitación a un medidor de líquido y la temperatura a un medidor de temperatura. Puede cambiar a cualquier tipo de tipo de mosaico y elegir sus colores para los indicadores y gráficos de líneas. Puede hacer que su tablero sea oscuro o claro e incrustar el producto final en un sitio web utilizando un iFrame incrustado.
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í. Puede agregar una imagen de fondo a su tablero para darle más contexto.
La URL pública para compartir de nuestro panel es
Ahora que dominas la API de Dark Sky, ¡las posibilidades son infinitas! Hay una cantidad ilimitada de API gratuitas en línea para explorar, así que comience.
Recomendado:
Reloj meteorológico con barómetro Raspberry Pi: 9 pasos (con imágenes)
Reloj meteorológico del barómetro Raspberry Pi: en este instructivo, le mostraré cómo construir un reloj termómetro / barómetro básico usando un Raspberry Pi 2 con un sensor BMP180 I2C que se muestra en una pantalla I2C de 4 dígitos y 7 segmentos de Adafruit. El Pi también utiliza un módulo de reloj I2C en tiempo real DS3231 para k
Dark Sky API PyPortal & Weather Dashboard: 6 pasos
Panel de control meteorológico y PyPortal de la API Dark Sky: 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
Reloj meteorológico: 11 pasos (con imágenes)
Weather Clock: Actualización con esquema eléctrico y esquema Fritzing Hago dos premisas: Este es mi primer Instructable Soy un italiano ignorante que no ha estudiado inglés en la escuela, y por eso pedí ayuda para: https: //translate.google.itStart con agradecimiento
TripComputer - Computadora de viaje con GPS y módulo meteorológico para su vehículo: 11 pasos (con imágenes)
TripComputer - Computadora de viaje con GPS y módulo meteorológico para su vehículo: un proyecto de frambuesa pi genial que utiliza el módulo de ruptura de GPS y 2 pequeñas pantallas Digole para tener una computadora de navegación en su tablero
IOT123 - SEGUIDOR SOLAR - INCLINACIÓN / PANEL, MARCO DE PANEL, PLACA DE MONTAJE LDR: 9 Pasos (con imágenes)
IOT123 - SEGUIDOR SOLAR - INCLINACIÓN / PANEL, MARCO DE PANEL, EQUIPO DE MONTAJE LDR: La mayoría de los diseños de bricolaje para seguidores solares de doble eje " por ahí " se basan en el 9G Micro Servo que realmente están subestimados para empujar un par de células solares, el microcontrolador, la batería y la carcasa. Puedes diseñar alrededor