Tabla de contenido:
- Paso 1: Comenzando
- Paso 2: API de AirVisual
- Paso 3: estado inicial
- Paso 4: Tablero de control de calidad del aire
- Paso 5: haz un panel de control del clima total
Video: Panel de control API de calidad del aire AirVisual: 5 pasos
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:41
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
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
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
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
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
¿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:
Medidor de calidad del aire interior: 5 pasos (con imágenes)
Medidor de calidad del aire interior: proyecto simple para verificar la calidad del aire en su casa. Dado que últimamente nos quedamos / trabajamos mucho desde casa, podría ser una buena idea monitorear la calidad del aire y recordar cuándo es el momento de abrir la ventana. y toma un poco de aire fresco
Pantalla LED de estado de la calidad del aire de PurpleAir: 4 pasos
Pantalla LED de estado de la calidad del aire de PurpleAir: con los recientes incendios forestales en California, la calidad del aire en San Francisco se ha visto muy afectada. Nos encontramos revisando el mapa de PurpleAir una y otra vez en nuestros teléfonos o computadoras portátiles tratando de ver cuándo el aire era lo suficientemente seguro para abrir la victoria
Sensor de calidad del aire AEROBOT V1.0: 6 pasos (con imágenes)
Sensor de calidad del aire AEROBOT V1.0: Este instructivo trata sobre cómo hacer un sensor de calidad del aire económico y altamente preciso llamado AEROBOT. Este proyecto muestra temperatura, humedad relativa, densidad de polvo PM 2.5 y alertas sobre la calidad del aire del entorno. Utiliza un sensor DHT11
Sensor de calidad del aire usando un Arduino: 4 pasos
Sensor de calidad del aire usando un Arduino: En esta publicación, aprenderemos cómo construir un sensor de calidad del aire simple pero útil. Usaremos el sensor SGP30 junto con el Piksey Pico, aunque el boceto funcionará con casi cualquier placa compatible con Arduino. El video de arriba lo explica a través de t
Construya un sensor de calidad del aire de IoT interno sin necesidad de nube: 10 pasos
Construya un sensor de calidad del aire de IoT interno sin necesidad de nube: la calidad del aire interior o exterior depende de muchas fuentes de contaminación y también del clima.Este dispositivo captura algunos de los parámetros comunes y algunos de los más interesantes mediante el uso de 2 chips de sensor. TemperaturaHumedadPresiónGas orgánicoMicro