Sadržaj:

Jeftin IoT monitor kvalitete zraka temeljen na RaspberryPi 4: 15 koraka (sa slikama)
Jeftin IoT monitor kvalitete zraka temeljen na RaspberryPi 4: 15 koraka (sa slikama)

Video: Jeftin IoT monitor kvalitete zraka temeljen na RaspberryPi 4: 15 koraka (sa slikama)

Video: Jeftin IoT monitor kvalitete zraka temeljen na RaspberryPi 4: 15 koraka (sa slikama)
Video: «Развлечение с музыкой и программированием», Коннор Харрис и Стивен Крюсон 2024, Srpanj
Anonim
Jeftin IoT monitor kvalitete zraka temeljen na RaspberryPi 4
Jeftin IoT monitor kvalitete zraka temeljen na RaspberryPi 4
Jeftin IoT monitor kvalitete zraka temeljen na RaspberryPi 4
Jeftin IoT monitor kvalitete zraka temeljen na RaspberryPi 4
Jeftin IoT monitor kvalitete zraka temeljen na RaspberryPi 4
Jeftin IoT monitor kvalitete zraka temeljen na RaspberryPi 4
Jeftin IoT monitor kvalitete zraka temeljen na RaspberryPi 4
Jeftin IoT monitor kvalitete zraka temeljen na RaspberryPi 4

Santiago, Čile, za vrijeme zimske vanjske situacije u okolišu ima privilegiju živjeti u jednoj od najljepših zemalja na svijetu, ali nažalost nisu sve ruže. Čile tijekom zimske sezone jako pati od onečišćenja zraka, uglavnom zbog čestica poput prašine i smoga.

Zbog hladnog vremena, na jugu je zagađenje zraka uglavnom uzrokovano drvenim kalefaktorima, a u Santiagu (glavni glavni grad u središtu zemlje) pomiješanima s industrijama, automobilima i njegovom jedinstvenom zemljopisnom situacijom između dva ogromna planinska lanca.

U današnje vrijeme zagađenje zraka veliki je problem u cijelom svijetu, pa ćemo u ovom članku istražiti kako razviti jeftin domaći monitor kvalitete zraka, temeljen na Raspberry Pi. Ako želite saznati više o kvaliteti zraka, posjetite projekt “Svjetski indeks kvalitete zraka”.

Pribor

  • Malina Pi 4
  • 1SDS011 - Laserski senzor za detekciju kvalitete zraka pm2,5 visoke preciznosti
  • Plastična kutija

Korak 1: Materijal čestica (PM): što je to? Kako se diže u zrak?

Čestice (PM): što je to? Kako se diže u zrak?
Čestice (PM): što je to? Kako se diže u zrak?

Dakle, da bismo razumjeli zagađenje ili onečišćenje zraka, moramo proučiti čestice koje su povezane s tim, što je također poznato kao čestice. Gledajući grafikone u prethodnom odjeljku možemo primijetiti da su spomenuli PM2.5 i PM10. Dajmo kratak pregled toga.

PM označava čestice (također se nazivaju zagađenje česticama): izraz za mješavinu krutih čestica i kapljica tekućine koje se nalaze u zraku. Neke čestice, poput prašine, prljavštine, čađe ili dima, dovoljno su velike ili tamne da se mogu vidjeti golim okom. Drugi su toliko mali da se mogu otkriti samo elektronskim mikroskopom. Čestice dolaze u širokom rasponu veličina. Čestice promjera manjeg od ili jednakog 10 mikrometara toliko su male da mogu ući u pluća, potencijalno uzrokujući ozbiljne zdravstvene probleme. Deset mikrometara manje je od širine jedne ljudske kose.

Zagađenje česticama uključuje grube čestice prašine (PM10): čestice koje se mogu inhalirati, promjera koji su općenito 10 mikrometara i manji. Izvori uključuju postupke drobljenja ili mljevenja te prašinu koju vozila dižu po cestama. Fine čestice (PM2,5): fine čestice koje se mogu inhalirati, promjera koji su općenito 2,5 mikrometara i manji. Fine čestice proizvode se svim vrstama izgaranja, uključujući motorna vozila, elektrane, sagorijevanje drva u stanovima, šumske požare, spaljivanje u poljoprivredi i neke industrijske procese možete pronaći više o česticama na web mjestu EPA: Agencija za zaštitu okoliša Sjedinjenih Država

Korak 2: Zašto je važno voditi računa o tim česticama?

Zašto je važno brinuti o tim česticama?
Zašto je važno brinuti o tim česticama?

Kako je opisao GERARDO ALVARADO Z. u svom radu na Sveučilištu u Čileu, studije o epizodama visokog onečišćenja zraka u dolini Meuse (Belgija) 1930., Donora (Pennsylvania) 1948. i London 1952. bili su prvi dokumentirani izvori koji povezuju smrtnost s onečišćenjem čestica (Préndez, 1993.). Napredak u istraživanju učinaka zagađenja zraka na zdravlje ljudi utvrdio je da zdravstvene rizike uzrokuju inhalacijske čestice, ovisno o njihovom prodiranju i taloženju u različitim dijelovima dišnog sustava, te biološkom odgovoru na deponirane materijale.

Najgušće čestice, oko 5 μm, filtriraju se zajedničkim djelovanjem cilija nosnog prolaza i sluznice koja prekriva nosnu šupljinu i dušnik. Čestice promjera između 0,5 i 5 μm mogu se taložiti u bronhima, pa čak i u plućnim alveolama, međutim uklanjaju ih cilija bronhija i bronhiola nakon nekoliko sati. Čestice manje od 0,5 μm mogu prodrijeti duboko sve dok se ne talože u plućnim alveolama, ostajući od tjedana do godina, budući da ne postoji mukocilijarni transportni mehanizam koji olakšava eliminaciju. Sljedeća slika prikazuje prodiranje čestica u dišni sustav ovisno o njihovoj veličini.

Dakle, uočiti obje vrste čestica (PM2.5 i PM10) vrlo su važne, a dobra je vijest da se obje čitaju jednostavnim, a ne skupim senzorom, SDS011.

Korak 3: Senzor čestica - SDS011

Senzor čestica - SDS011
Senzor čestica - SDS011
Senzor čestica - SDS011
Senzor čestica - SDS011

Praćenje kvalitete zraka poznata je i etablirana znanost koja je započela još 80 -ih godina. U to je vrijeme tehnologija bila prilično ograničena, a rješenje korišteno za kvantificiranje kompleksa zagađenja zraka, glomazno i stvarno skupo.

Srećom, u današnje vrijeme, s najnovijim i suvremenim tehnologijama, rješenja koja se koriste za praćenje kvalitete zraka postaju ne samo preciznija, već i brža u mjerenju. Uređaji postaju sve manji, a cijene su pristupačnije nego ikad prije.

U ovom ćemo se članku usredotočiti na senzor čestica koji može otkriti količinu prašine u zraku. Dok je prva generacija uspjela otkriti količinu neprozirnosti, najnoviji senzori, poput SDS011 iz INOVAFIT-a, izdvojenog sa Sveučilišta Jinan (u Shandongu), sada mogu detektirati PM2,5 i PM10.

Svojom veličinom, SDS011 vjerojatno je jedan od najboljih senzora u smislu točnosti i cijene (manje od 40,00 USD).

  • Izmjerene vrijednosti: PM2,5, PM10
  • Domet: 0–999,9 μg /m³
  • Napon napajanja: 5V (4.7–5.3V)
  • Potrošnja energije (rad): 70mA ± 10mA
  • Potrošnja energije (laser za spavanje i ventilator): <4mA
  • Temperatura skladištenja: -20 do +60C
  • Radna temperatura: -10 do +50C
  • Vlažnost (skladištenje): Maks. 90%
  • Vlažnost (rad): Maks. 70% (kondenzacija vodene pare krivotvori očitanja)
  • Točnost: 70% za 0,3μm i 98% za 0,5μm
  • Veličina: 71x70x23 mm
  • Certifikacija: CE, FCC, RoHS

SD011 koristi PCB kao jednu stranu kućišta, što omogućuje smanjenje njegovih troškova. Receptorska dioda je montirana sa strane PCB -a (to je obvezno jer treba izbjegavati bilo kakvu buku između diode i LNA). Emiterski laser montiran je na plastičnu kutiju i spojen na PCB pomoću fleksibilne žice.

Ukratko, Nova Fitness SDS011 je profesionalni laserski senzor prašine. Ventilator postavljen na senzor automatski usisava zrak. Senzor koristi princip laserskog raspršivanja svjetlosti* za mjerenje vrijednosti čestica prašine suspendiranih u zraku. Senzor pruža visoku preciznost i pouzdana očitanja vrijednosti PM2.5 i PM10. Svaka promjena u okruženju može se primijetiti gotovo trenutno kratko vrijeme odaziva ispod 10 sekundi. Senzor u standardnom načinu rada izvještava o očitanju s intervalom od 1 sekunde.

* Načelo laserskog raspršivanja: Raspršenje svjetlosti može se izazvati kada čestice prođu kroz područje detekcije. Raspršeno svjetlo pretvara se u električne signale i ti će se signali pojačati i obraditi. Broj i promjer čestica mogu se dobiti analizom jer valni oblik signala ima određene odnose s promjerom čestica.

Korak 4: Ali kako SDS011 može uhvatiti te čestice?

Ali kako SDS011 može uhvatiti te čestice?
Ali kako SDS011 može uhvatiti te čestice?
Ali kako SDS011 može uhvatiti te čestice?
Ali kako SDS011 može uhvatiti te čestice?

Kao što je već komentirano, princip koji koristi SDS011 je raspršenje svjetlosti ili bolje, Dynamic Light Scattering (DLS), što je tehnika u fizici koja se može koristiti za određivanje profila raspodjele veličine malih čestica u suspenziji ili polimera u otopini. U opsegu DLS-a, vremenske se fluktuacije obično analiziraju pomoću funkcije intenziteta ili auto-korelacije fotona (poznate i kao fotonska korelacijska spektroskopija ili kvazielastično raspršenje svjetlosti). U analizi vremenske domene funkcija autokorelacije (ACF) obično se raspada počevši od nultog vremena kašnjenja, a brža dinamika zbog manjih čestica dovodi do brže dekorelacije traga raspršenog intenziteta. Pokazano je da je intenzitet ACF Fourierova transformacija spektra snaga, pa se DLS mjerenja mogu jednako dobro izvesti u spektralnoj domeni.

Iznad hipotetičkog dinamičkog raspršenja svjetlosti dva uzorka: veće čestice (poput PM10) na vrhu i manje čestice (kao PM2.5) na dnu. I gledajući unutar našeg senzora, možemo vidjeti kako se provodi princip raspršivanja svjetlosti.

Električni signal uhvaćen na diodi odlazi u Pojačalo niske buke, a zatim se pretvara u digitalni signal putem ADC -a, a van putem UART -a.

Kako biste saznali više o SDS011 o stvarnom znanstvenom iskustvu, pogledajte rad Konstantinosa i suradnika iz 2018., Razvoj i testiranje na terenu jeftinog prijenosnog sustava za nadzor koncentracija PM2.5 iz 2018. godine.

Korak 5: Vrijeme prikazivanja

Predstava!
Predstava!
Predstava!
Predstava!

Napravimo pauzu u cijeloj ovoj teoriji i usredotočimo se na to kako mjeriti čestice pomoću Raspberry Pi i SDS011 senzora

HW veza je zapravo vrlo jednostavna. Senzor se prodaje s USB adapterom za povezivanje izlaznih podataka sa 7 -pinskog UART -a s jednim od standardnih USB konektora RPi.

Isključivanje SDS011:

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

Za ovaj vodič prvi put koristim potpuno novi Raspberry-Pi 4. No, naravno, svaki prethodni model također će dobro funkcionirati.

Čim spojite senzor na jedan od RPi USB priključaka, automatski ćete početi slušati zvuk ventilatora. Buka je pomalo neugodna, pa biste je trebali isključiti iz utičnice i pričekati dok sve ne postavite sa SW -om.

Komunikacija između senzora i RPi će se odvijati putem serijskog protokola. Pojedinosti o ovom protokolu možete pronaći ovdje: Protokol za kontrolu laserskog senzora prašine V1.3. No, za ovaj projekt najbolje je upotrijebiti python sučelje za pojednostavljenje koda za razvoj. Možete stvoriti vlastito sučelje ili koristiti neka koja su dostupna na internetu, poput Frank Heuera ili Ivana Kalčeva. Koristit ćemo posljednju, koja je vrlo jednostavna i dobro radi (skriptu sds011.py možete preuzeti s njenog GitHub -a ili moju).

Datoteka sds011.py mora biti u istom direktoriju u kojem stvarate skriptu.

Tijekom razvojne faze koristit ću Jupyter Notebook, ali možete koristiti bilo koji IDE koji vam se sviđa (Thonny ili Geany, na primjer, koji su dio Raspberry Pi Debian paketa, oboje su vrlo dobri).

Počnite uvoziti sds011 i stvoriti instancu senzora. SDS011 pruža metodu za očitavanje sa senzora pomoću UART -a.

iz sds011 uvoza *

senzor = SDS011 ("/dev/ttyUSB0")

Senzor možete uključiti ili isključiti naredbom sleep:

pmt_2_5, pmt_10 = sensor.query ()

Pričekajte najmanje 10 sekundi za stabilizaciju prije mjerenja i najmanje 2 sekunde za početak nove (vidi gornji kod).

I to je sve što trebate znati u smislu SW -a za korištenje senzora. No, idemo dublje na kontrolu kvalitete zraka! Na početku ovog članka, ako ste istraživali web stranice koje daju informacije o tome koliko je zrak dobar ili loš, trebali biste shvatiti da su boje povezane s tim vrijednostima. Svaka boja je indeks. Najpoznatiji od njih je AQI (Indeks kvalitete zraka), koji se koristi u SAD -u i nekoliko drugih zemalja.

Korak 6: Indeks kvalitete zraka - AQI

Indeks kvalitete zraka - AQI
Indeks kvalitete zraka - AQI
Indeks kvalitete zraka - AQI
Indeks kvalitete zraka - AQI
Indeks kvalitete zraka - AQI
Indeks kvalitete zraka - AQI

AQI je indeks za izvještavanje o dnevnoj kvaliteti zraka. Govori vam o tome koliko je vaš zrak čist ili zagađen i koji bi povezani zdravstveni učinci mogli biti zabrinjavajući za vas. AQI se fokusira na učinke na zdravlje koje možete osjetiti u roku od nekoliko sati ili dana nakon udisanja zagađenog zraka.

EPA (Agencija za zaštitu okoliša Sjedinjenih Država), na primjer, izračunava AQI ne samo za onečišćenje česticama (PM2,5 i PM10) već i za druge velike zagađivače zraka regulirane Zakonom o čistom zraku: prizemni ozon, ugljikov monoksid, sumpor dioksid i dušikov dioksid. Za svako od ovih zagađivača EPA je uspostavila nacionalne standarde kvalitete zraka radi zaštite javnog zdravlja. Pogledajte gornju sliku s povezanim AQI vrijednostima, bojama i zdravstvenom porukom.

Kao što je ranije komentirano, te vrijednosti i boje AQI povezane su sa svakim od onečišćujućih tvari, ali kako povezati vrijednosti koje generiraju senzori s njima? Dodatna tablica povezuje ih sve kako je gore prikazano.

No, naravno, nema smisla koristiti takvu tablicu. Na kraju, to je jednostavan matematički algoritam koji čini izračun. U tu ćemo svrhu uvesti knjižnicu za pretvaranje između vrijednosti AQI i koncentracije onečišćujućih tvari (µg/m³): python-aqi.

Instalirajte knjižnicu pomoću PIP -a i napravite test (pogledajte gornji kod)

pip install python-aqi

A što je s Čileom?

U Čileu se koristi sličan indeks, ICAP: Indeks kvalitete zraka za čestice koje dišu. Vrhovnom uredbom 59, od 16. ožujka 1998., Glavnog tajnika Ministarstva Predsjedništva Republike, u svom članku 1., slovu g) utvrđeno je da razine koje definiraju ICA za prozračne čestice, ICAP.

Vrijednosti će se linearno mijenjati između odjeljaka, vrijednost 500 bi odgovarala graničnoj vrijednosti iznad koje bi postojao rizik za populaciju kada je izložena tim koncentracijama. Prema ICAP vrijednostima, utvrđene su kategorije koje kvalificiraju razine koncentracije MP10 kojima su ljudi bili izloženi.

Korak 7: Lokalno bilježenje podataka

Lokalno bilježenje podataka
Lokalno bilježenje podataka
Lokalno bilježenje podataka
Lokalno bilježenje podataka
Lokalno bilježenje podataka
Lokalno bilježenje podataka

U ovom trenutku imamo sve alate za hvatanje podataka sa senzora i njihovo pretvaranje za "čitljiviju vrijednost", a to je AQI indeks.

Izradimo funkciju za hvatanje tih vrijednosti. Snimit ćemo 3 vrijednosti u nizu uzimajući prosjek među njima:

def get_data (n = 3):

sensor.sleep (sleep = False) pmt_2_5 = 0 pmt_10 = 0 time.sleep (10) za i u rasponu (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 Gore možete vidjeti rezultate testa. Učinimo i funkciju za pretvaranje numeričkih vrijednosti PM u AQI indeks

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 iznad rezultata testa s obje funkcije. Ali što učiniti s njima? Najjednostavniji odgovor je stvoriti funkciju za spremanje snimljenih podataka spremajući ih u lokalnu datoteku

def save_log ():

s otvorenim ("VAŠ PUT OVDJE/air_quality.csv", "a") kao zapisnik: dt = datetime.now () log.write ("{}, {}, {}, {}, {} n"). format (dt, pmt_2_5, aqi_2_5, pmt_10, aqi_10)) log.close () Jednom petljom možete bilježiti podatke u redovitim bazama u lokalnoj datoteci, na primjer, svake minute

dok (Istina):

pmt_2_5, pmt_10 = get_data () aqi_2_5, aqi_10 = conv_aqi (pmt_2_5, pmt_10) try: save_log () osim: print ("[INFO] Greška u evidentiranju podataka") time.sleep (60) Svakih 60 sekundi vremenska oznaka i podaci bit će "dodani" ovoj datoteci, kao što možemo vidjeti gore.

Korak 8: Slanje podataka na uslugu u oblaku

Slanje podataka usluzi u oblaku
Slanje podataka usluzi u oblaku

U ovom smo trenutku naučili kako hvatati podatke sa senzora spremajući ih u lokalnu CSV datoteku. Sada je vrijeme da vidimo kako poslati te podatke na IoT platformu. U ovom vodiču koristit ćemo ThingSpeak.com.

„ThingSpeak je aplikacija Internet of Things (IoT) otvorenog koda za pohranu i dohvaćanje podataka iz stvari, koristeći REST i MQTT API-je. ThingSpeak omogućuje izradu aplikacija za bilježenje senzora, aplikacija za praćenje lokacije i društvenu mrežu stvari s ažuriranjima statusa.”

Prvo morate imati račun na ThinkSpeak.com. Zatim slijedite upute za stvaranje kanala, uzimajući u obzir njegov ID kanala i API API ključ.

Prilikom stvaranja kanala morate također definirati koji će se podaci učitati u svako od 8 polja, kao što je prikazano gore (u našem slučaju će se koristiti samo 4 od njih).

Korak 9: MQTT protokol i veza ThingSpeak

MQTT protokol i veza ThingSpeak
MQTT protokol i veza ThingSpeak

MQTT je arhitektura za objavljivanje/pretplatu koja je razvijena prvenstveno za povezivanje propusnosti i uređaja ograničenih snage putem bežičnih mreža. To je jednostavan i lagan protokol koji radi preko TCP/IP utičnica ili WebSockets. MQTT preko WebSockets može se osigurati SSL -om. Arhitektura objavljivanja/pretplate omogućuje slanje poruka na klijentske uređaje bez potrebe uređaja da neprestano anketira poslužitelj.

MQTT posrednik središnja je točka komunikacije i zadužen je za slanje svih poruka između pošiljatelja i zakonitih primatelja. Klijent je svaki uređaj koji se poveže s posrednikom i može objaviti ili se pretplatiti na teme radi pristupa informacijama. Tema sadrži informacije o usmjeravanju za brokera. Svaki klijent koji želi slati poruke objavljuje ih na određenu temu, a svaki klijent koji želi primati poruke pretplaćuje se na određenu temu. Posrednik isporučuje sve poruke s odgovarajućom temom odgovarajućim klijentima.

ThingSpeak ™ ima MQTT brokera na URL -u mqtt.thingspeak.com i portu 1883. Broker ThingSpeak podržava i MQTT objavljivanje i MQTT pretplatu.

U našem slučaju koristit ćemo MQTT Publish.

Korak 10: MQTT objava

MQTT Publish
MQTT Publish

Za početak, instalirajmo klijentsku knjižnicu Eclipse Paho MQTT Python koja implementira verzije 3.1 i 3.1.1 MQTT protokola

sudo pip install paho-mqtt

Zatim uvozimo paho biblioteku:

uvoz paho.mqtt.objavi kao objavi

i pokrenuti Thingspeak kanal i MQTT protokol. Ova metoda povezivanja je najjednostavnija i zahtijeva najmanje sistemskih resursa:

channelID = "ID VAŠEG KANALA"

apiKey = "VAŠ KLJUČ ZA ZAPIS" topic = "kanali/" + channelID + "/objava/" + apiKey mqttHost = "mqtt.thingspeak.com" Sada moramo definirati svoj "korisni teret"

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

I to je to! spremni smo za početak slanja podataka u oblak! Prepišemo prethodnu funkciju petlje kako bismo u nju uključili i njezin dio ThingSpeak.

# Slanje svih podataka u ThingSpeak svake 1 minute

while (Tačno): 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 () osim: print ("[INFO] Greška pri slanju podataka ") time.sleep (60) Ako je sve u redu, morate vidjeti da se podaci pojavljuju i na vašem kanalu na thingspeak.com kao što je prikazano gore.

Korak 11: Završni scenarij

Važno je naglasiti da je Jupyter Notebook vrlo dobar alat za razvoj i izvještavanje, ali ne i za stvaranje koda za stavljanje u proizvodnju. Ono što sada trebate učiniti je uzeti odgovarajući dio koda i stvoriti.py skriptu te je pokrenuti na svom terminalu.

Na primjer, "ts_air_quality_logger.py", koju biste trebali pokrenuti s naredbom:

python 3 ts_air_quality_logger.py

Ova skripta, kao i Jupyter Notebook i sds011.py mogu se pronaći u mojem spremištu na RPi_Air_Quality_Sensor.

Imajte na umu da je ova skripta izvediva samo za testiranje. Najbolje je ne koristiti kašnjenja unutar završne petlje (koja stavlja kôd u "pauzu"), umjesto toga koristite mjerače vremena. Ili za stvarnu aplikaciju, najbolje je ne koristiti petlju jer je Linux programiran za redovito izvršavanje skripte s crontabom.

Korak 12: Izvadite monitor izvana

Iznošenje monitora izvana
Iznošenje monitora izvana
Iznošenje monitora izvana
Iznošenje monitora izvana
Iznošenje monitora izvana
Iznošenje monitora izvana
Iznošenje monitora izvana
Iznošenje monitora izvana

Kad je moj monitor kvalitete zraka Raspberry Pi proradio, sastavio sam RPi u plastičnoj kutiji, držeći senzor vani i postavio ga izvan kuće.

Napravljena su dva iskustva.

Korak 13: Izgaranje benzinskih motora

Izgaranje benzinskih motora
Izgaranje benzinskih motora
Izgaranje benzinskih motora
Izgaranje benzinskih motora

Senzor je postavljen oko 1 m od Lambrettinog plinskog otvora, a motor mu se uključio. Motor je radio par minuta i isključio se. Iz gornje datoteke dnevnika rezultat koji sam dobio. Zanimljivo je potvrditi da je PM2.5 najopasnija čestica nastala iz motora.

Korak 14: Spaljivanje drva

Spaljivanje drva
Spaljivanje drva
Spaljivanje drva
Spaljivanje drva

Gledajući datoteku dnevnika, shvaćamo da su podaci senzora trenutačno bili "izvan raspona" i nisu bili dobro zarobljeni u AQI knjižnici za pretvorbu, pa mijenjam prethodni kôd kako bih to obradio:

def conv_aqi (pmt_2_5, pmt_10):

pokušajte: 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 osim: return 600, 600 Ova se situacija može dogoditi na terenu, što je u redu. Upamtite da biste zapravo trebali koristiti pokretni prosjek da biste zaista dobili AQI (barem po satu, ali obično dnevno).

Korak 15: Zaključak

Zaključak
Zaključak

Kao i uvijek, nadam se da će ovaj projekt pomoći drugima da pronađu svoj put u uzbudljivi svijet elektronike i znanosti o podacima!

Za detalje i konačni kôd posjetite moje skladište GitHub: RPi_Air_Quality_Sensor.

Saludos s juga svijeta!

Vidimo se na sljedećoj instrukciji!

Hvala vam, Marcelo

Preporučeni: