Tabla de contenido:

Un monitor de calidad del aire IoT de bajo costo basado en RaspberryPi 4:15 pasos (con imágenes)
Un monitor de calidad del aire IoT de bajo costo basado en RaspberryPi 4:15 pasos (con imágenes)

Video: Un monitor de calidad del aire IoT de bajo costo basado en RaspberryPi 4:15 pasos (con imágenes)

Video: Un monitor de calidad del aire IoT de bajo costo basado en RaspberryPi 4:15 pasos (con imágenes)
Video: Raspberry Pi & Arduino - Los artesanos del siglo XXI y el movimiento maker. 2024, Mes de julio
Anonim
Un monitor de calidad del aire IoT de bajo costo basado en RaspberryPi 4
Un monitor de calidad del aire IoT de bajo costo basado en RaspberryPi 4
Un monitor de calidad del aire IoT de bajo costo basado en RaspberryPi 4
Un monitor de calidad del aire IoT de bajo costo basado en RaspberryPi 4
Un monitor de calidad del aire IoT de bajo costo basado en RaspberryPi 4
Un monitor de calidad del aire IoT de bajo costo basado en RaspberryPi 4
Un monitor de calidad del aire IoT de bajo costo basado en RaspberryPi 4
Un monitor de calidad del aire IoT de bajo costo basado en RaspberryPi 4

Santiago de Chile durante una emergencia ambiental invernal tiene el privilegio de vivir en uno de los países más hermosos del mundo, pero desafortunadamente, no todo son rosas. Chile durante la temporada de invierno sufre mucho con la contaminación del aire, principalmente debido a materiales particulados como polvo y smog.

Debido al frío, en el sur, la contaminación del aire se debe principalmente a los calefactores a base de madera y en Santiago (la principal capital del centro del país) mezcla de industrias, automóviles y su situación geográfica única entre 2 enormes cadenas montañosas.

Hoy en día, la contaminación del aire es un gran problema en todo el mundo y en este artículo exploraremos cómo desarrollar un monitor de calidad del aire casero de bajo costo, basado en una Raspberry Pi. Si está interesado en obtener más información sobre la calidad del aire, visite el proyecto “Índice mundial de calidad del aire”.

Suministros

  • Frambuesa pi 4
  • 1SDS011 - Sensor láser de detección de calidad del aire pm2.5 de alta precisión
  • Caja de plástico

Paso 1: Material particulado (PM): ¿Qué es? ¿Cómo llega al aire?

Material particulado (PM): ¿Qué es? ¿Cómo llega al aire?
Material particulado (PM): ¿Qué es? ¿Cómo llega al aire?

Entonces, para entender la contaminación o contaminación del aire, debemos estudiar las partículas que están relacionadas con eso, lo que también se conoce como material particulado. Observando los gráficos del apartado anterior podemos observar que mencionaron PM2.5 y PM10. Démosle una descripción general rápida de eso.

PM significa materia particulada (también llamada contaminación por partículas): el término para una mezcla de partículas sólidas y gotitas líquidas que se encuentran en el aire. Algunas partículas, como el polvo, la suciedad, el hollín o el humo, son lo suficientemente grandes u oscuras para ser vistas a simple vista. Otros son tan pequeños que solo se pueden detectar con un microscopio electrónico. Las partículas vienen en una amplia gama de tamaños. Las partículas menores o iguales a 10 micrómetros de diámetro son tan pequeñas que pueden ingresar a los pulmones y causar problemas de salud graves. Diez micrómetros es menos que el ancho de un solo cabello humano.

La contaminación por partículas incluye partículas de polvo grueso (PM10): partículas inhalables, con diámetros que generalmente son de 10 micrómetros y menores. Las fuentes incluyen operaciones de trituración o trituración y polvo que levantan los vehículos en las carreteras. Partículas finas (PM2.5): partículas finas inhalables, con diámetros que generalmente son de 2.5 micrómetros y menores. Las partículas finas se producen a partir de todos los tipos de combustión, incluidos los vehículos de motor, las plantas de energía, la quema de madera residencial, los incendios forestales, la quema agrícola y algunos procesos industriales. Puede encontrar más información sobre el material particulado en el sitio de la EPA: Agencia de Protección Ambiental de los Estados Unidos

Paso 2: ¿Por qué es importante preocuparse por esas partículas?

¿Por qué es importante preocuparse por esas partículas?
¿Por qué es importante preocuparse por esas partículas?

Como describe GERARDO ALVARADO Z.en su trabajo en la Universidad de Chile, los estudios de episodios de alta contaminación atmosférica en el valle del Mosa (Bélgica) en 1930, Donora (Pensilvania) en 1948 y Londres en 1952 han sido las primeras fuentes documentadas que relacionan la mortalidad. con contaminación por partículas (Préndez, 1993). Los avances en la investigación de los efectos de la contaminación del aire en la salud de las personas han determinado que los riesgos para la salud son causados por partículas inhalables, dependiendo de su penetración y deposición en diferentes secciones del sistema respiratorio y la respuesta biológica a los materiales depositados.

Las partículas más gruesas, alrededor de 5 μm, son filtradas por la acción conjunta de los cilios del pasaje nasal y la mucosa que recubre la cavidad nasal y la tráquea. Las partículas con un diámetro entre 0,5 y 5 μm pueden depositarse en los bronquios e incluso en los alvéolos pulmonares, sin embargo, son eliminadas por los cilios de los bronquios y bronquiolos al cabo de unas horas. Las partículas menores de 0,5 μm pueden penetrar profundamente hasta depositarse en los alvéolos pulmonares, permaneciendo de semanas a años, ya que no existe un mecanismo de transporte mucociliar que facilite la eliminación. La siguiente figura muestra la penetración de las partículas en el sistema respiratorio en función de su tamaño.

Por lo tanto, detectar ambos tipos de partículas (PM2.5 y PM10) es muy importante y la buena noticia es que ambos son legibles por un sensor simple y económico, el SDS011.

Paso 3: El sensor de partículas - SDS011

El sensor de partículas - SDS011
El sensor de partículas - SDS011
El sensor de partículas - SDS011
El sensor de partículas - SDS011

El monitoreo de la calidad del aire es una ciencia bien conocida y establecida que comenzó en los años 80. En ese momento, la tecnología era bastante limitada y la solución utilizada para cuantificar el complejo de contaminación del aire era engorrosa y realmente cara.

Afortunadamente, hoy en día, con las tecnologías más recientes y modernas, las soluciones utilizadas para el monitoreo de la calidad del aire se están volviendo no solo más precisas sino también más rápidas en la medición. Los dispositivos son cada vez más pequeños y cuestan mucho más asequibles que nunca.

En este artículo nos centraremos en un sensor de partículas, que puede detectar la cantidad de polvo en el aire. Si bien la primera generación solo pudo detectar la cantidad de opacidad, los sensores más recientes como el SDS011 de INOVAFIT, un derivado de la Universidad de Jinan (en Shandong), ahora pueden detectar PM2.5 y PM10.

Con su tamaño, el SDS011 es probablemente uno de los mejores sensores en términos de precisión y precio (menos de USD 40,00).

  • Valores medidos: PM2.5, PM10
  • Rango: 0-999,9 μg / m³
  • Voltaje de suministro: 5 V (4,7–5,3 V)
  • Consumo de energía (trabajo): 70mA ± 10mA
  • Consumo de energía (modo de suspensión láser y ventilador): <4mA
  • Temperatura de almacenamiento: -20 a + 60C
  • Temperatura de trabajo: -10 a + 50C
  • Humedad (almacenamiento): Máx. 90%
  • Humedad (trabajo): Max. 70% (la condensación de vapor de agua falsea las lecturas)
  • Precisión: 70% para 0,3 μm y 98% para 0,5 μm
  • Tamaño: 71x70x23 mm
  • Certificación: CE, FCC, RoHS

El SD011 usa la PCB como un lado de la carcasa, lo que permite reducir su costo. El diodo receptor está montado en el lado de la PCB (esto es obligatorio ya que debe evitarse cualquier ruido entre el diodo y el LNA). El láser emisor se monta en la caja de plástico y se conecta a la PCB mediante un cable flexible.

En resumen, Nova Fitness SDS011 es un sensor de polvo láser profesional. El ventilador montado en el sensor succiona aire automáticamente. El sensor utiliza un principio de dispersión de luz láser * para medir el valor de las partículas de polvo suspendidas en el aire. El sensor proporciona lecturas confiables y de alta precisión de los valores de PM2.5 y PM10. Cualquier cambio en el entorno se puede observar casi instantáneamente en tiempos de respuesta cortos por debajo de los 10 segundos. El sensor en modo estándar informa la lectura con un intervalo de 1 segundo.

* Principio de dispersión del láser: se puede inducir la dispersión de la luz cuando las partículas atraviesan el área de detección. La luz dispersa se transforma en señales eléctricas y estas señales serán amplificadas y procesadas. El número y el diámetro de las partículas se pueden obtener mediante análisis porque la forma de onda de la señal tiene ciertas relaciones con el diámetro de las partículas.

Paso 4: ¿Pero cómo el SDS011 puede capturar esas partículas?

Pero, ¿cómo puede el SDS011 capturar esas partículas?
Pero, ¿cómo puede el SDS011 capturar esas partículas?
Pero, ¿cómo puede el SDS011 capturar esas partículas?
Pero, ¿cómo puede el SDS011 capturar esas partículas?

Como se comentó anteriormente, el principio utilizado por SDS011 es la dispersión de luz o mejor, la dispersión de luz dinámica (DLS), que es una técnica en física que se puede utilizar para determinar el perfil de distribución de tamaño de partículas pequeñas en suspensión o polímeros en solución. En el ámbito del DLS, las fluctuaciones temporales se suelen analizar mediante la función de autocorrelación de fotones o intensidad (también conocida como espectroscopia de correlación de fotones o dispersión de luz cuasi elástica). En el análisis en el dominio del tiempo, la función de autocorrelación (ACF) generalmente decae a partir del tiempo de retardo cero, y una dinámica más rápida debido a partículas más pequeñas conduce a una descorrelación más rápida de la traza de intensidad dispersa. Se ha demostrado que la intensidad ACF es la transformada de Fourier del espectro de potencia y, por lo tanto, las mediciones de DLS se pueden realizar igualmente bien en el dominio espectral.

Por encima de una dispersión de luz dinámica hipotética de dos muestras: partículas más grandes (como PM10) en la parte superior y partículas más pequeñas (como PM2.5) en la parte inferior. Y mirando dentro de nuestro sensor, podemos ver cómo se implementa el principio de dispersión de luz.

La señal eléctrica capturada en el diodo va al amplificador de bajo ruido y de ahí se convierte en una señal digital a través de un ADC y al exterior a través de un UART.

Para obtener más información sobre SDS011 en una experiencia científica real, eche un vistazo al trabajo de 2018 de Konstantinos et al, Desarrollo y pruebas en el campo de un sistema portátil de bajo costo para monitorear concentraciones de PM2.5.

Paso 5: ¡Showtime

¡Tiempo de la funcion!
¡Tiempo de la funcion!
¡Tiempo de la funcion!
¡Tiempo de la funcion!

Tomemos un descanso en toda esta teoría y centrémonos en cómo medir las partículas utilizando una Raspberry Pi y el sensor SDS011

De hecho, la conexión HW es muy sencilla. El sensor se vende con un adaptador USB para conectar los datos de salida de su UART de 7 pines con uno de los conectores USB estándar del RPi.

Configuración de pines SDS011:

  • Pin 1 - no conectado
  • Pin 2 - PM2.5: 0–999μg / m³; Salida PWM
  • Pin 3–5 V
  • Pin 4 - PM10: 0–999 μg / m³; Salida PWM
  • Pin 5 - GND
  • Pin 6 - RX UART (TTL) 3.3V
  • Pin 7 - TX UART (TTL) 3.3V

Para este tutorial, estoy usando por primera vez una nueva Raspberry-Pi 4. Pero, por supuesto, cualquier modelo anterior también funcionará bien.

Tan pronto como conectes el sensor en uno de los puertos USB del RPi, automáticamente comenzarás a escuchar el sonido de su ventilador. El ruido es un poco molesto, por lo que tal vez debería desenchufarlo y esperar hasta que haya configurado todo con SW.

La comunicación entre el sensor y RPi será a través de un protocolo serial. Los detalles sobre este protocolo se pueden encontrar aquí: Protocolo de control del sensor de polvo láser V1.3. Pero para este proyecto, lo mejor es utilizar una interfaz de Python para simplificar el código a desarrollar. Puede crear su propia interfaz o utilizar algunas que están disponibles en Internet, como la de Frank Heuer o Ivan Kalchev. Usaremos el último, que es muy simple y funciona bien (puedes descargar el script sds011.py desde su GitHub o el mío).

El archivo sds011.py debe estar en el mismo directorio donde creaste tu script.

Durante la fase de desarrollo, usaré un Jupyter Notebook, pero puedes usar cualquier IDE que te guste (Thonny o Geany, por ejemplo, que son parte del paquete Raspberry Pi Debian son muy buenos).

Comience a importar sds011 y cree su instancia de sensor. SDS011 proporciona un método para leer desde el sensor usando un UART.

desde la importación sds011 *

sensor = SDS011 ("/ dev / ttyUSB0")

Puede encender o apagar su sensor con el comando dormir:

pmt_2_5, pmt_10 = sensor.query ()

Espere al menos 10 segundos para la estabilización antes de realizar las mediciones y al menos 2 segundos para iniciar una nueva (consulte el código anterior).

Y esto es todo lo que necesita saber en términos de software para usar el sensor. ¡Pero profundicemos en el control de la calidad del aire! Al comienzo de este artículo, si ha explorado los sitios que brindan información sobre qué tan bueno o malo es el aire, debe darse cuenta de que los colores están asociados con esos valores. Cada color es un índice. El más conocido es el AQI (índice de calidad del aire), que se utiliza en los EE. UU. Y en varios otros países.

Paso 6: Índice de calidad del aire - AQI

Índice de calidad del aire - AQI
Índice de calidad del aire - AQI
Índice de calidad del aire - AQI
Índice de calidad del aire - AQI
Índice de calidad del aire - AQI
Índice de calidad del aire - AQI

El AQI es un índice para informar la calidad del aire diaria. Le indica qué tan limpio o contaminado está su aire y qué efectos asociados a la salud podrían ser motivo de preocupación para usted. El AQI se centra en los efectos sobre la salud que puede experimentar unas pocas horas o días después de respirar aire contaminado.

La EPA (la Agencia de Protección Ambiental de los Estados Unidos), por ejemplo, calcula el AQI no solo para la contaminación por partículas (PM2.5 y PM10) sino también para los otros contaminantes del aire importantes regulados por la Ley de Aire Limpio: ozono a nivel del suelo, monóxido de carbono, dióxido de azufre y dióxido de nitrógeno. Para cada uno de estos contaminantes, la EPA ha establecido estándares nacionales de calidad del aire para proteger la salud pública. Vea la imagen de arriba con los valores de AQI, los colores y el mensaje de salud asociados.

Como se comentó anteriormente esos valores y colores del AQI están relacionados con cada uno de los agentes contaminantes, pero ¿cómo asociar los valores generados por los sensores con ellos? Una tabla adicional los conecta a todos como se muestra arriba.

Pero, por supuesto, no tiene sentido hacer uso de una tabla así. Al final, es un simple algoritmo matemático el que realiza el cálculo. Para eso, importaremos la biblioteca para convertir entre valor AQI y concentración de contaminante (µg / m³): python-aqi.

Instale la biblioteca usando PIP y haga una prueba (vea el código anterior)

pip instalar python-aqi

¿Y Chile?

En Chile se utiliza un índice similar, el ICAP: Índice de calidad del aire para partículas respirables. Un Decreto Supremo 59 de 16 de marzo de 1998, del Ministerio Secretario General de la Presidencia de la República, establece en su artículo 1, letra g) que los niveles que definen el ICA de Material Particulado Transpirable, ICAP.

Los valores variarán linealmente entre las secciones, el valor 500 correspondería al valor límite por encima del cual existiría un riesgo para la población al ser expuesta a estas concentraciones. Según los valores del ICAP, se han establecido categorías que califican los niveles de concentración de MP10 a los que estuvieron expuestas las personas.

Paso 7: registro de datos localmente

Registro de datos localmente
Registro de datos localmente
Registro de datos localmente
Registro de datos localmente
Registro de datos localmente
Registro de datos localmente

En este punto, tenemos todas las herramientas para capturar datos del sensor y también convertirlos a un valor más legible, que es el índice AQI.

Creemos una función para capturar esos valores. Capturaremos 3 valores en secuencia tomando el promedio entre ellos:

def get_data (n = 3):

sensor.sleep (sleep = False) pmt_2_5 = 0 pmt_10 = 0 time.sleep (10) para i en el rango (n): x = sensor.query () pmt_2_5 = pmt_2_5 + x [0] pmt_10 = pmt_10 + x [1] time.sleep (2) pmt_2_5 = round (pmt_2_5 / n, 1) pmt_10 = round (pmt_10 / n, 1) sensor.sleep (sleep = True) time.sleep (2) return pmt_2_5, pmt_10 Arriba puede ver el resultado de la prueba. Hagamos también una función para convertir los valores numéricos de PM en el índice AQI

def conv_aqi (pmt_2_5, pmt_10):

aqi_2_5 = aqi.to_iaqi (aqi. POLLUTANT_PM25, str (pmt_2_5)) aqi_10 = aqi.to_iaqi (aqi. POLLUTANT_PM10, str (pmt_10)) return aqi_2_5, aqi_10 por encima del resultado de una prueba con ambas funciones. ¿Pero que hacer con ellos? La respuesta más simple es crear una función para guardar los datos capturados, guardándolos en un archivo local.

def save_log ():

con open ("SU RUTA AQUÍ / air_quality.csv", "a") como registro: dt = datetime.now () log.write ("{}, {}, {}, {}, {} n". formato (dt, pmt_2_5, aqi_2_5, pmt_10, aqi_10)) log.close () Con un solo bucle, puede registrar datos en bases regulares en su archivo local, por ejemplo, cada minuto

while (Verdadero):

pmt_2_5, pmt_10 = get_data () aqi_2_5, aqi_10 = conv_aqi (pmt_2_5, pmt_10) try: save_log () excepto: print ("[INFO] Fallo en el registro de datos") time.sleep (60) Cada 60 segundos, la marca de tiempo más los datos se “agregarán” a este archivo, como podemos ver arriba.

Paso 8: envío de datos a un servicio en la nube

Envío de datos a un servicio en la nube
Envío de datos a un servicio en la nube

En este punto, hemos aprendido cómo capturar datos del sensor, guardándolos en un archivo CSV local. Ahora es el momento de ver cómo enviar esos datos a una plataforma de IoT. En este tutorial, usaremos ThingSpeak.com.

“ThingSpeak es una aplicación de Internet de las cosas (IoT) de código abierto para almacenar y recuperar datos de cosas, utilizando REST y API de MQTT. ThingSpeak permite la creación de aplicaciones de registro de sensores, aplicaciones de rastreo de ubicación y una red social de cosas con actualizaciones de estado.

Primero, debe tener una cuenta en ThinkSpeak.com. A continuación, siga las instrucciones para crear un canal, tomando nota de su ID de canal y la clave de API de escritura.

Al crear el canal, también debes definir qué información se subirá a cada uno de los 8 campos, como se muestra arriba (en nuestro caso solo se usarán 4 de ellos).

Paso 9: Protocolo MQTT y conexión ThingSpeak

Protocolo MQTT y conexión ThingSpeak
Protocolo MQTT y conexión ThingSpeak

MQTT es una arquitectura de publicación / suscripción que se desarrolló principalmente para conectar dispositivos con ancho de banda y con limitaciones de energía a través de redes inalámbricas. Es un protocolo simple y liviano que se ejecuta sobre sockets TCP / IP o WebSockets. MQTT sobre WebSockets se puede proteger con SSL. La arquitectura de publicación / suscripción permite que los mensajes se envíen a los dispositivos del cliente sin que el dispositivo tenga que sondear continuamente el servidor.

El corredor MQTT es el punto central de comunicación y está a cargo de enviar todos los mensajes entre los remitentes y los destinatarios legítimos. Un cliente es cualquier dispositivo que se conecta al corredor y puede publicar o suscribirse a temas para acceder a la información. Un tema contiene información de enrutamiento para el intermediario. Cada cliente que quiere enviar mensajes los publica en un tema determinado, y cada cliente que quiere recibir mensajes se suscribe a un tema determinado. El corredor entrega todos los mensajes con el tema correspondiente a los clientes apropiados.

ThingSpeak ™ tiene un intermediario MQTT en la URL mqtt.thingspeak.com y el puerto 1883. El intermediario ThingSpeak admite tanto la publicación MQTT como la suscripción MQTT.

En nuestro caso, usaremos MQTT Publish.

Paso 10: publicación de MQTT

Publicar MQTT
Publicar MQTT

Para comenzar, instalemos la biblioteca cliente Eclipse Paho MQTT Python, que implementa las versiones 3.1 y 3.1.1 del protocolo MQTT

sudo pip instalar paho-mqtt

A continuación, importemos la biblioteca de ops:

importar paho.mqtt.publish como publicar

e iniciar el canal Thingspeak y el protocolo MQTT. Este método de conexión es el más simple y requiere la menor cantidad de recursos del sistema:

channelID = "SU ID DE CANAL"

apiKey = "SU CLAVE DE ESCRITURA" topic = "canales /" + channelID + "/ publish /" + apiKey mqttHost = "mqtt.thingspeak.com" Ahora debemos definir nuestra "carga útil"

tPayload = "field1 =" + str (pmt_2_5) + "& field2 =" + str (aqi_2_5) + "& field3 =" + str (pmt_10) + "& field4 =" + str (aqi_10)

¡Y eso es! ¡Estamos listos para comenzar a enviar datos a la nube! Reescribamos la función de bucle anterior para incluir también la parte ThingSpeak.

# Envío de todos los datos a ThingSpeak cada 1 minuto

while (Verdadero): pmt_2_5, pmt_10 = get_data () aqi_2_5, aqi_10 = conv_aqi (pmt_2_5, pmt_10) tPayload = "field1 =" + str (pmt_2_5) + "& field2 =" + str (aqi_2_5) + str & field (pmt_10) + "& field4 =" + str (aqi_10) try: publish.single (topic, payload = tPayload, hostname = mqttHost, port = tPort, tls = tTLS, transport = tTransport) save_log () excepto: print ("[INFO] Error al enviar datos ") time.sleep (60) Si todo está bien, debe ver que los datos también aparecen en su canal en thingspeak.com como se muestra arriba.

Paso 11: el guión final

Es importante señalar que Jupyter Notebook es una muy buena herramienta de desarrollo y reporte, pero no para crear un código para poner en producción. Lo que debe hacer ahora es tomar la parte relevante del código y crear un script.py y ejecutarlo en su terminal.

Por ejemplo, "ts_air_quality_logger.py", que debe ejecutar con el comando:

python 3 ts_air_quality_logger.py

Este script, así como el Jupyter Notebook y el sds011.py se pueden encontrar en mi repositorio en RPi_Air_Quality_Sensor.

Tenga en cuenta que este script solo se puede probar. Lo mejor es no usar retrasos dentro del ciclo final (que ponen el código en "pausa"), en su lugar use temporizadores. O para una aplicación real, lo mejor es no usar el bucle, tener Linux programado para ejecutar el script de forma regular con crontab.

Paso 12: Sacar el monitor al exterior

Llevar el monitor al exterior
Llevar el monitor al exterior
Llevar el monitor al exterior
Llevar el monitor al exterior
Llevar el monitor al exterior
Llevar el monitor al exterior
Llevar el monitor al exterior
Llevar el monitor al exterior

Una vez que mi monitor Raspberry Pi Air Quality estuvo funcionando, monté el RPi dentro de una caja de plástico, mantuve el sensor afuera y lo coloqué fuera de mi casa.

Se hicieron dos experiencias.

Paso 13: combustión del motor de gasolina

Combustión de motor de gasolina
Combustión de motor de gasolina
Combustión de motor de gasolina
Combustión de motor de gasolina

El sensor se colocó a 1 m del escape de gas de la Lambretta y se encendió el motor. El motor estuvo funcionando durante un par de minutos y se apagó. Del archivo de registro anterior, el resultado que obtuve. Es interesante confirmar que PM2.5 fue la partícula más peligrosa que resultó del motor.

Paso 14: Quema de madera

Madera quemandose
Madera quemandose
Madera quemandose
Madera quemandose

Al mirar el archivo de registro, nos damos cuenta de que los datos del sensor estaban momentáneamente "fuera de rango" y no fueron bien capturados por la biblioteca de conversión AQI, por lo que cambio el código anterior para manejarlo:

def conv_aqi (pmt_2_5, pmt_10):

prueba: aqi_2_5 = aqi.to_iaqi (aqi. POLLUTANT_PM25, str (pmt_2_5)) aqi_10 = aqi.to_iaqi (aqi. POLLUTANT_PM10, str (pmt_10)) return aqi_2_5, aqi 600, 600 excepto: Esta situación puede ocurrir en el campo, lo cual está bien. Recuerde que, de hecho, debe usar el promedio móvil para obtener realmente el AQI (al menos por hora, pero generalmente a diario).

Paso 15: Conclusión

Conclusión
Conclusión

Como siempre, espero que este proyecto pueda ayudar a otros a encontrar su camino hacia el apasionante mundo de la electrónica y la ciencia de datos.

Para obtener detalles y el código final, visite mi depósito de GitHub: RPi_Air_Quality_Sensor.

¡Saludos desde el sur del mundo!

¡Nos vemos en mi próximo instructable!

Gracias, Marcelo

Recomendado: