Cuprins:

Un monitor de calitate a aerului IoT la preț redus bazat pe RaspberryPi 4: 15 Pași (cu imagini)
Un monitor de calitate a aerului IoT la preț redus bazat pe RaspberryPi 4: 15 Pași (cu imagini)

Video: Un monitor de calitate a aerului IoT la preț redus bazat pe RaspberryPi 4: 15 Pași (cu imagini)

Video: Un monitor de calitate a aerului IoT la preț redus bazat pe RaspberryPi 4: 15 Pași (cu imagini)
Video: Au Uitat Să Oprească Camera De FILMAT! Momente Incredibile Filmate În LIVE 2024, Noiembrie
Anonim
Un monitor de calitate a aerului IoT la preț redus, bazat pe RaspberryPi 4
Un monitor de calitate a aerului IoT la preț redus, bazat pe RaspberryPi 4
Un monitor de calitate a aerului IoT la preț redus, bazat pe RaspberryPi 4
Un monitor de calitate a aerului IoT la preț redus, bazat pe RaspberryPi 4
Un monitor de calitate a aerului IoT la preț redus, bazat pe RaspberryPi 4
Un monitor de calitate a aerului IoT la preț redus, bazat pe RaspberryPi 4
Un monitor de calitate a aerului IoT la preț redus, bazat pe RaspberryPi 4
Un monitor de calitate a aerului IoT la preț redus, bazat pe RaspberryPi 4

Santiago, Chile, în timpul unei urgențe de mediu de iarnă, au privilegiul de a trăi într-una dintre cele mai frumoase țări din lume, dar, din păcate, nu toate sunt trandafiri. Chile, în timpul sezonului de iarnă, suferă foarte mult cu contaminarea aerului, în principal datorită materialelor sub formă de particule precum praful și smogul.

Din cauza vremii reci, în sud, contaminarea aerului se datorează în principal calefactoarelor pe bază de lemn și în Santiago (principala capitală din centrul țării) amestecate din industrii, mașini și situația sa geografică unică între 2 lanțuri uriașe de munți.

În prezent, poluarea aerului este o mare problemă în întreaga lume și în acest articol vom explora cum să dezvoltăm un monitor de calitate a aerului de casă scump, bazat pe un Raspberry Pi. Dacă sunteți interesat să înțelegeți mai multe despre calitatea aerului, vă rugăm să vizitați proiectul „Indicele mondial al calității aerului”.

Provizii

  • Raspberry Pi 4
  • 1SDS011 - Senzor de detectare a calității aerului cu laser de înaltă precizie pm2.5
  • Cutie de plastic

Pasul 1: Particulate (PM): Ce este? Cum intră în aer?

Particulate Matter (PM): Ce este? Cum intră în aer?
Particulate Matter (PM): Ce este? Cum intră în aer?

Deci, pentru a înțelege poluarea sau contaminarea aerului, trebuie să studiem particulele care sunt legate de aceasta, care este, de asemenea, cunoscută sub numele de particule. Privind graficele din secțiunea anterioară putem observa că au menționat PM2.5 și PM10. Să oferim o prezentare rapidă a acestui lucru.

PM înseamnă materii sub formă de particule (numite și poluarea cu particule): termenul pentru un amestec de particule solide și picături de lichid găsite în aer. Unele particule, precum praf, murdărie, funingine sau fum, sunt suficient de mari sau întunecate pentru a fi văzute cu ochiul liber. Altele sunt atât de mici încât pot fi detectate numai cu ajutorul unui microscop electronic. Particulele vin într-o gamă largă de dimensiuni. Particulele cu diametrul mai mic sau egal cu 10 micrometri sunt atât de mici încât pot pătrunde în plămâni, cauzând probleme grave de sănătate. Zece micrometri este mai mică decât lățimea unui singur păr uman.

Poluarea cu particule include particule de praf grosier (PM10): particule inhalabile, cu diametre care sunt în general de 10 micrometri și mai mici. Sursele includ operații de zdrobire sau măcinare și praf agitat de vehicule pe drumuri. Particule fine (PM2.5): particule fine inhalabile, cu diametre care sunt în general de 2,5 micrometri și mai mici. Particulele fine sunt produse din toate tipurile de combustie, inclusiv autovehicule, centrale electrice, ardere lemnoasă rezidențială, incendii forestiere, arsuri agricole și unele procese industriale pe care le puteți găsi mai multe despre particulele de pe site-ul EPA: Agenția pentru Protecția Mediului din Statele Unite

Pasul 2: De ce este important să îți pese de acele probleme particulare?

De ce este important să ai grijă de acele probleme particulare?
De ce este important să ai grijă de acele probleme particulare?

După cum este descris de GERARDO ALVARADO Z. în lucrarea sa la Universitatea din Chile, studiile privind episoadele de poluare a aerului ridicate în Valea Meuse (Belgia) în 1930, Donora (Pennsylvania) în 1948 și Londra în 1952 au fost primele surse documentate care au raportat mortalitatea cu contaminare cu particule (Préndez, 1993). Progresele în investigarea efectelor poluării aerului asupra sănătății oamenilor au determinat că riscurile pentru sănătate sunt cauzate de particulele inhalabile, în funcție de penetrarea și depunerea lor în diferite secțiuni ale sistemului respirator și de răspunsul biologic la materialele depuse.

Cele mai groase particule, de aproximativ 5 μm, sunt filtrate de acțiunea articulară a cililor pasajului nazal și a mucoasei care acoperă cavitatea nazală și traheea. Particulele cu diametrul cuprins între 0,5 și 5 μm pot fi depuse în bronhii și chiar în alveolele pulmonare, cu toate acestea, ele sunt eliminate de ciliile bronhiilor și bronhiolelor după câteva ore. Particulele mai mici de 0,5 μm pot pătrunde profund până când sunt depuse în alveolele pulmonare, rămânând de la săptămâni la ani, deoarece nu există un mecanism de transport mucociliar care să faciliteze eliminarea. Următoarea figură arată penetrarea particulelor din sistemul respirator în funcție de mărimea lor.

Deci, pentru a observa ambele tipuri de particule (PM2.5 și PM10) sunt foarte importante și vestea bună este că ambele sunt lizibile de un senzor simplu și nu scump, SDS011.

Pasul 3: Senzorul de particule - SDS011

Senzorul de particule - SDS011
Senzorul de particule - SDS011
Senzorul de particule - SDS011
Senzorul de particule - SDS011

Monitorizarea calității aerului este o știință bine cunoscută și stabilită, care a început în anii’80. La acea vreme, tehnologia era destul de limitată, iar soluția utilizată pentru cuantificarea complexului de poluare a aerului, greoaie și cu adevărat costisitoare.

Din fericire, în zilele noastre, cu cele mai recente și moderne tehnologii, soluțiile utilizate pentru monitorizarea calității aerului devin nu numai mai precise, ci și mai rapide la măsurare. Dispozitivele sunt din ce în ce mai mici și costă mult mai accesibile ca niciodată.

În acest articol ne vom concentra pe un senzor de particule, care poate detecta cantitatea de praf din aer. În timp ce prima generație a reușit doar să detecteze cantitatea de opacitate, cei mai recenți senzori precum SDS011 de la INOVAFIT, un spin-off de la Universitatea din Jinan (în Shandong), pot detecta acum PM2.5 și PM10.

Cu dimensiunea sa, SDS011 este probabil unul dintre cei mai buni senzori în ceea ce privește precizia și prețul (mai puțin de 40 USD).

  • Valorile măsurate: PM2.5, PM10
  • Interval: 0–999,9 μg / m³
  • Tensiunea de alimentare: 5V (4,7-5,3V)
  • Consum de energie (lucru): 70mA ± 10mA
  • Consum de energie (modul de repaus laser și ventilator): <4mA
  • Temperatura de depozitare: -20 până la + 60C
  • Temperatura de lucru: -10 la + 50C
  • Umiditate (depozitare): Max. 90%
  • Umiditate (lucru): Max. 70% (condensarea vaporilor de apă falsifică citirile)
  • Precizie: 70% pentru 0,3 μm și 98% pentru 0,5 μm
  • Dimensiune: 71x70x23 mm
  • Certificare: CE, FCC, RoHS

SD011 folosește PCB-ul ca pe o parte a carcasei, permițând reducerea costurilor sale. Dioda receptorului este montată pe partea PCB (acest lucru este obligatoriu, deoarece orice zgomot dintre diodă și LNA ar trebui evitat). Emitatorul laser este montat pe cutia de plastic și conectat la PCB printr-un fir flexibil.

Pe scurt, Nova Fitness SDS011 este un senzor profesional de praf cu laser. Ventilatorul montat pe senzor aspiră automat aerul. Senzorul utilizează un principiu de împrăștiere a luminii laser * pentru a măsura valoarea particulelor de praf suspendate în aer. Senzorul oferă citiri de înaltă precizie și fiabilitate ale valorilor PM2.5 și PM10. Orice schimbare a mediului poate fi observată aproape instantaneu, timp de răspuns scurt sub 10 secunde. Senzorul în modul standard raportează citirea cu un interval de 1 secundă.

* Principiul de împrăștiere cu laser: împrăștierea luminii poate fi indusă atunci când particulele trec prin zona de detectare. Lumina împrăștiată este transformată în semnale electrice și aceste semnale vor fi amplificate și procesate. Numărul și diametrul particulelor pot fi obținute prin analiză, deoarece forma de undă a semnalului are anumite relații cu diametrul particulelor.

Pasul 4: Dar cum SDS011 poate captura acele particule?

Dar cum SDS011 poate captura acele particule?
Dar cum SDS011 poate captura acele particule?
Dar cum SDS011 poate captura acele particule?
Dar cum SDS011 poate captura acele particule?

După cum s-a comentat anterior, principiul folosit de SDS011 este împrăștierea luminii sau mai bine, Dynamic Light Scattering (DLS), care este o tehnică în fizică care poate fi utilizată pentru a determina profilul de distribuție a dimensiunii particulelor mici în suspensie sau a polimerilor în soluție. În domeniul DLS, fluctuațiile temporale sunt de obicei analizate prin intermediul funcției de corelare a intensității sau a fotonilor (cunoscută și sub numele de spectroscopie de corelație a fotonilor sau împrăștiere cvasielastică a luminii). În analiza domeniului de timp, funcția de autocorelație (ACF) se descompune, de obicei, începând de la timpul de întârziere zero, iar dinamica mai rapidă datorată particulelor mai mici duce la decorelarea mai rapidă a urmelor de intensitate împrăștiată. S-a demonstrat că intensitatea ACF este transformata Fourier a spectrului de putere și, prin urmare, măsurătorile DLS pot fi la fel de bine efectuate în domeniul spectral.

Deasupra unei împrăștieri dinamice ipotetice a luminii a două probe: particule mai mari (cum ar fi PM10) în partea de sus și particule mai mici (ca PM2.5) în partea de jos. Și uitându-ne în interiorul senzorului nostru, putem vedea cum este implementat principiul dispersiei de lumină.

Semnalul electric captat pe diodă se îndreaptă către amplificatorul cu zgomot redus și de la acesta pentru a fi convertit într-un semnal digital printr-un ADC și în exterior printr-un UART.

Pentru a afla mai multe despre SDS011 despre o experiență științifică reală, vă rugăm să aruncați o privire la activitatea din 2018 a lui Konstantinos și colab., Dezvoltarea și testarea pe teren a unui sistem portabil low-cost pentru monitorizarea concentrărilor PM2.5.

Pasul 5: Showtime

Arată timpul!
Arată timpul!
Arată timpul!
Arată timpul!

Să luăm o pauză în toată această teorie și să ne concentrăm asupra modului de măsurare a particulelor folosind un Raspberry Pi și senzorul SDS011

Conexiunea HW este de fapt foarte simplă. Senzorul este vândut cu un adaptor USB pentru a interfața datele de ieșire de la cei 7 pini UART cu unul dintre conectorii USB standard ai RPi.

Pinout SDS011:

  • Pinul 1 - nu este conectat
  • Pinul 2 - PM2.5: 0–999μg / m³; Ieșire PWM
  • Pin 3–5V
  • Pinul 4 - PM10: 0–999 μg / m³; Ieșire PWM
  • Pinul 5 - GND
  • Pinul 6 - RX UART (TTL) 3.3V
  • Pinul 7 - TX UART (TTL) 3.3V

Pentru acest tutorial, folosesc pentru prima dată un nou Raspberry-Pi 4. Dar, bineînțeles, orice model anterior va funcționa bine.

De îndată ce conectați senzorul la unul dintre porturile USB RPi, veți începe automat să ascultați sunetul ventilatorului său. Zgomotul este puțin enervant, așa că poate ar trebui să îl deconectați și să așteptați până când ați terminat cu SW.

Comunicarea dintre senzor și RPi se va face printr-un protocol serial. Detalii despre acest protocol găsiți aici: Protocolul de control al senzorului de praf cu laser V1.3. Dar pentru acest proiect, cel mai bine este să folosiți o interfață python pentru a simplifica codul care urmează să fie dezvoltat. Puteți crea propria interfață sau puteți utiliza unele care sunt disponibile pe internet, precum Frank Heuer sau Ivan Kalchev. O vom folosi pe ultima, care este foarte simplă și funcționează bine (puteți descărca scriptul sds011.py de pe GitHub sau din al meu).

Fișierul sds011.py trebuie să se afle în același director în care creați scriptul.

În faza de dezvoltare, voi folosi un Notebook Jupyter, dar puteți utiliza orice IDE care vă place (Thonny sau Geany, de exemplu, care fac parte din pachetul Debian Raspberry Pi sunt ambele foarte bune).

Începeți să importați sds011 și să creați instanța senzorului. SDS011 oferă o metodă de citire din senzor folosind un UART.

din import sds011 *

senzor = SDS011 ("/ dev / ttyUSB0")

Puteți porni sau opri senzorul cu comanda sleep:

pmt_2_5, pmt_10 = sensor.query ()

Așteptați cel puțin 10 secunde pentru stabilizare înainte de măsurători și cel puțin 2 secunde pentru a începe una nouă (a se vedea codul de mai sus).

Și acesta este tot ce trebuie să știți în termeni de SW pentru a utiliza senzorul. Dar să aprofundăm controlul calității aerului! La începutul acestui articol, dacă ați explorat site-urile care oferă informații despre cât de bun sau rău este aerul, ar trebui să vă dați seama că culorile sunt asociate cu aceste valori. Fiecare culoare este un Index. Cea mai cunoscută dintre acestea este AQI (Air Quality Index), utilizat în SUA și în alte câteva țări.

Pasul 6: Indicele calității aerului - AQI

Indicele calității aerului - AQI
Indicele calității aerului - AQI
Indicele calității aerului - AQI
Indicele calității aerului - AQI
Indicele calității aerului - AQI
Indicele calității aerului - AQI

AQI este un indice pentru raportarea calității zilnice a aerului. Vă spune cât de curat sau poluat este aerul dvs. și ce efecte asociate asupra sănătății ar putea fi o preocupare pentru dvs. AQI se concentrează pe efectele asupra sănătății pe care le puteți experimenta în câteva ore sau zile după respirația aerului poluat.

EPA (Agenția pentru Protecția Mediului din Statele Unite), de exemplu, calculează AQI nu numai pentru poluarea cu particule (PM2.5 și PM10), ci și pentru ceilalți poluanți principali ai aerului reglementați de Legea aerului curat: ozon la sol, monoxid de carbon, dioxid de sulf și dioxid de azot. Pentru fiecare dintre acești poluanți, EPA a stabilit standarde naționale de calitate a aerului pentru a proteja sănătatea publică. Vedeți imaginea de mai sus cu valorile AQI, culorile și mesajul de sănătate asociate.

Așa cum am comentat anterior, valorile și culorile AQI sunt legate de fiecare dintre agenții poluanți, dar cum să asociați valorile generate de senzori cu aceștia? Un tabel suplimentar le conectează pe toate așa cum se arată mai sus.

Dar, desigur, nu are sens să folosim un astfel de tabel. În cele din urmă, este un algoritm matematic simplu care face calculul. Pentru aceasta, vom importa biblioteca pentru a converti între valoarea AQI și concentrația de poluanți (µg / m³): python-aqi.

Instalați biblioteca utilizând PIP și efectuați un test (a se vedea codul de mai sus)

pip instalează python-aqi

Și ce zici de Chile?

În Chile se folosește un indice similar, ICAP: Indicele calității aerului pentru particulele respirabile. Un Decret Suprem 59 din 16 martie 1998, al secretarului general al Ministerului Președinției Republicii, stabilește în articolul 1 litera g) că nivelurile care definesc ICA pentru materialul din particule respirabile, ICAP.

Valorile vor varia liniar între secțiuni, valoarea 500 ar corespunde valorii limită peste care ar exista un risc pentru populație atunci când este expus acestor concentrații. Conform valorilor ICAP, s-au stabilit categorii care califică nivelurile de concentrație de MP10 la care au fost expuși oamenii.

Pasul 7: Înregistrarea locală a datelor

Înregistrarea locală a datelor
Înregistrarea locală a datelor
Înregistrarea locală a datelor
Înregistrarea locală a datelor
Înregistrarea locală a datelor
Înregistrarea locală a datelor

În acest moment, avem toate instrumentele pentru a captura date de la senzor și, de asemenea, pentru a le converti pentru o „valoare mai ușor de citit”, că este indicele AQI.

Să creăm o funcție care să capteze acele valori. Vom captura 3 valori în ordine luând media dintre ele:

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 Mai sus puteți vedea rezultatul testului. Să facem, de asemenea, o funcție pentru a converti valorile numerice ale PM în indexul 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)) returnează aqi_2_5, aqi_10 peste rezultatul unui test cu ambele funcții. Dar ce să fac cu ei? Cel mai simplu răspuns este să creați o funcție pentru a salva datele captate, salvându-le într-un fișier local

def save_log ():

cu deschis („CALEA DVS. AICI / air_quality.csv”, „a”) ca jurnal: dt = datetime.now () log.write ("{}, {}, {}, {}, {} n". format (dt, pmt_2_5, aqi_2_5, pmt_10, aqi_10)) log.close () Cu o singură buclă, puteți înregistra date la baze obișnuite în fișierul dvs. local, de exemplu, în fiecare minut

în timp ce (Adevărat):

pmt_2_5, pmt_10 = get_data () aqi_2_5, aqi_10 = conv_aqi (pmt_2_5, pmt_10) încercați: save_log () cu excepția: print ("[INFO] Eșec la înregistrarea datelor") time.sleep (60) La fiecare 60 de secunde, marca de timp plus datele vor fi „adăugate” la acest fișier, așa cum putem vedea mai sus.

Pasul 8: Trimiterea datelor către un serviciu cloud

Trimiterea datelor către un serviciu cloud
Trimiterea datelor către un serviciu cloud

În acest moment, am învățat cum să captăm date de la senzor, salvându-le într-un fișier CSV local. Acum, este timpul să vedem cum să trimiteți aceste date către o platformă IoT. În acest tutorial, vom folosi ThingSpeak.com.

„ThingSpeak este o aplicație open-source Internet of Things (IoT) pentru stocarea și preluarea datelor din lucruri, folosind API-urile REST și MQTT. ThingSpeak permite crearea de aplicații de înregistrare a senzorilor, aplicații de urmărire a locației și o rețea socială de lucruri cu actualizări de stare.”

În primul rând, trebuie să aveți un cont la ThinkSpeak.com. Apoi, urmați instrucțiunile pentru a crea un canal, luând notă de ID-ul acestuia și de scriere a cheii API.

Atunci când creați canalul, trebuie să definiți și ce informații vor fi încărcate în fiecare dintre cele 8 câmpuri, așa cum se arată mai sus (în cazul nostru vor fi utilizate doar 4 dintre ele).

Pasul 9: Protocol MQTT și conexiune ThingSpeak

Protocol MQTT și conexiune ThingSpeak
Protocol MQTT și conexiune ThingSpeak

MQTT este o arhitectură de publicare / abonare care a fost dezvoltată în principal pentru a conecta lățimea de bandă și dispozitivele cu putere limitată prin rețele fără fir. Este un protocol simplu și ușor care rulează peste socket-uri TCP / IP sau WebSockets. MQTT peste WebSockets poate fi securizat cu SSL. Arhitectura de publicare / abonare permite transmiterea mesajelor către dispozitivele client fără ca dispozitivul să fie nevoie să interogheze continuu serverul.

Brokerul MQTT este punctul central al comunicării și este responsabil cu transmiterea tuturor mesajelor între expeditori și destinatarii de drept. Un client este orice dispozitiv care se conectează la broker și poate publica sau abona subiecte pentru a accesa informațiile. Un subiect conține informații de rutare pentru broker. Fiecare client care dorește să trimită mesaje le publică la un anumit subiect, iar fiecare client care dorește să primească mesaje se abonează la un anumit subiect. Brokerul livrează toate mesajele cu subiectul corespunzător clienților corespunzători.

ThingSpeak ™ are un broker MQTT la adresa URL mqtt.thingspeak.com și portul 1883. Brokerul ThingSpeak acceptă atât publicarea MQTT, cât și abonarea MQTT.

În cazul nostru, vom folosi MQTT Publish.

Pasul 10: Publicare MQTT

Publicare MQTT
Publicare MQTT

Pentru început, să instalăm biblioteca clientului Eclipse Paho MQTT Python, care implementează versiunile 3.1 și 3.1.1 ale protocolului MQTT

sudo pip instala paho-mqtt

Apoi, să importăm biblioteca paho:

import paho.mqtt.publish ca publicare

și inițiați canalul Thingspeak și protocolul MQTT. Această metodă de conectare este cea mai simplă și necesită cele mai puține resurse de sistem:

channelID = "ID-ul Dvs. DE CANAL"

apiKey = "CHEEA TA DE SCRIERE" topic = "channels /" + channelID + "/ publish /" + apiKey mqttHost = "mqtt.thingspeak.com" Acum trebuie să ne definim „sarcina utilă”

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

Si asta e! suntem gata să începem să trimitem date în cloud! Să rescriem funcția de buclă anterioară pentru a include și partea ThingSpeak a acesteia.

# Trimiterea tuturor datelor către ThingSpeak la fiecare 1 minut

while (Adevărat): 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, load = tPayload, hostname = mqttHost, port = tPort, tls = tTLS, transport = tTransport) save_log () exceptând: print ("[INFO] Eșec la trimiterea datelor ") time.sleep (60) Dacă totul este în regulă, trebuie să vedeți că datele apar și pe canalul dvs. la thingspeak.com, așa cum se arată mai sus.

Pasul 11: Scriptul final

Este important să subliniem că Jupyter Notebook este un instrument foarte bun pentru dezvoltare și raportare, dar nu pentru a crea un cod de pus în producție. Ce ar trebui să faceți acum este să luați partea relevantă a codului și să creați un script.py și să îl rulați pe terminalul dvs.

De exemplu, „ts_air_quality_logger.py”, pe care ar trebui să îl rulați cu comanda:

python 3 ts_air_quality_logger.py

Acest script, precum și Jupyter Notebook și sds011.py pot fi găsite în depozitul meu la RPi_Air_Quality_Sensor.

Rețineți că acest script este fezabil doar pentru testare. Cel mai bun este să nu folosiți întârzieri în bucla finală (care pune codul în „pauză”), ci folosiți temporizatoare. Sau pentru o aplicație reală, cel mai bun nu este să folosiți bucla, având Linux programat pentru a executa scriptul în mod regulat cu crontab.

Pasul 12: Scoaterea monitorului în afară

Scoaterea monitorului afară
Scoaterea monitorului afară
Scoaterea monitorului afară
Scoaterea monitorului afară
Scoaterea monitorului afară
Scoaterea monitorului afară
Scoaterea monitorului afară
Scoaterea monitorului afară

Odată ce funcționează monitorul Raspberry Pi Air Quality, am asamblat RPi într-o cutie de plastic, ținând senzorul în exterior și l-am așezat în afara casei mele.

Au fost făcute două experiențe.

Pasul 13: Arderea motorului pe benzină

Combustie cu motor pe benzină
Combustie cu motor pe benzină
Combustie cu motor pe benzină
Combustie cu motor pe benzină

Senzorul a fost plasat la aproximativ 1m de peisajul de gaz al Lambretta, iar motorul său a fost pornit. Motorul a funcționat câteva minute și sa oprit. Din fișierul jurnal de mai sus, rezultatul pe care l-am obținut. Interesant de confirmat că PM2.5 a fost cea mai periculoasă particulă rezultată din motor.

Pasul 14: Arderea lemnului

Arderea lemnului
Arderea lemnului
Arderea lemnului
Arderea lemnului

Privind fișierul jurnal, ne dăm seama că datele senzorului au fost instantanee „în afara intervalului” și nu au fost bine capturate de biblioteca de conversie AQI, așa că modific codul anterior pentru a le gestiona:

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)) returnează aqi_2_5, aqi_10 cu excepția: return 600, 600 Această situație se poate întâmpla pe teren, ceea ce este OK. Amintiți-vă că, de fapt, ar trebui să utilizați media mobilă pentru a obține cu adevărat AQI (cel puțin pe oră, dar de obicei zilnic).

Pasul 15: Concluzie

Concluzie
Concluzie

Ca întotdeauna, sper că acest proiect îi poate ajuta pe ceilalți să își găsească drumul în lumea interesantă a electronicii și a științei datelor!

Pentru detalii și cod final, vă rugăm să vizitați depozitarul meu GitHub: RPi_Air_Quality_Sensor.

Salude din sudul lumii!

Ne vedem la următorul meu instructabil!

Mulțumesc, Marcelo

Recomandat: