Tabla de contenido:

Panel de control API de calidad del aire AirVisual: 5 pasos
Panel de control API de calidad del aire AirVisual: 5 pasos

Video: Panel de control API de calidad del aire AirVisual: 5 pasos

Video: Panel de control API de calidad del aire AirVisual: 5 pasos
Video: IQAir AirVisual Platform 2024, Noviembre
Anonim
Image
Image

AirVisual (https://www.airvisual.com) es un sitio web que proporciona datos sobre la calidad del aire en todo el mundo. Tienen una API que usaremos para obtener datos de calidad del aire y enviarlos a un tablero. Interactuaremos con esta API de manera similar a como lo hicimos con el panel del clima.

Este es un proyecto simple que le enseña cómo usar una API. ¡Empecemos!

Paso 1: Comenzando

API AirVisual
API AirVisual

Ya hemos reunido la mayor parte del código, pero deberá realizar algunos ajustes a lo largo del camino. También hay muchas oportunidades para ampliar lo que hemos hecho.

Para recuperar todas las cosas que hemos preparado para usted, deberá clonar el repositorio de GitHub. GitHub es un servicio increíble que nos permite almacenar, revisar y administrar proyectos como este. Querrá ejecutar este script en un dispositivo dedicado. Puede usar una computadora portátil, Raspberry Pi u otra computadora de placa única. Para clonar el repositorio, todo lo que tenemos que hacer es ir a la terminal de nuestra computadora o Pi y escribir este comando:

$ git clon

Presiona enter y verás esta información:

$ git clone https://github.com/InitialState/airvisual.git Clonación en 'airvisual'… remoto: Enumeración de objetos: 13, hecho. remoto: Contando objetos: 100% (13/13), hecho. remoto: Comprimir objetos: 100% (12/12), hecho. remoto: Total 13 (delta 2), reutilizado 0 (delta 0), empaquetado reutilizado 0 Desembalaje de objetos: 100% (13/13), listo.

Una vez que vea esto, felicidades, ha clonado con éxito el repositorio de GitHub y tiene todos los archivos necesarios para construir este proyecto. Pasemos al nuevo directorio. Para cambiar el 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 airvisual

Una vez que presionemos Intro, verá que ahora estamos en el directorio airvisual. Escriba "ls" para ver qué archivos hemos instalado. Debería verse algo como sigue:

LICENCIA README.md airquality.py

Necesitamos algunos otros elementos antes de poder editar el código, así que veamos la API de calidad del aire a continuación.

Paso 2: API de AirVisual

API AirVisual
API AirVisual
API AirVisual
API AirVisual

AirVisual tiene una API de contaminación y calidad del aire (AQI) que permite hasta 10, 000 llamadas API por mes de forma gratuita. Puedes registrarte en el nivel Comunidad. Una vez que se registre, puede ir a My Air y a la pestaña API. Es aquí donde encontrará sus claves de API y la documentación sobre la API.

Haga clic en el botón + Nueva clave para crear nuestra primera clave de acceso API. Para Seleccionar plan, use el menú desplegable para seleccionar Comunidad y haga clic en Crear. Si todo va bien, verá un mensaje de éxito y podrá regresar a su panel de API para encontrar su nueva información clave. El valor clave (números y caracteres) es lo que necesitará para este proyecto. Si examina detenidamente la documentación de la API, verá que hay varios tipos de llamadas a la API que puede realizar. Para este proyecto queremos obtener los datos de la ciudad más cercana basados en coordenadas GPS. Para esta llamada, necesitará su longitud, latitud y clave API. Ingrese esos parámetros en la llamada a continuación, colóquelos en una barra de direcciones en su navegador y presione enter.

api.airvisual.com/v2/nearest_city?lat={{LATITUDE}}&lon={{LONGITUDE}}&key={{YOUR_API_KEY}}

Esto devolverá los datos de la ciudad más cercana según las coordenadas GPS. Se verá algo como esto:

Recomiendo usar un formateador JSON para obtener una mejor vista de los datos. Si lo usa, se verá un poco así en su lugar:

"status": "éxito", "datos": {"ciudad": "Nashville", "estado": "Tennessee", "país": "EE. UU.", "ubicación": {"tipo": "Punto", "coordenadas": [- 86.7386, 36.1767]}, "current": {"weather": {"ts": "2019-04-08T19: 00: 00.000Z", "_v": 0, "createdAt": "2019-04-08T19: 04: 18.662Z "," hu ": 88," ic ":" 04d "," pr ": 1012," tp ": 18," updatedAt ":" 2019-04-08T19: 46: 53.140Z "," wd ": 90, "ws": 3.1}, "contaminación": {"ts": "2019-04-08T18: 00: 00.000Z", "aqius": 10, "mainus": "p2", "aqicn": 3, "maincn": "p2"}

Ahora podemos ver fácilmente que tenemos información sobre la ubicación, el clima y la contaminación. Los dos valores en los que nos enfocamos para este proyecto son el Índice de Calidad del Aire de EE. UU. (Aquis) y el Contaminante Principal (mainus). El valor del Índice de calidad del aire nos dice cuál es el valor de la calidad del aire local y cómo se relaciona con su salud. La tabla codificada por colores se encuentra a continuación. El contaminante principal nos dice cuál es el principal contaminante en el aire para su área (material particulado, óxido de nitrógeno, ozono, monóxido de carbono, óxido de azufre). Estos contaminantes son típicamente subproductos de chimeneas o emisiones de vehículos.

Ahora que sabemos cómo usar Air Visual API, lo siguiente que necesitaremos es una plataforma de tablero para mostrar los datos.

Paso 3: estado inicial

Estado inicial
Estado inicial
Estado inicial
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. Nuestros datos necesitan un destino, por lo que usaremos Estado inicial como ese destino.

Regístrese para obtener una cuenta estatal inicial

Vaya a https://iot.app.initialstate.com y cree una nueva cuenta.

Instale el ISStreamer

Instale el módulo Initial State Python en su computadora portátil o Raspberry Pi. En un símbolo del sistema, ejecute el siguiente comando:

$ / curl -sSL https://iot.app.initialstate.com -o - | sudo bash

Haz algo de Automagic

Después de ejecutar el comando curl, verá algo similar al siguiente resultado en la pantalla:

$ / curl -sSL https://iot.app.initialstate.com -o - | sudo bash

Contraseña: Comenzando con ISStreamer Python ¡Fácil instalación! 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 solicite obtener automáticamente un script de ejemplo, escriba y. Esto creará un script de prueba que podemos ejecutar para asegurarnos de que podemos transmitir datos al estado inicial. El siguiente mensaje le preguntará dónde desea guardar el archivo de ejemplo. Puede escribir una ruta local personalizada o presionar enter para aceptar la ubicación predeterminada. Finalmente, se le preguntará qué aplicación de estado inicial está utilizando. Si ha creado una cuenta recientemente, seleccione la opción 2 y luego ingrese el nombre de usuario y la contraseña. Después de que se complete la instalación.

Teclas de acceso

Echemos un vistazo a la secuencia de comandos de ejemplo que se creó. $ nano is_example.py En la línea 15, verá una línea que comienza con streamer = Streamer (bucket_…. Esta línea crea un nuevo depósito de datos llamado "Python Stream Example" y está asociado con su cuenta. Esta asociación ocurre debido a access_key =”…” parámetro en esa misma línea. Esa larga serie de letras y números es la clave de acceso a su cuenta de estado inicial. Si va a su cuenta de estado inicial en su navegador web, haga clic en su nombre de usuario en la parte superior derecha, luego vaya a "mi configuración", encontrará la misma clave de acceso en la parte inferior de la página en "Claves de acceso a la transmisión". Cada vez que cree un flujo de datos, esa clave de acceso dirigirá ese flujo de datos a su cuenta (así que no comparte tu clave con cualquiera).

Ejecute el ejemplo Ejecute el script de prueba para asegurarse de que podamos crear un flujo de datos en su cuenta de estado inicial. Ejecute lo siguiente en su símbolo del sistema:

$ python is_example.py

Datos de ejemplo

Regrese a su cuenta de estado inicial en su navegador web. Un nuevo depósito de datos llamado "Ejemplo de transmisión de Python" debería haber aparecido a la izquierda en el estante del depósito (es posible que deba actualizar la página). Haga clic en este depósito para ver los datos.

Ahora está listo para comenzar a transmitir datos reales desde la API de AirVisual.

Paso 4: Tablero de control de calidad del aire

Tablero de control de calidad del aire
Tablero de control de calidad del aire
Tablero de control de calidad del aire
Tablero de control de calidad del aire
Tablero de control de calidad del aire
Tablero de control de calidad del aire
Tablero de control de calidad del aire
Tablero de control de calidad del aire

Ahora viene la parte divertida. Estamos listos para comenzar a usar la API de AirVisual para crear un panel de control de la calidad del aire y capturar los datos de contaminación del aire para donde elijamos. Este script airquality.py simplemente llama a la API AirVisual usando su clave API y recupera la información actual sobre contaminación del aire. También transmite esos datos a su cuenta de estado inicial, lo que le permitirá crear un panel de control de la calidad del aire.

Puede acceder al script a través del repositorio de Github que clonamos anteriormente. Lo primero que debemos hacer es asegurarnos de que estamos en el directorio AirVisual:

$ cd airvisual

Desde aquí, podrá acceder al archivo de Python que ejecutaremos para crear nuestro panel de control de calidad del aire. Necesitamos hacer algunos cambios en el archivo antes de ejecutarlo. Para abrir el archivo de Python, use el comando nano para abrir el editor de texto:

$ nano airquality.py

Una vez que el editor de texto esté abierto, verá lo siguiente cerca de la parte superior de su secuencia de comandos:

# --------- Ajustes de usuario ---------

LATITUDE = "LAT" LONGITUDE = "LONG" AIRVISUAL_API_KEY = "AIR VISUAL API KEY" BUCKET_NAME = "Calidad del aire local" BUCKET_KEY = "aq1" ACCESS_KEY = "INITIAL STATE ACCES KEY" MINUTES_BETWEEN_READS = 5 # --------S -------------------------

Debe ingresar su latitud, longitud, clave de API AirVisual y clave de acceso de estado inicial. El parámetro MINUTES_BETWEEN_READS establecerá la frecuencia con la que su secuencia de comandos sondeará la API de AirVisual para obtener información sobre la calidad del aire. 5 minutos de tiempo suficiente para que no supere el límite de 10.000 llamadas a la API por mes. En aras de las pruebas a corto plazo, puede establecer esto en 0,5 minutos. Una vez que haya ingresado sus parámetros, guarde y salga del texto ingrese escribiendo Control + X. Ahora está listo para ejecutar su script:

$ python airquality.py

Si desea dejar esta secuencia de comandos ejecutándose ininterrumpidamente durante mucho tiempo, puede usar el comando nohup (sin colgar) de la siguiente manera:

$ nohup python airquality.py &

Una vez que esto se esté ejecutando, vaya a Estado inicial para ver sus datos. Su panel de control debe parecerse a la imagen de abajo. Tiene su ubicación GPS, su valor de índice de calidad del aire y su principal contaminante.

Mi recomendación sería cambiar su valor de AQI a un mosaico de calibre. Además, mueva los mosaicos y cambie el tamaño según sea necesario. Si está usando esto para un tablero integrado, puede moverlos para que se ajusten según sea necesario.

Si decide convertir su valor de AQI en un indicador, puede establecer el umbral de color para que sea similar al gráfico del índice de calidad del aire. Esto le brinda una actualización instantánea sobre dónde cae el valor de AQI en el gráfico cuando revisa su tablero. Puede agregar una imagen de fondo a su tablero para darle más contexto.

De modo que tiene todo lo que necesita para crear un panel de control de la calidad del aire. Pero, ¿qué sucede si desea agregar más o agregar esto a un panel meteorológico que ya ha creado? Si ese es el caso, ¡sigue leyendo!

Paso 5: haz un panel de control del clima total

Hacer un panel de control del tiempo total
Hacer un panel de control del tiempo total

¿Los datos sobre la calidad del aire no son suficientes para usted? Bueno, hay muchas opciones para agregar más a su tablero o transmitir estos datos a un tablero meteorológico que ya tiene.

Transmita el clima y la calidad del aire en un solo tablero

Si ya implementó nuestro proyecto DarkSky API o Hyper-Local Weather Dashboard, puede agregar estos datos de calidad del aire a su panel de control existente. Es bastante simple, todo lo que necesita hacer es cambiar sus parámetros en la secuencia de comandos de calidad del aire para tener el mismo nombre de cubo, clave de cubo y clave de acceso que utilizó para su tablero meteorológico. Esto permitirá que los datos se envíen a ese mismo panel. ¡Ahora tendrás un panel meteorológico total!

Haga que su archivo Weather Python realice una llamada para ejecutar el archivo Python de calidad del aire

Otra opción si no desea ejecutar dos programas separados es colocar el archivo python de calidad del aire en el directorio del proyecto meteorológico. Haga que el archivo python del proyecto meteorológico realice una llamada al archivo de calidad del aire para que se ejecute cuando se esté ejecutando su archivo meteorológico. Nuevamente, asegúrese de poner el mismo nombre de depósito, clave de depósito y clave de acceso para que se ejecuten en el mismo panel de control.

Cree un solo archivo con clima y calidad del aire

Y si se siente realmente audaz, puede poner parte del código de calidad del aire en su script de python meteorológico y tener un único script para ejecutar. Requerirá un poco más de esfuerzo de codificación que las otras dos opciones, pero lo convierte en un programa simplificado.

Transmita información adicional desde la API de AirVisual

Como vio cuando hicimos una llamada a la API de AirVisual, tiene más información que solo la calidad del aire. También proporciona temperatura, humedad, velocidad del viento, dirección del viento y presión atmosférica. Podemos enviar esa información al estado inicial de la misma manera que enviamos el valor del índice de calidad del aire y el contaminante principal. Solo requiere que escriba algunas declaraciones if más.

Recomendado: