Taula de continguts:

Un monitor de qualitat de l’aire IoT de baix cost basat en RaspberryPi 4: 15 Passos (amb imatges)
Un monitor de qualitat de l’aire IoT de baix cost basat en RaspberryPi 4: 15 Passos (amb imatges)

Vídeo: Un monitor de qualitat de l’aire IoT de baix cost basat en RaspberryPi 4: 15 Passos (amb imatges)

Vídeo: Un monitor de qualitat de l’aire IoT de baix cost basat en RaspberryPi 4: 15 Passos (amb imatges)
Vídeo: Leap Motion SDK 2024, De novembre
Anonim
Un monitor de qualitat de l’aire IoT de baix cost basat en RaspberryPi 4
Un monitor de qualitat de l’aire IoT de baix cost basat en RaspberryPi 4
Un monitor de qualitat de l’aire IoT de baix cost basat en RaspberryPi 4
Un monitor de qualitat de l’aire IoT de baix cost basat en RaspberryPi 4
Un monitor de qualitat de l’aire IoT de baix cost basat en RaspberryPi 4
Un monitor de qualitat de l’aire IoT de baix cost basat en RaspberryPi 4
Un monitor de qualitat de l’aire IoT de baix cost basat en RaspberryPi 4
Un monitor de qualitat de l’aire IoT de baix cost basat en RaspberryPi 4

Santiago, Xile, durant una emergència ambiental hivernal, té el privilegi de viure en un dels països més bells del món, però malauradament no tot són roses. Xile durant la temporada d’hivern pateix molt la contaminació de l’aire, principalment a causa de materials particulats com la pols i el boirum.

A causa del clima fred, al sud, la contaminació de l’aire es deu principalment a calefactors de fusta i a Santiago (la principal capital del centre del país) barrejada entre indústries, automòbils i la seva situació geogràfica única entre 2 enormes cadenes muntanyoses.

Avui en dia, la contaminació de l’aire és un gran problema a tot el món i en aquest article explorarem com desenvolupar un monitor de qualitat de l’aire casolà de baix cost, basat en un Raspberry Pi. Si esteu interessats en conèixer més sobre la qualitat de l'aire, visiteu el projecte "Índex mundial de qualitat de l'aire".

Subministraments

  • Raspberry Pi 4
  • 1SDS011 - Sensor làser d'alta precisió pm2.5 de detecció de qualitat de l'aire
  • Caixa de plàstic

Pas 1: Matèria de partícules (PM): què és? Com entra a l'aire?

Matèria de partícules (PM): què és? Com entra a l'aire?
Matèria de partícules (PM): què és? Com entra a l'aire?

Per tant, per entendre la contaminació o la contaminació de l’aire, hem d’estudiar les partícules relacionades amb això, que també es coneix com a partícules. Observant els gràfics de l’apartat anterior podem observar que esmentaven PM2.5 i PM10. Donem-ne una visió ràpida.

PM significa partícules (també anomenades contaminació per partícules): el terme per a una barreja de partícules sòlides i gotes de líquid que es troben a l’aire. Algunes partícules, com ara pols, brutícia, sutge o fum, són prou grans o fosques com per veure-les a simple vista. Altres són tan petites que només es poden detectar mitjançant un microscopi electrònic. Les partícules presenten una àmplia gamma de mides. Les partícules de diàmetre inferior o igual a 10 micròmetres són tan petites que poden arribar als pulmons, cosa que pot causar greus problemes de salut. Deu micròmetres és inferior a l’amplada d’un sol cabell humà.

La contaminació per partícules inclou les partícules de pols gruixuda (PM10): partícules inhalables, amb diàmetres generalment de 10 micròmetres i menors. Entre les fonts s’inclouen les operacions de trituració o trituració i la pols agitada pels vehicles a les carreteres. Partícules fines (PM2,5): partícules fines inhalables, amb diàmetres generalment inferiors a 2,5 micròmetres. Les partícules fines es produeixen a partir de tot tipus de combustió, inclosos vehicles de motor, centrals elèctriques, cremades de llenya residencials, incendis forestals, cremes agrícoles i alguns processos industrials. Podeu obtenir més informació sobre les partícules al lloc de l'EPA: The United States Environmental Protection Agency

Pas 2: per què és important preocupar-se per aquestes qüestions de partícules?

Per què és important preocupar-se per aquestes qüestions de partícules?
Per què és important preocupar-se per aquestes qüestions de partícules?

Tal com va descriure GERARDO ALVARADO Z. en el seu treball a la Universitat de Xile, els estudis d’episodis d’alta contaminació atmosfèrica a la vall de la Mosa (Bèlgica) el 1930, a Donora (Pennsilvània) el 1948 i a Londres el 1952 han estat les primeres fonts documentades que relacionaven la mortalitat amb contaminació de partícules (Préndez, 1993). Els avenços en la investigació dels efectes de la contaminació atmosfèrica sobre la salut de les persones han determinat que els riscos per a la salut són causats per partícules inhalables, en funció de la seva penetració i deposició en diferents seccions del sistema respiratori i de la resposta biològica als materials dipositats.

Les partícules més gruixudes, d’uns 5 μm, es filtren per l’acció conjunta dels cilis del passatge nasal i de la mucosa que cobreix la cavitat nasal i la tràquea. Les partícules amb un diàmetre d’entre 0,5 i 5 μm es poden dipositar als bronquis i fins i tot als alvèols pulmonars, però, són eliminades pels cilis de bronquis i bronquíols al cap d’unes hores. Les partícules menors de 0,5 μm poden penetrar profundament fins que es dipositen als alvèols pulmonars, romanent de setmanes a anys, ja que no hi ha cap mecanisme de transport mucociliar que faciliti l'eliminació. La figura següent mostra la penetració de les partícules al sistema respiratori en funció de la seva mida.

Per tant, detectar ambdós tipus de partícules (PM2.5 i PM10) són molt importants i la bona notícia és que ambdues són llegibles per un senzill i no car sensor, el SDS011.

Pas 3: el sensor de partícules: SDS011

El sensor de partícules - SDS011
El sensor de partícules - SDS011
El sensor de partícules - SDS011
El sensor de partícules - SDS011

El control de la qualitat de l’aire és una ciència ben coneguda i consolidada que va començar als anys 80. En aquell moment, la tecnologia era bastant limitada i la solució que s’utilitzava per quantificar el complex de contaminació de l’aire, feixuga i realment cara.

Afortunadament, avui en dia, amb les tecnologies més recents i modernes, les solucions que s’utilitzen per al control de la qualitat de l’aire són cada vegada més precises, però també més ràpides en la mesura. Els dispositius són cada vegada més petits i costen molt més assequibles que mai.

En aquest article ens centrarem en un sensor de partícules, que pot detectar la quantitat de pols que hi ha a l'aire. Tot i que la primera generació va ser capaç de detectar la quantitat d’opacitat, els sensors més recents com el SDS011 d’INOVAFIT, una derivació de la Universitat de Jinan (a Shandong), ara poden detectar PM2.5 i PM10.

Amb la seva mida, el SDS011 és probablement un dels millors sensors en termes de precisió i preu (menys de 40,00 USD).

  • Valors mesurats: PM2.5, PM10
  • Rang: 0–999,9 μg / m³
  • Tensió d'alimentació: 5V (4,7-5,3V)
  • Consum d'energia (treball): 70mA ± 10mA
  • Consum d'energia (làser i ventilador en mode de repòs): <4mA
  • Temperatura d’emmagatzematge: -20 a + 60C
  • Temperatura de treball: -10 a + 50 ° C
  • Humitat (emmagatzematge): màx. 90%
  • Humitat (treball): màx. 70% (la condensació del vapor d’aigua falsifica les lectures)
  • Precisió: 70% per a 0,3 μm i 98% per a 0,5 μm
  • Mides: 71x70x23 mm
  • Certificació: CE, FCC, RoHS

El SD011 utilitza el PCB com un dels costats de la carcassa, cosa que permet reduir el seu cost. El díode receptor està muntat al costat del PCB (això és obligatori ja que s’ha d’evitar qualsevol soroll entre el díode i l’LNA). El làser emissor es munta a la caixa de plàstic i es connecta a la PCB mitjançant un cable flexible.

En resum, Nova Fitness SDS011 és un sensor de pols làser professional. El ventilador muntat al sensor aspira automàticament l’aire. El sensor utilitza un principi de dispersió de llum làser * per mesurar el valor de les partícules de pols suspeses a l'aire. El sensor proporciona lectures fiables i d’alta precisió dels valors PM2.5 i PM10. Qualsevol canvi en l'entorn es pot observar gairebé instantàniament amb un temps de resposta inferior a 10 segons. El sensor en mode estàndard informa de la lectura amb un interval d’1 segon.

* Principi de dispersió làser: la dispersió de la llum es pot induir quan les partícules passen per l'àrea de detecció. La llum dispersa es transforma en senyals elèctrics i aquests senyals seran amplificats i processats. El nombre i el diàmetre de les partícules es poden obtenir mitjançant anàlisis perquè la forma d'ona del senyal té certes relacions amb el diàmetre de les partícules.

Pas 4: però, com l'SDS011 pot capturar aquestes partícules?

Però, com l’SDS011 pot capturar aquestes partícules?
Però, com l’SDS011 pot capturar aquestes partícules?
Però, com l’SDS011 pot capturar aquestes partícules?
Però, com l’SDS011 pot capturar aquestes partícules?

Com es va comentar abans, el principi utilitzat per SDS011 és la dispersió de la llum o millor, Dynamic Light Scattering (DLS), que és una tècnica en física que es pot utilitzar per determinar el perfil de distribució de mida de petites partícules en suspensió o polímers en solució. En l’àmbit del DLS, les fluctuacions temporals solen analitzar-se mitjançant la funció d’autocorrelació d’intensitat o fotó (també coneguda com espectroscòpia de correlació de fotons o dispersió de llum quasi elàstica). En l’anàlisi del domini del temps, la funció d’autocorrelació (ACF) normalment decau a partir d’un temps de retard zero i una dinàmica més ràpida a causa de les partícules més petites condueix a una descorrelació més ràpida de la traça d’intensitat dispersa. S'ha demostrat que la intensitat ACF és la transformada de Fourier de l'espectre de potència i, per tant, les mesures DLS es poden realitzar igualment bé en el domini espectral.

Per sobre d'una hipotètica dispersió de llum dinàmica de dues mostres: partícules més grans (com PM10) a la part superior i partícules més petites (com PM2.5) a la part inferior. I mirant dins del nostre sensor, podem veure com s’implementa el principi de dispersió de llum.

El senyal elèctric capturat al díode va a l'amplificador de baix soroll i, a partir d'aquest, es converteix en un senyal digital mitjançant un ADC i a l'exterior mitjançant un UART.

Per obtenir més informació sobre SDS011 sobre una experiència científica real, mireu el treball del 2018 de Konstantinos et al, Desenvolupament i proves de camp de sistemes portàtils de baix cost per al control de concentracions de PM2.5.

Pas 5: Showtime

Temps d’espectacle!
Temps d’espectacle!
Temps d’espectacle!
Temps d’espectacle!

Fem una pausa en tota aquesta teoria i ens centrem en com mesurar les partícules mitjançant un Raspberry Pi i el sensor SDS011

La connexió HW és de fet molt senzilla. El sensor es ven amb un adaptador USB per connectar les dades de sortida dels seus 7 pins UART amb un dels connectors USB estàndard del RPi.

Fixació SDS011:

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

Per a aquest tutorial, estic utilitzant per primera vegada un Raspberry-Pi 4. nou, però, per descomptat, qualsevol model anterior també funcionarà bé.

Tan aviat com connecteu el sensor en un dels ports USB RPi, començareu a escoltar automàticament el so del ventilador. El soroll és una mica molest, de manera que potser hauríeu de desconnectar-lo i esperar fins que tingueu tot preparat amb SW.

La comunicació entre el sensor i RPi es farà mitjançant un protocol en sèrie. Podeu trobar detalls sobre aquest protocol aquí: Protocol de control del sensor làser de pols V1.3. Però per a aquest projecte, el millor és utilitzar una interfície python per simplificar el codi a desenvolupar. Podeu crear la vostra pròpia interfície o fer-ne servir algunes que estiguin disponibles a Internet, com ara Frank Heuer o Ivan Kalchev. Utilitzarem l'últim, que és molt senzill i funciona bé (podeu descarregar l'script sds011.py des del seu GitHub o el meu).

El fitxer sds011.py ha de ser al mateix directori on heu creat el script.

Durant la fase de desenvolupament, faré servir un bloc de notes Jupyter, però podeu utilitzar qualsevol IDE que vulgueu (Thonny o Geany, per exemple, que formen part del paquet Debian de Raspberry Pi són tots dos bons).

Comenceu a importar sds011 i a crear la vostra instància de sensor. SDS011 proporciona un mètode per llegir des del sensor mitjançant un UART.

des de la importació sds011 *

sensor = SDS011 ("/ dev / ttyUSB0")

Podeu activar o desactivar el sensor amb l'ordre sleep:

pmt_2_5, pmt_10 = sensor.query ()

Espereu com a mínim 10 segons per obtenir una estabilització abans de realitzar les mesures i com a mínim 2 segons per iniciar-ne un de nou (vegeu el codi anterior).

I això és tot el que heu de saber en termes de SW per utilitzar el sensor. Però aprofundim en el control de qualitat de l’aire. Al principi d’aquest article, si heu explorat els llocs que ofereixen informació sobre com de bo o dolent és l’aire, us heu d’adonar que els colors estan associats a aquests valors. Cada color és un índex. El més conegut és l'AQI (índex de qualitat de l'aire), que s'utilitza als Estats Units i en diversos altres països.

Pas 6: Índex de qualitat de l'aire: AQI

Índex de qualitat de l'aire - AQI
Índex de qualitat de l'aire - AQI
Índex de qualitat de l'aire - AQI
Índex de qualitat de l'aire - AQI
Índex de qualitat de l'aire - AQI
Índex de qualitat de l'aire - AQI

L'AQI és un índex per informar de la qualitat diària de l'aire. T’indica fins a quin punt està net o contaminat el teu aire i quins efectes associats a la salut et poden preocupar. L'AQI se centra en els efectes sobre la salut que podeu experimentar en poques hores o dies després de respirar aire contaminat.

EPA (l'Agència de Protecció del Medi Ambient dels Estats Units), per exemple, calcula l'AQI no només per a la contaminació de partícules (PM2.5 i PM10), sinó també per als altres principals contaminants atmosfèrics regulats per la Llei de l'aire net: ozó a nivell del sòl, monòxid de carboni, diòxid de sofre i diòxid de nitrogen. Per a cadascun d’aquests contaminants, l’EPA ha establert normes nacionals de qualitat de l’aire per protegir la salut pública. Vegeu la imatge superior amb valors AQI, colors i missatge de salut associats.

Com s'ha comentat abans, aquests valors i colors de l'AQI estan relacionats amb cadascun dels agents contaminants, però com associar-hi els valors generats pels sensors? Una taula addicional els connecta a tots tal com es mostra més amunt.

Però, per descomptat, no té sentit fer ús d’aquesta taula. Al final, és un simple algorisme matemàtic que fa el càlcul. Per a això, importarem la biblioteca per convertir entre el valor AQI i la concentració de contaminants (µg / m³): python-aqi.

Instal·leu la biblioteca mitjançant PIP i feu una prova (vegeu el codi anterior)

pip instal·lar python-aqi

I què dir de Xile?

A Xile s’utilitza un índex similar, l’ICAP: Índex de qualitat de l’aire per a partícules transpirables. Un decret suprem 59, del 16 de març de 1998, del secretari general del Ministeri de la Presidència de la República, estableix en el seu article 1, lletra g) que els nivells que defineixen l’ACI per al material de partícules transpirables, ICAP.

Els valors variaran linealment entre seccions, el valor 500 correspondria al valor límit sobre el qual hi hauria risc per a la població quan s’exposés a aquestes concentracions. Segons els valors de l'ICAP, s'han establert categories que qualifiquen els nivells de concentració de MP10 a què estaven exposades les persones.

Pas 7: registre de dades localment

Registre de dades localment
Registre de dades localment
Registre de dades localment
Registre de dades localment
Registre de dades localment
Registre de dades localment

En aquest moment, tenim totes les eines per capturar dades del sensor i també convertir-les per obtenir un "valor més llegible", que és l'índex AQI.

Creem una funció per capturar aquests valors. Capturarem 3 valors en seqüència prenent la mitjana entre ells:

def get_data (n = 3):

sensor.sleep (sleep = False) pmt_2_5 = 0 pmt_10 = 0 time.sleep (10) for i in range (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 A sobre podeu veure el resultat de la prova. Fem també una funció per convertir els valors numèrics de PM a l’índex 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)) tornar aqi_2_5, aqi_10 per sobre del resultat d’una prova amb les dues funcions. Però què fer amb ells? La resposta més senzilla és crear una funció per desar les dades capturades, desant-les en un fitxer local

def save_log ():

amb obert ("EL TEU CAMÍ AQUÍ / air_quality.csv", "a") com a registre: dt = datetime.now () log.write ("{}, {}, {}, {}, {} n"). format (dt, pmt_2_5, aqi_2_5, pmt_10, aqi_10)) log.close () Amb un sol bucle, podeu registrar dades en bases regulars al fitxer local, per exemple, cada minut

mentre que (cert):

pmt_2_5, pmt_10 = get_data () aqi_2_5, aqi_10 = conv_aqi (pmt_2_5, pmt_10) try: save_log () except: print ("[INFO] Error en el registre de dades") time.sleep (60) Cada 60 segons, la marca de temps més les dades s'aniran "afegint" a aquest fitxer, tal com podem veure més amunt.

Pas 8: enviament de dades a un servei al núvol

Enviament de dades a un servei al núvol
Enviament de dades a un servei al núvol

En aquest moment, hem après a capturar dades del sensor, desant-les en un fitxer CSV local. Ara, és hora de veure com enviar aquestes dades a una plataforma IoT. En aquest tutorial, utilitzarem ThingSpeak.com.

“ThingSpeak és una aplicació de codi obert d’Internet de les coses (IoT) per emmagatzemar i recuperar dades de coses, mitjançant les API REST i MQTT. ThingSpeak permet la creació d'aplicacions de registre de sensors, aplicacions de seguiment d'ubicacions i una xarxa social de coses amb actualitzacions d'estat.

En primer lloc, heu de tenir un compte a ThinkSpeak.com. A continuació, seguiu les instruccions per crear un canal, prenent nota del seu identificador de canal i de la clau API d'escriptura.

Quan creeu el canal, també heu de definir quina informació es carregarà a cadascun dels vuit camps, tal com es mostra més amunt (en el nostre cas només s’utilitzaran 4 d’ells).

Pas 9: protocol MQTT i connexió ThingSpeak

Protocol MQTT i connexió ThingSpeak
Protocol MQTT i connexió ThingSpeak

MQTT és una arquitectura de publicació / subscripció que es va desenvolupar principalment per connectar dispositius de potència i amplada de banda restringits a través de xarxes sense fils. És un protocol senzill i lleuger que s’executa a través de sockets TCP / IP o WebSockets. MQTT mitjançant WebSockets es pot protegir amb SSL. L’arquitectura de publicació / subscripció permet enviar missatges als dispositius client sense que el dispositiu hagi de fer una consulta contínua del servidor.

El broker MQTT és el punt central de comunicació i s’encarrega d’enviar tots els missatges entre els remitents i els receptors legítims. Un client és qualsevol dispositiu que es connecta al corredor i pot publicar o subscriure's a temes per accedir a la informació. Un tema conté informació d’encaminament per al broker. Cada client que vol enviar missatges els publica a un tema determinat i cada client que vol rebre missatges es subscriu a un tema determinat. El broker lliura tots els missatges amb el tema coincident als clients adequats.

ThingSpeak ™ té un corredor MQTT a l'URL mqtt.thingspeak.com i el port 1883. El corredor ThingSpeak admet la publicació MQTT i la subscripció a MQTT.

En el nostre cas, utilitzarem MQTT Publish.

Pas 10: publicació MQTT

Publicació MQTT
Publicació MQTT

Per començar, instal·leu la biblioteca client Eclipse Paho MQTT Python, que implementa les versions 3.1 i 3.1.1 del protocol MQTT

sudo pip install paho-mqtt

A continuació, importem la biblioteca paho:

importa paho.mqtt.publish com a publica

i iniciar el canal Thingspeak i el protocol MQTT. Aquest mètode de connexió és el més senzill i requereix menys recursos del sistema:

channelID = "EL VOSTRE ID DE CANAL"

apiKey = "LA TEVA CLAU D'ESCRIPTURA" topic = "channels /" + channelID + "/ publish /" + apiKey mqttHost = "mqtt.thingspeak.com" Ara hem de definir la nostra "càrrega útil"

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

I ja està! estem preparats per començar a enviar dades al núvol. Reescrivim la funció de bucle anterior per incloure-hi també la part ThingSpeak.

# Enviament de totes les dades a ThingSpeak cada 1 minut

while (True): 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) + "& field3 =" + str (pmt_10) + "& field4 =" + str (aqi_10) try: publish.single (topic, loadload = tPayload, hostname = mqttHost, port = tPort, tls = tTLS, transport = tTransport) save_log () except: print ("[INFO] Error en l'enviament de dades ") time.sleep (60) Si tot està bé, heu de veure que també apareixen dades al vostre canal a thingspeak.com, tal com es mostra més amunt.

Pas 11: el guió final

És important assenyalar que Jupyter Notebook és una molt bona eina per al desenvolupament i l’informe, però no per crear un codi per posar-lo en producció. El que heu de fer ara és agafar la part corresponent del codi i crear un script.py i executar-lo al vostre terminal.

Per exemple, "ts_air_quality_logger.py", que heu d'executar amb l'ordre:

python 3 ts_air_quality_logger.py

Aquest script, així com el bloc de notes Jupyter i el sds011.py, es poden trobar al meu dipòsit a RPi_Air_Quality_Sensor.

Tingueu en compte que aquest script només és factible per a proves. El millor és no fer servir retards dins del bucle final (que posa el codi a "pausa"), sinó utilitzar temporitzadors. O per a una aplicació real, el millor no és utilitzar el bucle, tenint programat Linux per executar l'script regularment amb crontab.

Pas 12: treure el monitor a l'exterior

Treure el monitor fora
Treure el monitor fora
Treure el monitor fora
Treure el monitor fora
Treure el monitor fora
Treure el monitor fora
Treure el monitor fora
Treure el monitor fora

Un cop el meu monitor de qualitat de l’aire Raspberry Pi funcionava, vaig muntar el RPi dins d’una caixa de plàstic, mantenint el sensor fora i el vaig col·locar fora de casa.

Es van fer dues experiències.

Pas 13: combustió del motor de gasolina

Combustió de motors de gasolina
Combustió de motors de gasolina
Combustió de motors de gasolina
Combustió de motors de gasolina

El sensor es va col·locar a uns 1 m de l’escapament de gas de la Lambretta i el motor es va engegar. El motor va funcionar durant un parell de minuts i es va apagar. Del fitxer de registre anterior, el resultat que he obtingut. És interessant confirmar que PM2.5 era la partícula més perillosa que resultava del motor.

Pas 14: crema de fusta

Crema de fusta
Crema de fusta
Crema de fusta
Crema de fusta

En mirar el fitxer de registre, ens adonem que les dades del sensor eren momentànies "fora de l'interval" i que la biblioteca de conversions AQI no les va capturar bé, de manera que canvio el codi anterior per gestionar-les:

def conv_aqi (pmt_2_5, pmt_10):

try: 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 excepte: return 600, 600 Aquesta situació pot passar al camp, que està bé. Recordeu que, de fet, haureu d’utilitzar la mitjana mòbil per obtenir realment l’AQI (almenys cada hora, però normalment diàriament).

Pas 15: Conclusió

Conclusió
Conclusió

Com sempre, espero que aquest projecte pugui ajudar els altres a endinsar-se en l’apassionant món de l’electrònica i la ciència de dades.

Per obtenir més informació i el codi final, visiteu el meu dipòsit de GitHub: RPi_Air_Quality_Sensor.

Saluts del sud del món!

Ens veiem a la meva propera instrucció!

Gràcies, Marcelo

Recomanat: