Kazalo:

Poceni monitor kakovosti zraka IoT na osnovi RaspberryPi korakov 4: 15 (s slikami)
Poceni monitor kakovosti zraka IoT na osnovi RaspberryPi korakov 4: 15 (s slikami)

Video: Poceni monitor kakovosti zraka IoT na osnovi RaspberryPi korakov 4: 15 (s slikami)

Video: Poceni monitor kakovosti zraka IoT na osnovi RaspberryPi korakov 4: 15 (s slikami)
Video: ZEITGEIST: MOVING FORWARD | OFFICIAL RELEASE | 2011 2024, Julij
Anonim
Poceni monitor kakovosti zraka IoT, ki temelji na RaspberryPi 4
Poceni monitor kakovosti zraka IoT, ki temelji na RaspberryPi 4
Poceni monitor kakovosti zraka IoT, ki temelji na RaspberryPi 4
Poceni monitor kakovosti zraka IoT, ki temelji na RaspberryPi 4
Poceni monitor kakovosti zraka IoT, ki temelji na RaspberryPi 4
Poceni monitor kakovosti zraka IoT, ki temelji na RaspberryPi 4
Poceni monitor kakovosti zraka IoT, ki temelji na RaspberryPi 4
Poceni monitor kakovosti zraka IoT, ki temelji na RaspberryPi 4

Santiago, Čile, v času zimske okoljske krize ima privilegij živeti v eni najlepših držav na svetu, a žal niso vse vrtnice. Čile v zimski sezoni zelo trpi zaradi onesnaženja zraka, predvsem zaradi delcev, kot sta prah in smog.

Zaradi hladnega vremena je na jugu onesnaženje zraka predvsem posledica lesa na osnovi lesa in v Santiagu (glavni prestolnici v središču države), ki ga mešajo industrije, avtomobili in edinstven geografski položaj med dvema velikima gorskima verigama.

Dandanes je onesnaževanje zraka velik problem po vsem svetu in v tem članku bomo raziskali, kako razviti poceni domači monitor kakovosti zraka na osnovi Raspberry Pi. Če vas zanima več o kakovosti zraka, obiščite projekt »Svetovni indeks kakovosti zraka«.

Zaloge

  • Malina Pi 4
  • 1SDS011 - Laserski senzor za zaznavanje kakovosti zraka PM2,5 z visoko natančnostjo
  • Plastična škatla

1. korak: Delci (PM): kaj je to? Kako pride v zrak?

Delci (PM): kaj je to? Kako pride v zrak?
Delci (PM): kaj je to? Kako pride v zrak?

Da bi razumeli onesnaženje ali onesnaženje zraka, moramo preučiti delce, ki so povezani s tem, kar je znano tudi kot trdne delce. Če pogledamo grafe v prejšnjem razdelku, lahko opazimo, da so omenjali PM2.5 in PM10. Na kratko podajmo to.

PM pomeni trdne delce (imenovane tudi onesnaženje z delci): izraz za mešanico trdnih delcev in kapljic tekočine v zraku. Nekateri delci, kot so prah, umazanija, saje ali dim, so dovolj veliki ali temni, da jih lahko vidite s prostim očesom. Drugi so tako majhni, da jih je mogoče zaznati le z elektronskim mikroskopom. Delci so različnih velikosti. Delci s premerom manj kot 10 mikromerov ali enaki so tako majhni, da lahko pridejo v pljuča, kar lahko povzroči resne zdravstvene težave. Deset mikrometrov je manjše od širine enega človeškega las.

Onesnaževanje delcev vključuje grobe delce prahu (PM10): delce, ki jih je mogoče vdihniti, s premerom, ki je običajno 10 mikrometrov in manj. Viri vključujejo drobljenje ali mletje ter prah, ki ga vozila dvigujejo na cestah. Fini delci (PM2,5): fini delci, ki jih je mogoče vdihniti, s premerom, ki je običajno 2,5 mikrona in manjši. Drobni delci nastajajo pri vseh vrstah zgorevanja, vključno z motornimi vozili, elektrarnami, kurjenjem lesa v stanovanjih, gozdnimi požari, požari v kmetijstvu in nekaterimi industrijskimi procesi. Več o trdnih delcih lahko najdete na spletnem mestu EPA: Agencija Združenih držav za varstvo okolja

2. korak: Zakaj je pomembno skrbeti za te delce?

Zakaj je pomembno skrbeti za te delce?
Zakaj je pomembno skrbeti za te delce?

Kot je opisal GERARDO ALVARADO Z. v svojem delu na univerzi v Čilu, so bili prvi dokumentirani viri, ki so povezovali smrtnost, študije epizod visokega onesnaženja zraka v dolini Meuse (Belgija) leta 1930, Donora (Pensilvanija) leta 1948 in Londonu leta 1952. s kontaminacijo delcev (Préndez, 1993). Napredek pri raziskovanju učinkov onesnaženja zraka na zdravje ljudi je ugotovil, da tveganje za zdravje povzročajo vdihani delci, odvisno od njihovega prodiranja in odlaganja v različnih delih dihalnega sistema ter biološkega odziva na odložene materiale.

Najdebelejši delci, približno 5 μm, se filtrirajo s skupnim delovanjem cilij nosnega prehoda in sluznice, ki pokriva nosno votlino in sapnik. Delci s premerom med 0,5 in 5 μm se lahko odlagajo v bronhih in celo v pljučnih alveolih, vendar jih po nekaj urah izločijo cilije bronhijev in bronhiol. Delci, manjši od 0,5 μm, lahko prodrejo globoko, dokler se ne odlagajo v pljučnih alveolih, ostanejo od tednov do let, saj ni mukocilijarnega transportnega mehanizma, ki bi olajšal izločanje. Naslednja slika prikazuje prodiranje delcev v dihalni sistem, odvisno od njihove velikosti.

Torej, za opazovanje obeh vrst delcev (PM2,5 in PM10) sta zelo pomembni, dobra novica pa je, da sta oba berljiva s preprostim in ne dragim senzorjem, SDS011.

3. korak: Senzor delcev - SDS011

Senzor delcev - SDS011
Senzor delcev - SDS011
Senzor delcev - SDS011
Senzor delcev - SDS011

Spremljanje kakovosti zraka je dobro znana in uveljavljena znanost, ki se je začela v osemdesetih letih. Takrat je bila tehnologija precej omejena in rešitev, uporabljena za količinsko opredelitev kompleksa onesnaževanja zraka, okorna in res draga.

Na srečo danes z najnovejšimi in sodobnimi tehnologijami rešitve, ki se uporabljajo za spremljanje kakovosti zraka, postajajo ne le natančnejše, ampak tudi hitrejše pri merjenju. Naprave postajajo vse manjše in stanejo veliko ceneje kot kdaj koli prej.

V tem članku se bomo osredotočili na senzor delcev, ki lahko zazna količino prahu v zraku. Medtem ko je prva generacija lahko le zaznala količino motnosti, lahko najnovejši senzorji, kot je SDS011 iz INOVAFIT-a, odcepljene univerze Jinan (v Shandongu), zdaj zaznajo PM2,5 in PM10.

SDS011 je s svojo velikostjo verjetno eden najboljših senzorjev glede natančnosti in cene (manj kot 40,00 USD).

  • Izmerjene vrednosti: PM2,5, PM10
  • Območje: 0–999,9 μg /m³
  • Napajalna napetost: 5V (4.7–5.3V)
  • Poraba energije (delo): 70mA ± 10mA
  • Poraba energije (laser in ventilator v načinu mirovanja): <4mA
  • Temperatura skladiščenja: -20 do +60C
  • Delovna temperatura: -10 do +50C
  • Vlažnost (shranjevanje): Max. 90%
  • Vlažnost (delo): Max. 70% (kondenzacija vodne pare ponareja odčitke)
  • Natančnost: 70% za 0,3 μm in 98% za 0,5 μm
  • Dimenzije: 71 x 70 x 23 mm
  • Certifikat: CE, FCC, RoHS

SD011 uporablja tiskano vezje kot eno stran ohišja, kar omogoča zmanjšanje njegovih stroškov. Receptorska dioda je nameščena na strani tiskanega vezja (to je obvezno, saj se je treba izogniti vsakemu hrupu med diodo in LNA). Oddajni laser je nameščen na plastični škatli in povezan s tiskanim vezjem preko fleksibilne žice.

Skratka, Nova Fitness SDS011 je profesionalni laserski senzor prahu. Ventilator, nameščen na senzorju, samodejno sesa zrak. Senzor uporablja lasersko načelo razprševanja svetlobe* za merjenje vrednosti prašnih delcev v zraku. Senzor zagotavlja visoko natančnost in zanesljive odčitke vrednosti PM2,5 in PM10. Vsako spremembo okolja lahko skoraj v trenutku opazimo kratek odzivni čas pod 10 sekundami. Tipalo v standardnem načinu poroča o branju z 1-sekundnim intervalom.

* Načelo laserskega razprševanja: Razpršitev svetlobe se lahko sproži, ko delci gredo skozi območje zaznavanja. Razpršena svetloba se pretvori v električne signale in ti signali se bodo ojačali in obdelali. Število in premer delcev lahko dobimo z analizo, ker ima signalna valovna oblika določene odnose s premerom delcev.

4. korak: Kako pa lahko SDS011 zajame te delce?

Toda kako lahko SDS011 zajame te delce?
Toda kako lahko SDS011 zajame te delce?
Toda kako lahko SDS011 zajame te delce?
Toda kako lahko SDS011 zajame te delce?

Kot smo že omenili, je načelo, ki ga uporablja SDS011, razprševanje svetlobe ali boljše, dinamično razprševanje svetlobe (DLS), ki je fizikalna tehnika, ki jo je mogoče uporabiti za določanje profila porazdelitve velikosti majhnih delcev v suspenziji ali polimerov v raztopini. V obsegu DLS se časovna nihanja običajno analizirajo s pomočjo funkcije intenzivnosti ali fotonske samodejne korelacije (znane tudi kot fotonska korelacijska spektroskopija ali kvazielastično razprševanje svetlobe). Pri analizi časovnega področja se funkcija avtokorelacije (ACF) običajno razpade od nič časa zakasnitve, hitrejša dinamika zaradi manjših delcev pa vodi do hitrejše dekorelacije sledi razpršene intenzivnosti. Pokazalo se je, da je intenzivnost ACF Fourierjeva transformacija spektra moči, zato je mogoče meritve DLS enako dobro izvesti v spektralni domeni.

Nad hipotetičnim dinamičnim razprševanjem svetlobe dveh vzorcev: večji delci (na primer PM10) na vrhu in manjši delci (kot PM2.5) na dnu. Če pogledamo v naš senzor, lahko vidimo, kako se izvaja princip razprševanja svetlobe.

Električni signal, ujet na diodo, gre v ojačevalnik z nizkim hrupom, od tega pa se pretvori v digitalni signal prek ADC -ja in zunaj prek UART.

Če želite izvedeti več o SDS011 o resničnih znanstvenih izkušnjah, si oglejte delo Konstantinosa in sodelavcev iz leta 2018, razvoj in preskušanje nizkocenovnih prenosnih sistemov za spremljanje koncentracij PM2,5 na terenu.

5. korak: Showtime

Čas za predstavo!
Čas za predstavo!
Čas za predstavo!
Čas za predstavo!

Vzemimo odmor pri vsej tej teoriji in se osredotočimo na to, kako izmeriti delce z uporabo Raspberry Pi in senzorja SDS011

Povezava HW je pravzaprav zelo preprosta. Senzor se prodaja z adapterjem USB za povezovanje izhodnih podatkov s 7 -polnega UART -a z enim od standardnih USB -priključkov RPi.

SDS011 pinout:

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

Za to vadnico prvič uporabljam popolnoma nov Raspberry-Pi 4. Seveda pa bo vsak prejšnji model tudi dobro deloval.

Ko priključite senzor na eno od vrat USB RPi, boste samodejno začeli poslušati zvok njegovega ventilatorja. Hrup je nekoliko moteč, zato ga morda odklopite in počakajte, da vse nastavite z SW.

Komunikacija med senzorjem in RPi bo potekala prek serijskega protokola. Podrobnosti o tem protokolu najdete tukaj: Laserski nadzor senzorja prahu V1.3. Toda za ta projekt je najbolje uporabiti vmesnik python za poenostavitev kode, ki jo je treba razviti. Ustvarite lahko svoj vmesnik ali uporabite nekaj, ki je na voljo na internetu, kot sta Frank Heuer ali Ivan Kalchev. Uporabili bomo zadnjo, ki je zelo preprosta in dobro deluje (skript sds011.py lahko prenesete z njegovega GitHub -a ali mojega).

Datoteka sds011.py mora biti v istem imeniku, kjer ustvarite skript.

V fazi razvoja bom uporabljal Jupyter Notebook, lahko pa uporabite kateri koli IDE, ki vam je všeč (Thonny ali Geany, na primer, ki sta del paketa Raspberry Pi Debian, sta zelo dobra).

Začnite uvoziti sds011 in ustvariti primerek senzorja. SDS011 ponuja način za branje s senzorja z uporabo UART.

iz sds011 uvoz *

senzor = SDS011 ("/dev/ttyUSB0")

Senzor lahko vklopite ali izklopite z ukazom spanje:

pmt_2_5, pmt_10 = sensor.query ()

Pred meritvami počakajte vsaj 10 sekund za stabilizacijo in vsaj 2 sekundi za začetek nove (glejte zgornjo kodo).

In to je vse, kar morate vedeti v smislu SW za uporabo senzorja. Toda pojdimo globlje na kontrolo kakovosti zraka! Če ste na začetku tega članka raziskali spletna mesta, ki dajejo informacije o tem, kako dober ali slab je zrak, se morate zavedati, da so barve povezane s temi vrednostmi. Vsaka barva je indeks. Najbolj znan med njimi je AQI (Indeks kakovosti zraka), ki se uporablja v ZDA in številnih drugih državah.

6. korak: Indeks kakovosti zraka - AQI

Indeks kakovosti zraka - AQI
Indeks kakovosti zraka - AQI
Indeks kakovosti zraka - AQI
Indeks kakovosti zraka - AQI
Indeks kakovosti zraka - AQI
Indeks kakovosti zraka - AQI

AQI je indeks za poročanje o dnevni kakovosti zraka. Pove vam, kako čist ali onesnažen je vaš zrak, in kakšni vplivi na zdravje vas lahko skrbijo. AQI se osredotoča na učinke na zdravje, ki jih lahko doživite v nekaj urah ali dneh po vdihavanju onesnaženega zraka.

EPA (Agencija Združenih držav za varstvo okolja) na primer izračuna AQI ne le za onesnaženje delcev (PM2,5 in PM10), ampak tudi za druga glavna onesnaževala zraka, ki jih ureja Zakon o čistem zraku: prizemni ozon, ogljikov monoksid, žveplovega dioksida in dušikovega dioksida. Za vsako od teh onesnaževal je EPA vzpostavila nacionalne standarde kakovosti zraka za zaščito javnega zdravja. Glejte zgornjo sliko z povezanimi vrednostmi AQI, barvami in zdravstvenim sporočilom.

Kot je bilo že komentirano, so te vrednosti in barve AQI povezane z vsakim od onesnaževal, vendar kako z njimi povezati vrednosti, ki jih ustvarijo senzorji? Dodatna tabela jih povezuje, kot je prikazano zgoraj.

Seveda pa takšne mize ni smiselno uporabljati. Na koncu gre za preprost matematični algoritem, ki naredi izračun. V ta namen bomo knjižnico uvozili za pretvorbo med vrednostjo AQI in koncentracijo onesnaževal (µg/m³): python-aqi.

Namestite knjižnico z uporabo PIP in naredite test (glej zgornjo kodo)

pip namestite python-aqi

Kaj pa Čile?

V Čilu se uporablja podoben indeks, ICAP: Indeks kakovosti zraka za delce, ki dihajo. Vrhovni odlok 59 generalnega sekretarja Ministrstva predsedstva republike z dne 16. marca 1998 določa v svojem členu 1, točka g), da ravni, ki določajo ICA za dihajoče delce, ICAP.

Vrednosti se bodo med odseki linearno spreminjale, vrednost 500 bi ustrezala mejni vrednosti, nad katero bi obstajalo tveganje za populacijo, ko bi bila izpostavljena tem koncentracijam. Glede na vrednosti ICAP so bile določene kategorije, ki določajo koncentracijo MP10, ki so ji bili ljudje izpostavljeni.

7. korak: Lokalno beleženje podatkov

Lokalno beleženje podatkov
Lokalno beleženje podatkov
Lokalno beleženje podatkov
Lokalno beleženje podatkov
Lokalno beleženje podatkov
Lokalno beleženje podatkov

Na tej točki imamo vsa orodja za zajem podatkov iz senzorja in jih tudi pretvorimo za bolj "berljivo vrednost", to je indeks AQI.

Ustvarimo funkcijo za zajemanje teh vrednosti. Zapisali bomo 3 vrednosti zaporedoma, pri čemer upoštevamo povprečje med njimi:

def get_data (n = 3):

sensor.sleep (sleep = False) pmt_2_5 = 0 pmt_10 = 0 time.sleep (10) za i v območju (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 Zgoraj lahko vidite rezultat testa. Naredimo tudi funkcijo za pretvorbo številskih vrednosti PM v indeks 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)) vrnitev aqi_2_5, aqi_10 nad rezultatom testa z obema funkcijama. Toda kaj storiti z njimi? Najbolj preprost odgovor je ustvariti funkcijo za shranjevanje zajetih podatkov in jih shraniti v lokalno datoteko

def save_log ():

z odprto ("VAŠA POTI TUKAJ/air_quality.csv", "a") kot dnevnik: dt = datetime.now () log.write ("{}, {}, {}, {}, {} n". format (dt, pmt_2_5, aqi_2_5, pmt_10, aqi_10)) log.close () Z eno samo zanko lahko na primer vsako minuto beležite podatke v rednih bazah v svoji lokalni datoteki

medtem ko (True):

pmt_2_5, pmt_10 = get_data () aqi_2_5, aqi_10 = conv_aqi (pmt_2_5, pmt_10) try: save_log () razen: print ("[INFO] Napaka pri zapisovanju podatkov") time.sleep (60) Vsakih 60 sekund se časovni žig skupaj s podatki "doda" tej datoteki, kot lahko vidimo zgoraj.

8. korak: Pošiljanje podatkov v storitev v oblaku

Pošiljanje podatkov v storitev v oblaku
Pošiljanje podatkov v storitev v oblaku

Na tej točki smo se naučili, kako zajeti podatke iz senzorja in jih shraniti v lokalno datoteko CSV. Zdaj je čas, da vidimo, kako te podatke poslati na platformo IoT. V tej vadnici bomo uporabljali ThingSpeak.com.

"ThingSpeak je odprtokodna aplikacija Internet of Things (IoT) za shranjevanje in pridobivanje podatkov iz stvari z uporabo API-jev REST in MQTT. ThingSpeak omogoča ustvarjanje aplikacij za beleženje senzorjev, aplikacij za sledenje lokaciji in družabnega omrežja s posodobitvami stanja."

Najprej morate imeti račun na ThinkSpeak.com. Nato sledite navodilom za ustvarjanje kanala ob upoštevanju njegovega ID -ja kanala in ključa API -ja za pisanje.

Pri ustvarjanju kanala morate določiti tudi, kateri podatki bodo naloženi v vsako od 8 polj, kot je prikazano zgoraj (v našem primeru bodo uporabljena le 4 od njih).

9. korak: Protokol MQTT in povezava ThingSpeak

Protokol MQTT in povezava ThingSpeak
Protokol MQTT in povezava ThingSpeak

MQTT je arhitektura za objavo/naročnino, ki je bila razvita predvsem za povezovanje pasovne širine in naprav z omejeno močjo prek brezžičnih omrežij. To je preprost in lahek protokol, ki deluje prek vtičnic TCP/IP ali WebSockets. MQTT prek WebSockets je mogoče zavarovati s protokolom SSL. Arhitektura objave/naročnine omogoča pošiljanje sporočil na odjemalce, ne da bi naprava morala neprestano iskati strežnik.

Posrednik MQTT je osrednja točka komunikacije in je odgovoren za pošiljanje vseh sporočil med pošiljatelji in zakonitimi prejemniki. Odjemalec je vsaka naprava, ki se poveže s posrednikom in lahko za dostop do informacij objavi ali se naroči na teme. Tema vsebuje informacije o usmerjanju posrednika. Vsak odjemalec, ki želi poslati sporočila, jih objavi pri določeni temi, vsak odjemalec, ki želi prejemati sporočila, pa se naroči na določeno temo. Posrednik posreduje vsa sporočila z ustrezno temo ustreznim strankam.

ThingSpeak ™ ima posrednika MQTT na naslovu mqtt.thingspeak.com in vratih 1883. Posrednik ThingSpeak podpira objavo MQTT in naročnino na MQTT.

V našem primeru bomo uporabili MQTT Publish.

10. korak: MQTT Publish

MQTT Publish
MQTT Publish

Za začetek namestimo odjemalčevo knjižnico Eclipse Paho MQTT Python, ki izvaja različici 3.1 in 3.1.1 protokola MQTT

sudo pip namestite paho-mqtt

Nato uvozimo knjižnico paho:

uvoz paho.mqtt.objavi kot objavi

in sproži kanal Thingspeak in protokol MQTT. Ta način povezave je najpreprostejši in zahteva najmanj sistemskih virov:

channelID = "ID VAŠEGA KANALA"

apiKey = "VAŠ KLJUČ ZA PISANJE" topic = "kanali/" + channelID + "/objava/" + apiKey mqttHost = "mqtt.thingspeak.com" Zdaj moramo opredeliti naš "koristen tovor"

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

In to je to! pripravljeni smo začeti pošiljati podatke v oblak! Prepišemo prejšnjo funkcijo zanke, da bo vključila tudi njen del ThingSpeak.

# Pošiljanje vseh podatkov v ThingSpeak vsako minuto

medtem ko (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: published.single (topic, payload = tPayload, hostname = mqttHost, port = tPort, tls = tTLS, transport = tTransport) save_log () razen: print ("[INFO] Napaka pri pošiljanju podatkov ") time.sleep (60) Če je vse v redu, se morajo prikazati tudi podatki na vašem kanalu na thingspeak.com, kot je prikazano zgoraj.

11. korak: Končni scenarij

Pomembno je poudariti, da je Jupyter Notebook zelo dobro orodje za razvoj in poročanje, ne pa tudi za ustvarjanje kode za proizvodnjo. Zdaj morate vzeti ustrezen del kode in ustvariti.py skript ter ga zagnati na svojem terminalu.

Na primer »ts_air_quality_logger.py«, ki ga morate zagnati z ukazom:

python 3 ts_air_quality_logger.py

Ta skript, Jupyter Notebook in sds011.py najdete v mojem skladišču na RPi_Air_Quality_Sensor.

Upoštevajte, da je ta skript izvedljiv samo za testiranje. Najbolje je, da v zadnji zanki ne uporabljate zamud (ki kodo postavijo v "premor"), temveč uporabite časovnike. Ali za resnično aplikacijo je najbolje, da ne uporabite zanke, saj je Linux programiran za redno izvajanje skripta s crontabom.

12. korak: Odstranite monitor od zunaj

Odstranitev monitorja od zunaj
Odstranitev monitorja od zunaj
Odstranitev monitorja od zunaj
Odstranitev monitorja od zunaj
Odstranitev monitorja od zunaj
Odstranitev monitorja od zunaj
Odstranitev monitorja od zunaj
Odstranitev monitorja od zunaj

Ko je moj monitor za kakovost zraka Raspberry Pi deloval, sem sestavil RPi v plastični škatli, senzor pa držal zunaj in ga postavil zunaj svojega doma.

Nastali sta dve izkušnji.

Korak: Zgorevanje bencinskega motorja

Zgorevanje bencinskega motorja
Zgorevanje bencinskega motorja
Zgorevanje bencinskega motorja
Zgorevanje bencinskega motorja

Senzor je bil nameščen približno 1 m od Lambrettine plinske cevi, njegov motor pa se je vklopil. Motor je deloval nekaj minut in se ugasnil. Iz zgornje datoteke dnevnika rezultat, ki sem ga dobil. Zanimivo je potrditi, da je bil PM2.5 najnevarnejši trden del motorja.

14. korak: kurjenje lesa

Gorenje lesa
Gorenje lesa
Gorenje lesa
Gorenje lesa

Če pogledamo datoteko dnevnika, se zavedamo, da so bili podatki senzorja trenutno "izven območja" in jih knjižnica za pretvorbo AQI ni dobro zajela, zato za spremembo spremenim prejšnjo kodo:

def conv_aqi (pmt_2_5, pmt_10):

poskusi: aqi_2_5 = aqi.to_iaqi (aqi. POLLUTANT_PM25, str (pmt_2_5)) aqi_10 = aqi.to_iaqi (aqi. POLLUTANT_PM10, str (pmt_10)) vrni aqi_2_5, aqi_10 razen: return 600, 600 Ta situacija se lahko zgodi na terenu, kar je v redu. Ne pozabite, da bi morali dejansko uporabiti drseče povprečje, da resnično dobite AQI (vsaj na uro, vendar običajno dnevno).

Korak 15: Zaključek

Zaključek
Zaključek

Kot vedno upam, da lahko ta projekt pomaga drugim najti pot v razburljiv svet elektronike in podatkovne znanosti!

Za podrobnosti in končno kodo obiščite moj depozitar GitHub: RPi_Air_Quality_Sensor.

Saludos z juga sveta!

Se vidimo na mojem naslednjem pouku!

Hvala vam, Marcelo

Priporočena: