Sadržaj:

Jeftin IoT monitor kvaliteta zraka zasnovan na RaspberryPi 4: 15 koraka (sa slikama)
Jeftin IoT monitor kvaliteta zraka zasnovan na RaspberryPi 4: 15 koraka (sa slikama)

Video: Jeftin IoT monitor kvaliteta zraka zasnovan na RaspberryPi 4: 15 koraka (sa slikama)

Video: Jeftin IoT monitor kvaliteta zraka zasnovan na RaspberryPi 4: 15 koraka (sa slikama)
Video: БАНФ ПУТЕВОДИТЕЛЬ 🦌 | 15 Чем заняться в БАНФЕ, Канада 🇨🇦 ⛰️ 2024, Novembar
Anonim
Jeftin IoT monitor kvaliteta zraka zasnovan na RaspberryPi 4
Jeftin IoT monitor kvaliteta zraka zasnovan na RaspberryPi 4
Jeftin IoT monitor kvaliteta zraka zasnovan na RaspberryPi 4
Jeftin IoT monitor kvaliteta zraka zasnovan na RaspberryPi 4
Jeftin IoT monitor kvaliteta zraka zasnovan na RaspberryPi 4
Jeftin IoT monitor kvaliteta zraka zasnovan na RaspberryPi 4
Jeftin IoT monitor kvaliteta zraka zasnovan na RaspberryPi 4
Jeftin IoT monitor kvaliteta zraka zasnovan na RaspberryPi 4

Santiago, Čile za vrijeme zimske ekološke krize ima privilegiju živjeti u jednoj od najljepših zemalja na svijetu, ali nažalost nisu sve ruže. Čile tokom zimske sezone pati od zagađ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 grad u središtu zemlje) pomiješanim od industrije, automobila i jedinstvene geografske situacije 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, zasnovan na Raspberry Pi. Ako ste zainteresirani za više informacija o kvaliteti zraka, posjetite projekt “Svjetski indeks kvalitete zraka”.

Supplies

  • Raspberry Pi 4
  • 1SDS011 - Laserski senzor za detekciju kvaliteta zraka pm2.5 visoke preciznosti
  • Plastic Box

Korak 1: Česte čestice (PM): šta je to? Kako se diže u zrak?

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

Dakle, da bismo razumjeli zagađenje ili zagađ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 se spominju PM2.5 i PM10. Dajmo kratak pregled toga.

PM označava čestice (koje se nazivaju i zagađenje česticama): izraz za mješavinu čvrstih čestica i kapljica tečnosti 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 ili jednakog 10 mikrometara toliko su male da mogu ući u pluća, potencijalno uzrokujući ozbiljne zdravstvene probleme. Deset mikrometara je manje 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 operacije drobljenja ili mljevenja i 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 sagorijevanja, uključujući motorna vozila, elektrane, sagorijevanje drva u stanovima, šumske požare, spaljivanje u poljoprivredi i neke industrijske procese. Više o česticama možete pronaći na web stranici 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 voditi računa o tim česticama?
Zašto je važno voditi računa o tim česticama?

Kako je opisao GERARDO ALVARADO Z. u svom radu na Univerzitetu u Čileu, studije o epizodama visokog zagađenja zraka u dolini Meuse (Belgija) 1930. godine, Donora (Pensilvanija) 1948. i London 1952. bili su prvi dokumentirani izvori koji povezuju mortalitet sa kontaminacijom č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 respiratornog sistema, 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 sedmica do godina, jer ne postoji mukocilijarni transportni mehanizam koji olakšava eliminaciju. Sljedeća slika prikazuje prodiranje čestica u respiratorni sistem ovisno o njihovoj veličini.

Dakle, da bi se uočile obje vrste čestica (PM2.5 i PM10) vrlo je važno, a dobra vijest je 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 vrijeme tehnologija je bila prilično ograničena, a rješenje korišteno za kvantificiranje kompleksa zagađenja zraka, glomazno i zaista 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 i koštaju mnogo pristupačnije nego ikad prije.

U ovom članku ćemo se fokusirati 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 Univerziteta u Jinanu (u Shandongu), sada mogu otkriti PM2,5 i PM10.

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

  • Izmerene vrednosti: 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): Max. 90%
  • Vlažnost (rad): Maks. 70% (kondenzacija vodene pare krivotvori očitanja)
  • Tač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, omogućavajući smanjenje njegovih troškova. Receptorska dioda je montirana sa strane PCB -a (to je obavezno 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 pouzdano očitavanje vrijednosti PM2.5 i PM10. Svaka promjena u okruženju može se primijetiti gotovo trenutno, kratko vrijeme odziva ispod 10 sekundi. Senzor u standardnom načinu rada izvještava o očitanju s intervalom od 1 sekunde.

* Princip laserskog raspršivanja: Raspršenje svjetlosti može se izazvati kada čestice prođu kroz područje detekcije. Raspršena svjetlost se pretvara u električne signale i ti će se signali pojačati i obraditi. Broj i promjer čestica mogu se dobiti analizom jer signalni valni oblik 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 ranije komentirano, princip koji koristi SDS011 je raspršivanje 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 rasipanje svjetlosti). U analizi vremenskog domena, funkcija autokorelacije (ACF) obično opada 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 spektralnom domenu.

Iznad hipotetičkog dinamičkog raspršenja svjetla 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 je implementiran princip rasipanja 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.

Da biste saznali više o SDS011 o stvarnom naučnom iskustvu, pogledajte rad Konstantinosa i drugih za 2018., Razvoj i testiranje na terenu jeftinog prijenosnog sistema za praćenje koncentracija PM2.5.

Korak 5: Vrijeme prikazivanja

Pokazi vrijeme!
Pokazi vrijeme!
Pokazi vrijeme!
Pokazi vrijeme!

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.

SDS011 pinout:

  • 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. Detalje o ovom protokolu možete pronaći ovdje: Protokol za kontrolu senzora prašine lasera V1.3. No, za ovaj projekt najbolje je koristiti python sučelje za pojednostavljenje koda koji se razvija. Možete stvoriti vlastito sučelje ili koristiti neko koje je dostupno na internetu, poput Frank Heuera ili Ivana Kalčeva. Koristit ćemo posljednju, koja je vrlo jednostavna i dobro radi (možete preuzeti sds011.py skriptu sa njenog GitHub -a ili moga).

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

U fazi razvoja 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 su oba vrlo dobra).

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

iz sds011 uvoz *

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 ovo je sve što trebate znati u smislu SW -a da biste koristili senzor. 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 dnevnom kvalitetu 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 zdravstvene učinke koje možete osjetiti 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 zagađenje česticama (PM2,5 i PM10), već i za druge velike zagađivače zraka regulirane Zakonom o čistom zraku: prizemni ozon, ugljični 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 sa povezanim AQI vrijednostima, bojama i zdravstvenom porukom.

Kao što je ranije komentirano, te vrijednosti i boje AQI povezane su sa svakim od zagađivača, ali kako povezati vrijednosti koje generiraju senzori s njima? Dodatna tabela povezuje ih sve kao što je prikazano gore.

Ali, naravno, nema smisla koristiti takvu tablicu. Na kraju, to je jednostavan matematički algoritam koji vrši proračun. U tu svrhu ćemo uvesti biblioteku za pretvaranje između AQI vrijednosti i koncentracije zagađivača (µg/m³): python-aqi.

Instalirajte biblioteku pomoću PIP -a i napravite test (pogledajte gornji kod)

pip install python-aqi

A šta je sa Čileom?

U Čileu se koristi sličan indeks, ICAP: Indeks kvalitete zraka za čestice koje dišu. Vrhovnom uredbom 59, od 16. marta 1998., Generalnog sekretara Ministarstva Predsjedništva Republike, u članu 1, slovo g) utvrđeno je da nivoi koji definišu ICA za prozračne čestice, ICAP.

Vrijednosti će se linearno razlikovati između odjeljaka, vrijednost 500 bi odgovarala graničnoj vrijednosti iznad koje bi postojao rizik za populaciju kada je izložena ovim koncentracijama. Prema ICAP vrijednostima, utvrđene su kategorije koje kvalificiraju nivoe 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 u "čitljiviju vrijednost", a to je AQI indeks.

Kreirajmo 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. Uradimo 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 šta učiniti s njima? Najjednostavniji odgovor je stvoriti funkciju za spremanje snimljenih podataka spremajući ih u lokalnu datoteku

def save_log ():

sa otvorenim ("VAŠ PUT OVDJE/air_quality.csv", "a") kao dnevnik: 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 redovnim bazama u vašoj lokalnoj datoteci, na primjer, svake minute

dok (Tačno):

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 plus podaci će se "dodati" 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 stvari sa otvorenim kodom (IoT) za pohranu i preuzimanje podataka iz stvari, koristeći REST i MQTT API-je. ThingSpeak omogućuje stvaranje aplikacija za bilježenje senzora, aplikacija za praćenje lokacije i društvenu mrežu stvari sa ažuriranjima statusa.”

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

Prilikom stvaranja kanala morate također definirati koje će se informacije učitavati 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/pretplaćivanje koja je prvenstveno razvijena za povezivanje propusne širine i uređaja ograničenih snage preko bežičnih mreža. To je jednostavan i lagan protokol koji radi preko TCP/IP utičnica ili WebSockets. MQTT preko WebSockets -a može se osigurati pomoću SSL -a. Arhitektura objavljivanja/pretplate omogućuje slanje poruka na klijentske uređaje bez potrebe uređaja da neprestano anketira poslužitelj.

MQTT posrednik je središnja 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 sa 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 Publish

MQTT Publish
MQTT Publish

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

sudo pip install paho-mqtt

Zatim, uvozimo paho biblioteku:

import paho.mqtt.publish as published

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 PISANJE" topic = "kanali/" + channelID + "/objava/" + apiKey mqttHost = "mqtt.thingspeak.com" Sada moramo definirati naš "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! Prepisimo prethodnu funkciju petlje tako da uključuje i njen dio ThingSpeak.

# Slanje svih podataka u ThingSpeak svakih 1 minutu

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šna skripta

Važno je naglasiti da je Jupyter Notebook vrlo dobar alat za razvoj i izvještavanje, ali ne i za kreiranje 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 naći u mom 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 koristiti tajmere. Ili za stvarnu aplikaciju, najbolje je ne koristiti petlju jer je Linux programiran za redovno izvršavanje skripte sa crontab -om.

Korak 12: Izvadite monitor izvana

Iznošenje monitora spolja
Iznošenje monitora spolja
Iznošenje monitora spolja
Iznošenje monitora spolja
Iznošenje monitora spolja
Iznošenje monitora spolja
Iznošenje monitora spolja
Iznošenje monitora spolja

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: Sagorijevanje benzinskih motora

Sagorevanje benzinskih motora
Sagorevanje benzinskih motora
Sagorevanje benzinskih motora
Sagorevanje benzinskih motora

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

Korak 14: Spaljivanje drva

Spaljivanje drveta
Spaljivanje drveta
Spaljivanje drveta
Spaljivanje drveta

Gledajući datoteku dnevnika, shvaćamo da su podaci senzora trenutačno bili "izvan raspona" i nisu bili dobro zarobljeni u AQI biblioteci za konverziju, 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)) vrati aqi_2_5, aqi_10 osim: return 600, 600 Ova situacija se može dogoditi na terenu, što je u redu. Zapamtite da biste u stvari 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 kod posjetite moje skladište GitHub -a: RPi_Air_Quality_Sensor.

Saludos sa juga svijeta!

Vidimo se na mom sljedećem uputstvu!

Hvala ti, Marcelo

Preporučuje se: