Indholdsfortegnelse:

En billig IoT luftkvalitetsmonitor baseret på RaspberryPi 4: 15-trin (med billeder)
En billig IoT luftkvalitetsmonitor baseret på RaspberryPi 4: 15-trin (med billeder)

Video: En billig IoT luftkvalitetsmonitor baseret på RaspberryPi 4: 15-trin (med billeder)

Video: En billig IoT luftkvalitetsmonitor baseret på RaspberryPi 4: 15-trin (med billeder)
Video: ⚡️ JEG GIVER IKKE OP! Amazon 2.0 | Onlinebutik fra bunden - del 3 2024, Juli
Anonim
En billig IoT luftkvalitetsmonitor baseret på RaspberryPi 4
En billig IoT luftkvalitetsmonitor baseret på RaspberryPi 4
En billig IoT luftkvalitetsmonitor baseret på RaspberryPi 4
En billig IoT luftkvalitetsmonitor baseret på RaspberryPi 4
En billig IoT luftkvalitetsmonitor baseret på RaspberryPi 4
En billig IoT luftkvalitetsmonitor baseret på RaspberryPi 4
En billig IoT luftkvalitetsmonitor baseret på RaspberryPi 4
En billig IoT luftkvalitetsmonitor baseret på RaspberryPi 4

Santiago, Chile under en vintermiljøkrise har privilegiet at bo i et af de smukkeste lande i verden, men desværre er det ikke alle roser. Chile i vintersæsonen lider meget under luftforurening, hovedsageligt på grund af partikler som støv og smog.

På grund af koldt vejr i syd skyldes luftforurening hovedsageligt træbaserede kalefaktorer og i Santiago (hovedstaden i midten af landet) blandet fra industrier, biler og dens unikke geografiske situation mellem 2 enorme bjergkæder.

I dag er luftforurening et stort problem over hele verden, og i denne artikel vil vi undersøge, hvordan man udvikler en billig, hjemmelavet luftkvalitetsmonitor baseret på en Raspberry Pi. Hvis du er interesseret i at forstå mere om luftkvalitet, kan du besøge projektet "World Air Quality Index".

Forbrugsvarer

  • Hindbær Pi 4
  • 1SDS011 - Højpræcisions laser PM2.5 luftkvalitetsdetekteringssensor
  • Plastæske

Trin 1: Particulate Matter (PM): Hvad er det? Hvordan kommer det i luften?

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

Så for at forstå forurening eller luftforurening skal vi undersøge de partikler, der er relateret til det, som også er kendt som partikler. Når vi ser på graferne i det foregående afsnit, kan vi observere, at de nævnte PM2.5 og PM10. Lad os give et hurtigt overblik over det.

PM står for partikler (også kaldet partikelforurening): betegnelsen for en blanding af faste partikler og flydende dråber, der findes i luften. Nogle partikler, såsom støv, snavs, sod eller røg, er store eller mørke nok til at blive set med det blotte øje. Andre er så små, at de kun kan detekteres ved hjælp af et elektronmikroskop. Partikler findes i en lang række størrelser. Partikler mindre end eller lig med 10 mikrometer i diameter er så små, at de kan komme ind i lungerne og potentielt forårsage alvorlige sundhedsproblemer. Ti mikrometer er mindre end bredden på et enkelt menneskehår.

Partikelforurening omfatter grove støvpartikler (PM10): inhalerbare partikler med diametre, der generelt er 10 mikrometer og mindre. Kilder omfatter knusnings- eller slibningsoperationer og støv, der vækker op af køretøjer på veje. Fine partikler (PM2,5): fine inhalerbare partikler, med diametre der generelt er 2,5 mikrometer og mindre. Fine partikler produceres fra alle former for forbrænding, herunder motorkøretøjer, kraftværker, brændeovn i boligområder, skovbrande, landbrugsforbrænding og nogle industrielle processer, du kan finde mere om partiklerne på EPA -stedet: United States Environmental Protection Agency

Trin 2: Hvorfor er det vigtigt at bekymre sig om disse partikler?

Hvorfor er det vigtigt at bekymre sig om disse partikler?
Hvorfor er det vigtigt at bekymre sig om disse partikler?

Som beskrevet af GERARDO ALVARADO Z. i sit arbejde ved Chile University, har undersøgelser af episoder med høj luftforurening i Meuse -dalen (Belgien) i 1930, Donora (Pennsylvania) i 1948 og London i 1952 været de første dokumenterede kilder, der relaterede dødelighed med partikelforurening (Préndez, 1993). Fremskridt i undersøgelsen af luftforureningens virkninger på menneskers sundhed har bestemt, at sundhedsrisici skyldes inhalerbare partikler afhængigt af deres penetration og aflejring i forskellige dele af luftvejene og den biologiske reaktion på deponerede materialer.

De tykkeste partikler, cirka 5 μm, filtreres ved den fælles virkning af cilia i næsepassagen og slimhinden, der dækker næsehulen og luftrøret. Partikler med en diameter mellem 0,5 og 5 um kan deponeres i bronkierne og endda i lungealveolerne, men de elimineres af cilierne i bronchi og bronchioler efter et par timer. Partikler mindre end 0,5 μm kan trænge dybt ned, indtil de aflejres i lunge -alveolerne og forbliver fra uger til år, da der ikke er nogen mucociliær transportmekanisme, der letter eliminering. Den følgende figur viser penetration af partiklerne i luftvejene afhængigt af deres størrelse.

Så det er meget vigtigt at få øje på begge typer partikler (PM2.5 og PM10), og den gode nyhed er, at begge kan læses af en enkel og ikke dyr sensor, SDS011.

Trin 3: Partikelsensoren - SDS011

Partikelsensoren - SDS011
Partikelsensoren - SDS011
Partikelsensoren - SDS011
Partikelsensoren - SDS011

Overvågning af luftkvalitet er velkendt og etableret videnskab, der startede tilbage i 80’erne. På det tidspunkt var teknologien ganske begrænset, og løsningen blev brugt til at kvantificere luftforureningskomplekset, besværligt og virkelig dyrt.

Heldigvis bliver de løsninger, der bruges til overvågning af luftkvalitet i dag, med de nyeste og moderne teknologier, ikke kun mere præcise, men også hurtigere til at måle. Enheder bliver mindre og koster meget mere overkommelige end nogensinde før.

I denne artikel fokuserer vi på en partikelsensor, der kan registrere mængden af støv i luften. Mens den første generation lige var i stand til at registrere mængden af uigennemsigtighed, kan de nyeste sensorer som SDS011 fra INOVAFIT, en spin-off fra University of Jinan (i Shandong), nu registrere PM2.5 og PM10.

Med sin størrelse er SDS011 sandsynligvis en af de bedste sensorer med hensyn til nøjagtighed og pris (mindre end USD40,00).

  • Målte værdier: PM2,5, PM10
  • Område: 0–999,9 μg /m³
  • Forsyningsspænding: 5V (4,7–5,3V)
  • Strømforbrug (arbejde): 70mA ± 10mA
  • Strømforbrug (dvaletilstand laser og blæser): <4mA
  • Opbevaringstemperatur: -20 til +60C
  • Arbejdstemperatur: -10 til +50C
  • Fugtighed (opbevaring): Maks. 90%
  • Fugtighed (arbejde): Maks. 70% (kondensering af vanddamp forfalsker målinger)
  • Nøjagtighed: 70% for 0,3μm og 98% for 0,5μm
  • Størrelse: 71x70x23 mm
  • Certificering: CE, FCC, RoHS

SD011 bruger printkortet som den ene side af kabinettet, hvilket gør det muligt at reducere omkostningerne. Receptordioden er monteret på PCB -siden (dette er obligatorisk, da enhver støj mellem dioden og LNA bør undgås). Emitterlaseren er monteret på plastkassen og forbundet til printkortet via en fleksibel ledning.

Kort sagt, Nova Fitness SDS011 er en professionel laserstøvføler. Ventilator monteret på sensoren suger automatisk luft. Sensoren anvender et laserlys -spredningsprincip* til at måle værdien af støvpartikler suspenderet i luften. Sensoren giver høj præcision og pålidelig aflæsning af PM2.5 og PM10 værdier. Enhver ændring i miljøet kan observeres næsten øjeblikkeligt kort responstid under 10 sekunder. Sensoren i standardtilstand rapporterer læsning med et interval på 1 sekund.

* Laser -spredningsprincip: Lysspredning kan induceres, når partikler går gennem detekteringsområdet. Det spredte lys omdannes til elektriske signaler, og disse signaler vil blive forstærket og behandlet. Antallet og diameteren af partikler kan opnås ved analyse, fordi signalbølgeformen har visse forbindelser med partiklernes diameter.

Trin 4: Men hvordan kan SDS011 fange disse partikler?

Men hvordan kan SDS011 fange disse partikler?
Men hvordan kan SDS011 fange disse partikler?
Men hvordan kan SDS011 fange disse partikler?
Men hvordan kan SDS011 fange disse partikler?

Som kommenteret før er princippet, der bruges af SDS011, lysspredning eller bedre, Dynamic Light Scattering (DLS), som er en teknik i fysik, der kan bruges til at bestemme størrelsesfordelingsprofilen for små partikler i suspension eller polymerer i opløsning. Inden for DLS analyseres tidsmæssige udsving normalt ved hjælp af intensiteten eller fotonens autokorrelationsfunktion (også kendt som fotonkorrelationsspektroskopi eller kvasi-elastisk lysspredning). I tidsdomæneanalysen henfalder autokorrelationsfunktionen (ACF) normalt fra nul forsinkelsestid, og hurtigere dynamik på grund af mindre partikler fører til hurtigere afkorrelation af spredt intensitetsspor. Det er blevet vist, at intensiteten ACF er Fourier -transformationen af effektspektret, og derfor kan DLS -målingerne udføres lige så godt i det spektrale domæne.

Over en hypotetisk dynamisk lysspredning af to prøver: Større partikler (som PM10) på toppen og mindre partikler (som PM2,5) på bunden. Og når vi kigger ind i vores sensor, kan vi se, hvordan princippet om lysspredning implementeres.

Det elektriske signal, der er fanget på dioden, går til forstøjning med lavt støjniveau og konverteres derefter til et digitalt signal via en ADC og til ydersiden via en UART.

Hvis du vil vide mere om SDS011 om en ægte videnskabelig oplevelse, kan du se på 2018-arbejdet fra Konstantinos et al., Udvikling og On-Field Testing af billige bærbare systemer til overvågning af PM2.5-koncentrationer.

Trin 5: Showtime

Showtime!
Showtime!
Showtime!
Showtime!

Lad os tage en pause med al denne teori og fokusere på, hvordan man måler partikler ved hjælp af en Raspberry Pi og SDS011 -sensoren

HW -forbindelsen er faktisk meget enkel. Sensoren sælges med en USB -adapter for at grænseflade output data fra dens 7 pins UART med et af RPi's standard USB -stik.

SDS011 pinout:

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

Til denne vejledning bruger jeg for første gang en helt ny Raspberry-Pi 4. Men selvfølgelig vil enhver tidligere model også fungere fint.

Så snart du tilslutter sensoren på en af RPi USB -portene, begynder du automatisk at lytte til lyden fra dens blæser. Støjen er lidt irriterende, så måske skal du tage stikket ud og vente, indtil du er klar med SW.

Kommunikationen mellem sensoren og RPi sker via en seriel protokol. Detaljer om denne protokol findes her: Laser Dust Sensor Control Protocol V1.3. Men for dette projekt er det bedste at bruge en python -grænseflade til at forenkle den kode, der skal udvikles. Du kan oprette din egen grænseflade eller bruge nogle, der er tilgængelige på internettet, som Frank Heuer eller Ivan Kalchev. Vi vil bruge den sidste, som er meget enkel og fungerer fint (du kan downloade sds011.py -scriptet fra sit GitHub eller mit).

Filen sds011.py skal være i den samme mappe, hvor du opretter dit script.

I udviklingsfasen vil jeg bruge en Jupyter Notebook, men du kan bruge enhver IDE, du kan lide (Thonny eller Geany, for eksempel, der er en del af Raspberry Pi Debian -pakken, er begge meget gode).

Start med at importere sds011, og opret din sensorinstans. SDS011 giver en metode til at læse fra sensoren ved hjælp af en UART.

fra sds011 import *

sensor = SDS011 ("/dev/ttyUSB0")

Du kan tænde eller slukke din sensor med kommandoen sleep:

pmt_2_5, pmt_10 = sensor.query ()

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

Og det er alt hvad du behøver at vide med hensyn til SW for at bruge sensoren. Men lad os gå dybere på luftkvalitetskontrol! I begyndelsen af denne artikel, hvis du har udforsket de websteder, der giver oplysninger om, hvor god eller dårlig luften er, skal du indse, at farver er forbundet med disse værdier. Hver farve er et indeks. Den mest kendte af det er AQI (Air Quality Index), der bruges i USA og flere andre lande.

Trin 6: Luftkvalitetsindeks - AQI

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

AQI er et indeks til rapportering af daglig luftkvalitet. Det fortæller dig, hvor ren eller forurenet din luft er, og hvilke tilhørende sundhedseffekter der kan være en bekymring for dig. AQI fokuserer på helbredseffekter, du kan opleve inden for få timer eller dage efter indånding af forurenet luft.

EPA (United States Environmental Protection Agency) beregner f.eks. AQI ikke kun for partikelforurening (PM2.5 og PM10), men også for de andre store luftforurenende stoffer reguleret af Clean Air Act: ozon på jorden, kulilte, svovldioxid og nitrogendioxid. For hver af disse forurenende stoffer har EPA fastlagt nationale luftkvalitetsstandarder for at beskytte folkesundheden. Se billedet ovenfor med tilhørende AQI -værdier, farver og sundhedsmeddelelse.

Som kommenteret før er disse AQI -værdier og farver relateret til hver enkelt af forurenende stoffer, men hvordan kan de værdier, der genereres af sensorer, forbindes med dem? En ekstra tabel forbinder dem alle som vist ovenfor.

Men det giver selvfølgelig ingen mening at gøre brug af sådan et bord. I sidste ende er det en simpel matematisk algoritme, der foretager beregningen. Til det vil vi importere biblioteket for at konvertere mellem AQI-værdi og forurenende koncentration (µg/m³): python-aqi.

Installer biblioteket ved hjælp af PIP og lav en test (se koden ovenfor)

pip installere python-aqi

Og hvad med Chile?

I Chile bruges et lignende indeks, ICAP: Air Quality Index for Breathable Particles. Et højeste dekret 59 af 16. marts 1998 fra generalsekretærministeriet i Republikken formandskab fastslår i artikel 1, litra g), at de niveauer, der definerer ICA for åndbart partikulært materiale, ICAP.

Værdierne vil variere lineært mellem sektionerne, værdien 500 svarer til den grænseværdi, over hvilken der ville være en risiko for befolkningen, når de udsættes for disse koncentrationer. Ifølge ICAP -værdierne har der etableret kategorier, der kvalificerer koncentrationsniveauerne på MP10, som mennesker blev udsat for.

Trin 7: Logning af data lokalt

Logger data lokalt
Logger data lokalt
Logning af data lokalt
Logning af data lokalt
Logger data lokalt
Logger data lokalt

På dette tidspunkt har vi alle værktøjer til at fange data fra sensoren og også konvertere dem til en mere "læsbar værdi", at det er AQI -indekset.

Lad os oprette en funktion til at fange disse værdier. Vi indfanger 3 værdier i rækkefølge og tager gennemsnittet blandt dem:

def get_data (n = 3):

sensor.sleep (sleep = False) pmt_2_5 = 0 pmt_10 = 0 time.sleep (10) for i inden for område (n): x = sensor.forespørgsel () 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 Ovenfor kan du se testresultatet. Lad os også gøre en funktion til at konvertere de numeriske værdier for PM i 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)) returner aqi_2_5, aqi_10 over resultatet af en test med begge funktioner. Men hvad skal man gøre med dem? Det mest enkle svar er at oprette en funktion til at gemme de fangede data og gemme dem i en lokal fil

def save_log ():

med åben ("DIN STI HER/air_quality.csv", "a") som log: dt = datetime.now () log.write ("{}, {}, {}, {}, {} n". format (dt, pmt_2_5, aqi_2_5, pmt_10, aqi_10)) log.close () Med en enkelt sløjfe kan du logge data på regelmæssige baser i din lokale fil, for eksempel hvert minut

mens (sandt):

pmt_2_5, pmt_10 = get_data () aqi_2_5, aqi_10 = conv_aqi (pmt_2_5, pmt_10) prøv: save_log () undtagen: print ("[INFO] Fejl i logningsdata") time.sleep (60) Hvert 60 sekund vil tidsstemplet plus dataene blive "tilføjet" til denne fil, som vi kan se ovenfor.

Trin 8: Send data til en Cloud Service

Afsendelse af data til en skytjeneste
Afsendelse af data til en skytjeneste

På dette tidspunkt har vi lært at fange data fra sensoren og gemme dem i en lokal CSV -fil. Nu er det tid til at se, hvordan man sender disse data til en IoT -platform. På denne vejledning vil vi bruge ThingSpeak.com.

“ThingSpeak er et open-source Internet of Things (IoT) -program til at gemme og hente data fra ting ved hjælp af REST- og MQTT-API’er. ThingSpeak muliggør oprettelse af sensorlogningsprogrammer, applikationer til sporing af lokationer og et socialt netværk af ting med statusopdateringer.”

Først skal du have en konto på ThinkSpeak.com. Følg derefter instruktionerne for at oprette en kanal og notere dens kanal -id og skrive -API -nøgle.

Når du opretter kanalen, skal du også definere, hvilken information der skal uploades til hvert af de 8 felter, som vist ovenfor (i vores tilfælde vil kun 4 af dem blive brugt).

Trin 9: MQTT -protokol og ThingSpeak -forbindelse

MQTT -protokol og ThingSpeak -forbindelse
MQTT -protokol og ThingSpeak -forbindelse

MQTT er en publish/subscribe-arkitektur, der primært blev udviklet til at forbinde båndbredde og strømbegrænsede enheder over trådløse netværk. Det er en enkel og let protokol, der kører over TCP/IP -sockets eller WebSockets. MQTT over WebSockets kan sikres med SSL. Udgiv/abonner -arkitekturen gør det muligt at skubbe meddelelser til klientenhederne, uden at enheden kontinuerligt behøver at polle serveren.

MQTT -mægleren er det centrale kommunikationspunkt, og den har ansvaret for at sende alle meddelelser mellem afsenderne og de retmæssige modtagere. En klient er enhver enhed, der opretter forbindelse til mægleren og kan offentliggøre eller abonnere på emner for at få adgang til oplysningerne. Et emne indeholder routingsinformation for mægleren. Hver klient, der ønsker at sende meddelelser, udgiver dem til et bestemt emne, og hver klient, der ønsker at modtage beskeder, abonnerer på et bestemt emne. Mægleren leverer alle meddelelser med det matchende emne til de relevante klienter.

ThingSpeak ™ har en MQTT -mægler på URL -adressen mqtt.thingspeak.com og port 1883. ThingSpeak -mægleren understøtter både MQTT -udgivelse og MQTT -abonnement.

I vores tilfælde vil vi bruge MQTT Publish.

Trin 10: MQTT Publish

MQTT Publish
MQTT Publish

For at starte, lad os installere Eclipse Paho MQTT Python -klientbiblioteket, der implementerer version 3.1 og 3.1.1 af MQTT -protokollen

sudo pip installer paho-mqtt

Lad os derefter importere paho -biblioteket:

import paho.mqtt.publish as publish

og igangsætte Thingspeak -kanalen og MQTT -protokollen. Denne forbindelsesmetode er den enkleste og kræver mindst systemressourcer:

channelID = "DIT KANAL -ID"

apiKey = "DIN SKRIV NØGLE" emne = "kanaler/" + channelID + "/publish/" + apiKey mqttHost = "mqtt.thingspeak.com" Nu skal vi definere vores "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 klar til at begynde at sende data til skyen! Lad os omskrive den tidligere loop -funktion til også at inkludere ThingSpeak -delen af den.

# Sender alle data til ThingSpeak hvert 1. minut

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, værtsnavn = mqttHost, port = tPort, tls = tTLS, transport = tTransport) save_log () undtagen: print ("[INFO] Manglende afsendelse af data ") time.sleep (60) Hvis alt er ok, skal du også se data vises på din kanal på thingspeak.com som vist ovenfor.

Trin 11: Det sidste script

Det er vigtigt at påpege, at Jupyter Notebook er et meget godt værktøj til udvikling og rapportering, men nej til at oprette en kode, der skal sættes i produktion. Hvad du skal gøre nu er at tage den relevante del af koden og oprette et.py -script og køre det på din terminal.

For eksempel “ts_air_quality_logger.py”, som du skal køre med kommandoen:

python 3 ts_air_quality_logger.py

Dette script samt Jupyter Notebook og sds011.py findes i mit lager på RPi_Air_Quality_Sensor.

Bemærk, at dette script kun er muligt til test. Det bedste er ikke at bruge forsinkelser inde i den sidste sløjfe (der sætter koden i "pause"), i stedet bruge timere. Eller for en rigtig applikation er det bedste ikke at bruge loop, idet Linux er programmeret til at udføre scriptet regelmæssigt med crontab.

Trin 12: Tag skærmen udenfor

Tag skærmen udenfor
Tag skærmen udenfor
Tag skærmen udenfor
Tag skærmen udenfor
At tage skærmen udenfor
At tage skærmen udenfor
At tage skærmen udenfor
At tage skærmen udenfor

Da min Raspberry Pi luftkvalitetsmonitor fungerede, samlede jeg RPi’en inde i en plastkasse, og holdt sensoren udenfor og placerede den uden for mit hjem.

Der blev gjort to oplevelser.

Trin 13: Forbrænding af benzinmotor

Forbrænding af benzinmotor
Forbrænding af benzinmotor
Forbrænding af benzinmotor
Forbrænding af benzinmotor

Sensoren blev placeret omkring 1 m fra Lambrettas gasform, og dens motor blev tændt. Motoren kørte i et par minutter og slukkede. Fra ovenstående logfil, det resultat, jeg fik. Interessant at bekræfte, at PM2.5 var den farligste partikel, der var resultatet af motoren.

Trin 14: Træafbrænding

Brænding af træ
Brænding af træ
Brænding af træ
Brænding af træ

Når vi ser på logfilen, indser vi, at sensordataene var momentane "out of Range" og ikke blev godt fanget af AQI -konverteringsbiblioteket, så jeg ændrer tidligere kode for at 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 undtagen: return 600, 600 Denne situation kan ske i feltet, hvilket er OK. Husk, at du faktisk skal bruge glidende gennemsnit til virkelig at få AQI (mindst hver time, men normalt dagligt).

Trin 15: Konklusion

Konklusion
Konklusion

Som altid håber jeg, at dette projekt kan hjælpe andre med at finde vej til den spændende verden inden for elektronik og datavidenskab!

For detaljer og endelig kode, besøg venligst mit GitHub -depot: RPi_Air_Quality_Sensor.

Saludos fra den sydlige del af verden!

Vi ses på min næste instruerbare!

Tak skal du have, Marcelo

Anbefalede: