Innholdsfortegnelse:

En billig IoT luftkvalitetsmonitor basert på RaspberryPi 4: 15-trinn (med bilder)
En billig IoT luftkvalitetsmonitor basert på RaspberryPi 4: 15-trinn (med bilder)

Video: En billig IoT luftkvalitetsmonitor basert på RaspberryPi 4: 15-trinn (med bilder)

Video: En billig IoT luftkvalitetsmonitor basert på RaspberryPi 4: 15-trinn (med bilder)
Video: ⚡️ Я НЕ СДАМСЯ! AMAZON 2.0 | Интернет магазин с нуля - Часть 3 2024, Juli
Anonim
En billig IoT luftkvalitetsmonitor basert på RaspberryPi 4
En billig IoT luftkvalitetsmonitor basert på RaspberryPi 4
En billig IoT luftkvalitetsmonitor basert på RaspberryPi 4
En billig IoT luftkvalitetsmonitor basert på RaspberryPi 4
En billig IoT luftkvalitetsmonitor basert på RaspberryPi 4
En billig IoT luftkvalitetsmonitor basert på RaspberryPi 4
En billig IoT luftkvalitetsmonitor basert på RaspberryPi 4
En billig IoT luftkvalitetsmonitor basert på RaspberryPi 4

Santiago, Chile under en vintermiljøkrise har privilegiet å bo i et av de vakreste landene i verden, men dessverre er det ikke alle roser. Chile i vintersesongen lider mye av luftforurensning, hovedsakelig på grunn av partikler som støv og smog.

På grunn av kaldt vær i sør skyldes luftforurensning hovedsakelig trebaserte kalefaktorer og i Santiago (hovedstaden i sentrum av landet) blandet fra næringer, biler og den unike geografiske situasjonen mellom 2 store fjellkjeder.

I dag er luftforurensning et stort problem over hele verden, og i denne artikkelen vil vi undersøke hvordan du utvikler en billig, hjemmelaget luftkvalitetsmonitor, basert på en Raspberry Pi. Hvis du er interessert i å forstå mer om luftkvalitet, kan du gå til "World Air Quality Index" -prosjektet.

Rekvisita

  • Bringebær Pi 4
  • 1SDS011 - Høy presisjons laser pm2.5 luftkvalitetsdeteksjonssensor
  • Plastboks

Trinn 1: Particulate Matter (PM): Hva er det? Hvordan kommer det i luften?

Particulate Matter (PM): Hva er det? Hvordan kommer det i luften?
Particulate Matter (PM): Hva er det? Hvordan kommer det i luften?

Så, for å forstå forurensning eller luftforurensning, må vi studere partiklene som er relatert til det, som også er kjent som partikler. Når vi ser på grafene i forrige seksjon, kan vi se at de nevnte PM2.5 og PM10. La oss gi en rask oversikt over det.

PM står for partikler (også kalt partikkelforurensning): betegnelsen på en blanding av faste partikler og væskedråper som finnes i luften. Noen partikler, for eksempel støv, skitt, sot eller røyk, er store eller mørke nok til å bli sett med det blotte øye. Andre er så små at de bare kan oppdages ved hjelp av et elektronmikroskop. Partikler kommer i et bredt spekter av størrelser. Partikler mindre enn eller lik 10 mikrometer i diameter er så små at de kan komme inn i lungene og potensielt forårsake alvorlige helseproblemer. Ti mikrometer er mindre enn bredden på et enkelt hår.

Partikkelforurensning inkluderer grove støvpartikler (PM10): inhalerbare partikler, med diametre som vanligvis er 10 mikrometer og mindre. Kilder inkluderer knusing eller sliping og støv som blir rørt av kjøretøyer på veier. Fine partikler (PM2,5): fine inhalerbare partikler, med diametre som vanligvis er 2,5 mikrometer og mindre. Fine partikler produseres fra alle typer forbrenning, inkludert motorvogner, kraftverk, vedfyring, skogbranner, jordbruksforbrenning og noen industrielle prosesser du kan finne mer om partiklene på EPA -siden: United States Environmental Protection Agency

Trinn 2: Hvorfor er det viktig å bry seg om partikler?

Hvorfor er det viktig å bry seg om de partiklene?
Hvorfor er det viktig å bry seg om de partiklene?

Som beskrevet av GERARDO ALVARADO Z. i sitt arbeid ved Chile University, har studier av episoder med høy luftforurensning i Meuse -dalen (Belgia) i 1930, Donora (Pennsylvania) i 1948 og London i 1952 vært de første dokumenterte kildene som relaterte dødelighet med partikkelforurensning (Préndez, 1993). Fremskritt i den undersøkelse av virkningene av forurensninger på folks helse har fastslått at helserisiko forårsaket av inhalerbare partikler, avhengig av deres gjennomtrengning og avsetning i forskjellige deler av luftveiene, og den biologiske respons på avsatte materialer.

De tykkeste partiklene, omtrent 5 mikrometer, filtreres av den felles virkningen av cilia i nesegangen og slimhinnen som dekker nesehulen og luftrøret. Partikler med en diameter mellom 0,5 og 5 mikrometer kan deponeres i bronkiene og til og med i lungealveolene, men de elimineres av cilia av bronkier og bronkioler etter noen timer. Partikler mindre enn 0,5 mikrometer kan trenge dypt ned til de deponeres i lunge -alveolene, som gjenstår fra uker til år, siden det ikke er noen mucociliær transportmekanisme som letter eliminering. Figuren nedenfor viser penetrasjon av partiklene i luftveiene avhengig av størrelsen.

Så det er veldig viktig å få øye på begge typer partikler (PM2.5 og PM10), og den gode nyheten er at begge er lesbare av en enkel og ikke dyr sensor, SDS011.

Trinn 3: Partikkelsensoren - SDS011

Partikkelsensoren - SDS011
Partikkelsensoren - SDS011
Partikkelsensoren - SDS011
Partikkelsensoren - SDS011

Luftkvalitetsovervåking er kjent og etablert vitenskap som startet tilbake på 80 -tallet. På den tiden var teknologien ganske begrenset, og løsningen som ble brukt til å kvantifisere luftforurensningskomplekset, tungvint og veldig dyr.

Heldigvis, med dagens nyeste og moderne teknologi, blir løsningene som brukes for luftkvalitetsovervåking ikke bare mer presise, men også raskere ved måling. Enheter blir mindre og koster mye rimeligere enn noensinne.

I denne artikkelen vil vi fokusere på en partikkelsensor som kan oppdage mengden støv i luften. Mens den første generasjonen bare var i stand til å oppdage mengden ugjennomsiktighet, kan de nyeste sensorene som SDS011 fra INOVAFIT, en spin-off fra University of Jinan (i Shandong), nå oppdage PM2.5 og PM10.

Med sin størrelse er SDS011 sannsynligvis en av de beste sensorene når det gjelder nøyaktighet og pris (mindre enn USD40,00).

  • Målte verdier: PM2.5, PM10
  • Rekkevidde: 0–999,9 μg /m³
  • Forsyningsspenning: 5V (4.7–5.3V)
  • Strømforbruk (arbeid): 70mA ± 10mA
  • Strømforbruk (hvilemodus laser og vifte): <4mA
  • Lagringstemperatur: -20 til +60C
  • Arbeidstemperatur: -10 til +50C
  • Fuktighet (lagring): Maks. 90%
  • Fuktighet (arbeid): Maks. 70% (kondensering av vanndamp forfalsker avlesninger)
  • Nøyaktighet: 70% for 0,3μm og 98% for 0,5μm
  • Størrelse: 71x70x23 mm
  • Sertifisering: CE, FCC, RoHS

SD011 bruker kretskortet som den ene siden av foringsrøret, slik at det kan redusere kostnadene. Reseptordioden er montert på PCB -siden (dette er obligatorisk, da enhver støy mellom dioden og LNA bør unngås). Emitterlaseren er montert på plastboksen og koblet til PCB via en fleksibel ledning.

Kort sagt, Nova Fitness SDS011 er en profesjonell laserstøvføler. Vifte montert på sensoren suger automatisk luft. Sensoren bruker et laserlys -spredningsprinsipp* for å måle verdien av støvpartikler som er suspendert i luften. Sensoren gir høy presisjon og pålitelig avlesning av PM2.5 og PM10 verdier. Enhver endring i miljøet kan observeres nesten øyeblikkelig kort responstid under 10 sekunder. Sensoren i standardmodus rapporterer lesing med et intervall på 1 sekund.

* Laserspredningsprinsipp: Lysspredning kan induseres når partikler går gjennom detekteringsområdet. Det spredte lyset transformeres til elektriske signaler, og disse signalene vil bli forsterket og behandlet. Antall og diameter på partikler kan oppnås ved analyse fordi signalbølgeformen har visse forhold til partiklens diameter.

Trinn 4: Men hvordan kan SDS011 fange opp disse partiklene?

Men hvordan kan SDS011 fange opp disse partiklene?
Men hvordan kan SDS011 fange opp disse partiklene?
Men hvordan kan SDS011 fange opp disse partiklene?
Men hvordan kan SDS011 fange opp disse partiklene?

Som kommentert før, er prinsippet som brukes av SDS011 lysspredning eller bedre, Dynamic Light Scattering (DLS), som er en teknikk i fysikk som kan brukes til å bestemme størrelsesfordelingsprofilen til små partikler i suspensjon eller polymerer i løsning. I omfanget av DLS blir tidsmessige svingninger vanligvis analysert ved hjelp av intensiteten eller fotonens auto-korrelasjonsfunksjon (også kjent som fotonkorrelasjonsspektroskopi eller kvasi-elastisk lysspredning). I tidsdomenet analyse, autokorrelasjonsfunksjon (ACF) vanligvis desintegrasjoner starter fra null forsinkelse, og raskere dynamikk på grunn av mindre partikler føre til en raskere dekorrelasjon av spredte intensitet spor. Det har blitt vist at intensiteten ACF er Fourier -transformasjonen av effektspekteret, og derfor kan DLS -målingene utføres like godt i spektralområdet.

Over en hypotetisk dynamisk lysspredning av to prøver: Større partikler (som PM10) på toppen og mindre partikler (som PM2.5) på bunnen. Og når vi ser inn i sensoren vår, kan vi se hvordan lysspredningsprinsippet er implementert.

Det elektriske signalet som fanges opp på dioden går til forsterkeren med lav støy og deretter konverteres til et digitalt signal gjennom en ADC og til utsiden via en UART.

Hvis du vil vite mer om SDS011 om en ekte vitenskapelig erfaring, kan du ta en titt på 2018-arbeidet til Konstantinos et al., Utvikling og testing på stedet av bærbare bærbare systemer for overvåking av PM2.5-konsentrasjoner.

Trinn 5: Showtime

Showtime!
Showtime!
Showtime!
Showtime!

La oss ta en pause i all denne teorien og fokusere på hvordan vi måler partikler ved hjelp av en Raspberry Pi og SDS011 -sensoren

HW -tilkoblingen er faktisk veldig enkel. Sensoren selges med en USB -adapter for å koble utdataene fra den 7 -pins UART -en til en av RPis standard USB -kontakter.

SDS011 pinout:

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

For denne opplæringen bruker jeg for første gang en helt ny Raspberry-Pi 4. Men selvfølgelig vil alle tidligere modeller også fungere fint.

Så snart du kobler sensoren til en av RPi USB -portene, begynner du automatisk å lytte til lyden fra viften. Støyen er litt irriterende, så kanskje du bør koble den fra og vente til du er klar med SW.

Kommunikasjonen mellom sensoren og RPi vil skje gjennom en seriell protokoll. Detaljer om denne protokollen finner du her: Laser Dust Sensor Control Protocol V1.3. Men for dette prosjektet er det beste å bruke et python -grensesnitt for å forenkle koden som skal utvikles. Du kan lage ditt eget grensesnitt eller bruke noen som er tilgjengelige på internett, som Frank Heuer eller Ivan Kalchev. Vi bruker den siste, som er veldig enkel og fungerer bra (du kan laste ned sds011.py -skriptet fra GitHub eller mitt).

Filen sds011.py må være i samme katalog som du oppretter skriptet til.

I utviklingsfasen vil jeg bruke en Jupyter Notebook, men du kan bruke hvilken som helst IDE du liker (Thonny eller Geany, for eksempel som er en del av Raspberry Pi Debian -pakken, er begge veldig gode).

Begynn å importere sds011, og opprett sensorforekomsten din. SDS011 gir en metode for å lese fra sensoren ved hjelp av en UART.

fra sds011 import *

sensor = SDS011 ("/dev/ttyUSB0")

Du kan slå sensoren på eller av med kommandoen sleep:

pmt_2_5, pmt_10 = sensor.query ()

Vent minst 10 sekunder for stabilisering før målinger og minst 2 sekunder for å starte en ny (se koden ovenfor).

Og dette er alt du trenger å vite når det gjelder SW for å bruke sensoren. Men la oss gå dypere på luftkvalitetskontroll! I begynnelsen av denne artikkelen, hvis du har utforsket nettstedene som gir informasjon om hvor god eller dårlig luften er, bør du innse at farger er knyttet til disse verdiene. Hver farge er en indeks. Den mest kjente av det er AQI (Air Quality Index), brukt i USA og flere andre land.

Trinn 6: Luftkvalitetsindeks - AQI

Luftkvalitetsindeks - AQI
Luftkvalitetsindeks - AQI
Luftkvalitetsindeks - AQI
Luftkvalitetsindeks - AQI
Luftkvalitetsindeks - AQI
Luftkvalitetsindeks - AQI

AQI er en indeks for rapportering av daglig luftkvalitet. Den forteller deg hvor ren eller forurenset luften din er, og hvilke tilknyttede helseeffekter som kan være en bekymring for deg. AQI fokuserer på helseeffekter du kan oppleve i løpet av få timer eller dager etter å ha pustet forurenset luft.

EPA (United States Environmental Protection Agency) beregner for eksempel AQI ikke bare for partikkelforurensning (PM2.5 og PM10), men også for de andre store luftforurensningene regulert av Clean Air Act: ozon på bakkenivå, karbonmonoksid, svoveldioksid og nitrogendioksid. For hver av disse forurensningene har EPA etablert nasjonale luftkvalitetsstandarder for å beskytte folkehelsen. Se bildet ovenfor med AQI -verdier, farger og helsemelding.

Som kommentert før, er disse AQI -verdiene og fargene relatert til hver av forurensende stoffer, men hvordan knytter jeg verdiene generert av sensorer til dem? Et tilleggstabell forbinder dem alle som vist ovenfor.

Men det gir selvfølgelig ingen mening å bruke et slikt bord. Til slutt er det en enkel matematisk algoritme som gjør beregningen. For det vil vi importere biblioteket for å konvertere mellom AQI-verdi og forurensningskonsentrasjon (µg/m³): python-aqi.

Installer biblioteket ved hjelp av PIP og gjør en test (se koden ovenfor)

pip installer python-aqi

Og hva med Chile?

I Chile brukes en lignende indeks, ICAP: Air Quality Index for Pustende partikler. Et overordnet dekret 59 av 16. mars 1998 fra generalsekretærdepartementet i republikkens presidentskap fastslår i artikkel 1 bokstav g) at nivåene som definerer ICA for pustende partikler, ICAP.

Verdiene vil variere lineært mellom seksjonene, verdien 500 ville tilsvare grenseverdien som det ville være en risiko for befolkningen når de utsettes for disse konsentrasjonene. I henhold til ICAP -verdiene har det etablert kategorier som kvalifiserer konsentrasjonsnivåene til MP10 som mennesker ble utsatt for.

Trinn 7: Logge data lokalt

Logger data lokalt
Logger data lokalt
Logger data lokalt
Logger data lokalt
Logger data lokalt
Logger data lokalt

På dette tidspunktet har vi alle verktøyene for å fange data fra sensoren og også konvertere dem for en mer "lesbar verdi", at det er AQI -indeksen.

La oss lage en funksjon for å fange opp disse verdiene. Vi vil fange 3 verdier i rekkefølge og ta gjennomsnittet blant dem:

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 Over kan du se testresultatet. La oss også gjøre en funksjon for å konvertere de numeriske verdiene til PM i AQI -indeksen

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)) returner aqi_2_5, aqi_10 over resultatet av en test med begge funksjonene. Men hva skal jeg gjøre med dem? Det mest enkle svaret er å lage en funksjon for å lagre de fangede dataene, og lagre dem i en lokal fil

def save_log ():

med åpen ("DIN STI HER/air_quality.csv", "a") som logg: dt = datetime.now () log.write ("{}, {}, {}, {}, {} n". format (dt, pmt_2_5, aqi_2_5, pmt_10, aqi_10)) log.close () Med en enkelt sløyfe kan du logge data med jevne mellomrom i din lokale fil, for eksempel hvert minutt

mens (True):

pmt_2_5, pmt_10 = get_data () aqi_2_5, aqi_10 = conv_aqi (pmt_2_5, pmt_10) prøve: save_log () unntatt: print ("[INFO] Feil i loggdata") time.sleep (60) Hvert 60. sekund vil tidsstemplet pluss dataene bli "vedlagt" til denne filen, som vi kan se ovenfor.

Trinn 8: Sende data til en skytjeneste

Sende data til en skytjeneste
Sende data til en skytjeneste

På dette tidspunktet har vi lært hvordan vi kan fange data fra sensoren og lagre dem på en lokal CSV -fil. Nå er det på tide å se hvordan du sender disse dataene til en IoT -plattform. I denne opplæringen bruker vi ThingSpeak.com.

“ThingSpeak er en åpen kildekode for tingenes internett (IoT) for å lagre og hente data fra ting ved hjelp av REST- og MQTT-APIer. ThingSpeak gjør det mulig å opprette sensorloggingsapplikasjoner, posisjonssporingsprogrammer og et sosialt nettverk av ting med statusoppdateringer.”

Først må du ha en konto på ThinkSpeak.com. Følg deretter instruksjonene for å opprette en kanal, og noter deg kanal -ID og skrive -API -nøkkel.

Når du oppretter kanalen, må du også definere hvilken informasjon som skal lastes opp til hvert av de åtte feltene, som vist ovenfor (i vårt tilfelle vil bare 4 av dem bli brukt).

Trinn 9: MQTT -protokoll og ThingSpeak -tilkobling

MQTT -protokoll og ThingSpeak -tilkobling
MQTT -protokoll og ThingSpeak -tilkobling

MQTT er en publiser/abonner-arkitektur som først og fremst ble utviklet for å koble båndbredde og strømbegrensede enheter over trådløse nettverk. Det er en enkel og lett protokoll som kjører over TCP/IP -kontakter eller WebSockets. MQTT over WebSockets kan sikres med SSL. Publiser/abonner -arkitekturen gjør det mulig å skyve meldinger til klientenhetene uten at enheten trenger å polle serveren kontinuerlig.

MQTT -megleren er det sentrale kommunikasjonspunktet, og den har ansvaret for å sende alle meldinger mellom avsenderne og de rettmessige mottakerne. En klient er enhver enhet som kobles til megleren og kan publisere eller abonnere på emner for å få tilgang til informasjonen. Et emne inneholder ruteinformasjon for megleren. Hver klient som ønsker å sende meldinger, publiserer dem til et bestemt emne, og hver klient som ønsker å motta meldinger, abonnerer på et bestemt emne. Megleren leverer alle meldinger med det matchende emnet til de riktige klientene.

ThingSpeak ™ har en MQTT -megler på URL -adressen mqtt.thingspeak.com og port 1883. ThingSpeak -megleren støtter både MQTT -publisering og MQTT -abonnement.

I vårt tilfelle vil vi bruke MQTT Publish.

Trinn 10: MQTT Publiser

MQTT Publiser
MQTT Publiser

For å starte, la oss installere Eclipse Paho MQTT Python -klientbiblioteket, som implementerer versjon 3.1 og 3.1.1 av MQTT -protokollen

sudo pip installer paho-mqtt

La oss deretter importere paho -biblioteket:

importer paho.mqtt.publiser som publiser

og starte Thingspeak -kanalen og MQTT -protokollen. Denne tilkoblingsmetoden er den enkleste og krever minst systemressurser:

channelID = "DIN KANAL ID"

apiKey = "DIN SKRIVETAST" emne = "kanaler/" + channelID + "/publish/" + apiKey mqttHost = "mqtt.thingspeak.com" Nå må vi definere vår "nyttelast"

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

Og det er det! vi er klare til å begynne å sende data til skyen! La oss omskrive den forrige sløyfefunksjonen til også å inkludere ThingSpeak -delen av den.

# Sender alle data til ThingSpeak hvert 1 minutt

mens (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 (emne, nyttelast = tPayload, vertsnavn = mqttHost, port = tPort, tls = tTLS, transport = tTransport) save_log () unntatt: print ("[INFO] Feil ved sending av data ") time.sleep (60) Hvis alt er ok, må du se data også vises på kanalen din på thingspeak.com som vist ovenfor.

Trinn 11: Det endelige manuset

Det er viktig å påpeke at Jupyter Notebook er et veldig godt verktøy for utvikling og rapportering, men nei for å lage en kode for å sette i produksjon. Det du bør gjøre nå er å ta den relevante delen av koden og lage et.py -skript og kjøre det på terminalen din.

For eksempel "ts_air_quality_logger.py", som du bør kjøre med kommandoen:

python 3 ts_air_quality_logger.py

Dette skriptet samt Jupyter Notebook og sds011.py finnes i mitt depot på RPi_Air_Quality_Sensor.

Vær oppmerksom på at dette skriptet bare er mulig for testing. Det beste er å ikke bruke forsinkelser inne i den siste løkken (som setter koden i "pause"), i stedet bruke tidtakere. Eller for en ekte applikasjon, det beste er ikke å bruke løkken, med Linux programmert til å utføre skriptet med jevne mellomrom med crontab.

Trinn 12: Ta skjermen utenfor

Ta skjermen utenfor
Ta skjermen utenfor
Ta skjermen utenfor
Ta skjermen utenfor
Ta skjermen utenfor
Ta skjermen utenfor
Ta skjermen utenfor
Ta skjermen utenfor

Når min Raspberry Pi luftkvalitetsmonitor fungerte, monterte jeg RPi i en plastboks, og holdt sensoren utenfor og plasserte den utenfor hjemmet mitt.

To erfaringer ble gjort.

Trinn 13: Bensinmotorforbrenning

Bensinmotorforbrenning
Bensinmotorforbrenning
Bensinmotorforbrenning
Bensinmotorforbrenning

Sensoren ble plassert rundt 1 meter fra Lambrettas gasskilde, og motoren ble slått på. Motoren gikk i et par minutter og slo av. Fra loggfilen ovenfor, resultatet som jeg fikk. Interessant å bekrefte at PM2.5 var den farligste partikkelen som ble forårsaket av motoren.

Trinn 14: Vedfyring

Trebrenning
Trebrenning
Trebrenning
Trebrenning

Når vi ser på loggfilen, innser vi at sensordataene var momentane "out of Range" og ikke ble godt fanget opp av AQI -konverteringsbiblioteket, så jeg endrer forrige kode for å håndtere det:

def conv_aqi (pmt_2_5, pmt_10):

prøv: aqi_2_5 = aqi.to_iaqi (aqi. POLLUTANT_PM25, str (pmt_2_5)) aqi_10 = aqi.to_iaqi (aqi. POLLUTANT_PM10, str (pmt_10)) returner aqi_2_5, aqi_10 bortsett fra: retur 600, 600 Denne situasjonen kan skje i feltet, noe som er OK. Husk at du faktisk bør bruke glidende gjennomsnitt for å virkelig få AQI (minst en time, men vanligvis daglig).

Trinn 15: Konklusjon

Konklusjon
Konklusjon

Som alltid håper jeg at dette prosjektet kan hjelpe andre med å finne veien inn i den spennende verden innen elektronikk og datavitenskap!

For detaljer og endelig kode, vennligst besøk mitt GitHub -depot: RPi_Air_Quality_Sensor.

Hilsener fra den sørlige verden!

Se deg på min neste instruktive!

Takk skal du ha, Marcelo

Anbefalt: