Obsah:

Levný monitor kvality ovzduší IoT založený na RaspberryPi 4: 15 kroků (s obrázky)
Levný monitor kvality ovzduší IoT založený na RaspberryPi 4: 15 kroků (s obrázky)

Video: Levný monitor kvality ovzduší IoT založený na RaspberryPi 4: 15 kroků (s obrázky)

Video: Levný monitor kvality ovzduší IoT založený na RaspberryPi 4: 15 kroků (s obrázky)
Video: Worst Game Graphics Cards - Cirrus Logic Laguna3D 2024, Červenec
Anonim
Levný monitor kvality ovzduší IoT založený na RaspberryPi 4
Levný monitor kvality ovzduší IoT založený na RaspberryPi 4
Levný monitor kvality ovzduší IoT založený na RaspberryPi 4
Levný monitor kvality ovzduší IoT založený na RaspberryPi 4
Levný monitor kvality ovzduší IoT založený na RaspberryPi 4
Levný monitor kvality ovzduší IoT založený na RaspberryPi 4
Levný monitor kvality ovzduší IoT založený na RaspberryPi 4
Levný monitor kvality ovzduší IoT založený na RaspberryPi 4

Santiago, Chile během zimní ekologické nouze má privilegium žít v jedné z nejkrásnějších zemí na světě, ale bohužel to není všechno růžové. Chile v zimní sezóně hodně trpí znečištěním ovzduší, zejména kvůli částicím, jako je prach a smog.

Kvůli chladnému počasí je na jihu znečištění ovzduší způsobeno hlavně kalefaktory na bázi dřeva a v Santiagu (hlavním hlavním městě v centru země) se mísí s průmyslem, automobily a jeho jedinečnou geografickou situací mezi 2 velkými horskými řetězci.

V dnešní době je znečištění ovzduší velkým problémem po celém světě a v tomto článku se budeme zabývat tím, jak vyvinout levný domácí monitor kvality ovzduší založený na Raspberry Pi. Pokud vás zajímá více o kvalitě ovzduší, navštivte projekt „Světový index kvality ovzduší“.

Zásoby

  • Raspberry Pi 4
  • 1SDS011 - Vysoce přesný laserový senzor detekce kvality vzduchu pm2.5
  • Plastová krabička

Krok 1: Hmota částic (PM): Co to je? Jak se dostane do vzduchu?

Hmota částic (PM): Co to je? Jak se dostane do vzduchu?
Hmota částic (PM): Co to je? Jak se dostane do vzduchu?

Abychom porozuměli znečištění nebo kontaminaci ovzduší, musíme studovat částice, které s tím souvisejí, což je také známé jako částice. Při pohledu na grafy v předchozí části můžeme pozorovat, že zmiňovaly PM2,5 a PM10. Pojďme si o tom dát rychlý přehled.

PM je zkratka pro částicové látky (také nazývané částicové znečištění): termín pro směs pevných částic a kapalných kapiček nacházejících se ve vzduchu. Některé částice, jako je prach, špína, saze nebo kouř, jsou dostatečně velké nebo tmavé, aby je bylo možné vidět pouhým okem. Jiné jsou tak malé, že je lze detekovat pouze pomocí elektronového mikroskopu. Částice se dodávají v široké škále velikostí. Částice o průměru menším než 10 mikrometrů jsou tak malé, že se mohou dostat do plic a potenciálně způsobit vážné zdravotní problémy. Deset mikrometrů je menší než šířka jednoho lidského vlasu.

Znečištění částicemi zahrnuje hrubé prachové částice (PM10): vdechovatelné částice s průměrem obvykle 10 mikrometrů a menším. Zdroje zahrnují drcení nebo mletí a prach rozvířený vozidly na silnicích. Jemné částice (PM2,5): jemné vdechovatelné částice, jejichž průměr je obvykle 2,5 mikrometru a menší. Jemné částice se vyrábějí ze všech typů spalování, včetně motorových vozidel, elektráren, domácího spalování dřeva, lesních požárů, spalování v zemědělství a některých průmyslových procesech.

Krok 2: Proč je důležité se o tyto částicové záležitosti starat?

Proč je důležité se o tyto částicové záležitosti starat?
Proč je důležité se o tyto částicové záležitosti starat?

Jak popsal GERARDO ALVARADO Z. ve své práci na chilské univerzitě, studie epizod vysokého znečištění ovzduší v údolí Meuse (Belgie) v roce 1930, Donora (Pensylvánie) v roce 1948 a Londýn v roce 1952 byly prvními zdokumentovanými zdroji, které souvisejí s úmrtností s kontaminací částicemi (Préndez, 1993). Pokroky ve zkoumání účinků znečištění ovzduší na lidské zdraví určily, že zdravotní rizika jsou způsobena vdechnutelnými částicemi v závislosti na jejich pronikání a ukládání v různých částech dýchacího systému a na biologické reakci na uložené materiály.

Nejsilnější částice, asi 5 μm, jsou filtrovány společným působením řasinek nosního průchodu a sliznice, která pokrývá nosní dutinu a průdušnici. Částice o průměru mezi 0,5 a 5 μm se mohou ukládat v průduškách a dokonce i v plicních sklípcích, ale po několika hodinách jsou eliminovány řasinkami průdušek a bronchiolů. Částice menší než 0,5 μm mohou proniknout hluboko, dokud nejsou uloženy v plicních sklípcích, zbývají týdny až roky, protože neexistuje žádný mukociliární transportní mechanismus, který usnadňuje eliminaci. Následující obrázek ukazuje průnik částic do dýchacího systému v závislosti na jejich velikosti.

Takže rozpoznat oba typy částic (PM2,5 a PM10) je velmi důležité a dobrou zprávou je, že oba jsou čitelné jednoduchým a levným senzorem SDS011.

Krok 3: Senzor částic - SDS011

Senzor částic - SDS011
Senzor částic - SDS011
Senzor částic - SDS011
Senzor částic - SDS011

Monitorování kvality ovzduší je dobře známou a zavedenou vědou, která začala v 80. V té době byla technologie dost omezená a řešení používané ke kvantifikaci komplexu znečištění ovzduší bylo těžkopádné a opravdu drahé.

Naštěstí v dnešní době s nejnovějšími a nejmodernějšími technologiemi se řešení používaná pro monitorování kvality ovzduší stávají nejen přesnějšími, ale také rychlejšími při měření. Zařízení jsou stále menší a jejich cena je mnohem dostupnější než kdykoli předtím.

V tomto článku se zaměříme na senzor částic, který dokáže detekovat množství prachu ve vzduchu. Zatímco první generace dokázala detekovat množství opacity, nejnovější senzory jako SDS011 od INOVAFIT, spin-off z University of Jinan (in Shandong), nyní mohou detekovat PM2,5 a PM10.

Svou velikostí je SDS011 pravděpodobně jedním z nejlepších senzorů z hlediska přesnosti a ceny (méně než 40,00 USD).

  • Naměřené hodnoty: PM2,5, PM10
  • Rozsah: 0–999,9 μg /m³
  • Napájecí napětí: 5V (4,7–5,3V)
  • Spotřeba energie (práce): 70mA ± 10mA
  • Spotřeba energie (laser a ventilátor v režimu spánku): <4mA
  • Skladovací teplota: -20 až +60 ° C
  • Pracovní teplota: -10 až +50 ° C
  • Vlhkost (skladování): Max. 90%
  • Vlhkost (práce): Max. 70% (kondenzace vodních par zkresluje hodnoty)
  • Přesnost: 70% pro 0,3μm a 98% pro 0,5μm
  • Velikost: 71x70x23 mm
  • Certifikace: CE, FCC, RoHS

SD011 používá PCB jako jednu stranu pláště, což umožňuje snížit jeho náklady. Receptorová dioda je namontována na straně desky plošných spojů (to je povinné, protože by se mělo zabránit jakémukoli šumu mezi diodou a LNA). Vysílačový laser je upevněn na plastové krabici a připojen k desce plošných spojů pomocí ohebného vodiče.

Stručně řečeno, Nova Fitness SDS011 je profesionální laserový senzor prachu. Ventilátor namontovaný na senzoru automaticky nasává vzduch. Senzor využívá princip laserového rozptylu světla* k měření hodnoty prachových částic suspendovaných ve vzduchu. Senzor poskytuje vysokou přesnost a spolehlivé odečty hodnot PM2,5 a PM10. Jakékoli změny v prostředí lze pozorovat téměř okamžitě krátkou dobu odezvy pod 10 sekund. Senzor ve standardním režimu hlásí čtení s intervalem 1 sekundy.

* Princip laserového rozptylu: Rozptyl světla lze vyvolat, když částice procházejí detekční oblastí. Rozptýlené světlo se transformuje na elektrické signály a tyto signály budou zesíleny a zpracovány. Počet a průměr částic lze získat analýzou, protože tvar signálu má určité vztahy s průměrem částic.

Krok 4: Jak ale SDS011 dokáže zachytit tyto částice?

Jak ale může SDS011 zachytit tyto částice?
Jak ale může SDS011 zachytit tyto částice?
Jak ale může SDS011 zachytit tyto částice?
Jak ale může SDS011 zachytit tyto částice?

Jak již bylo uvedeno dříve, princip používaný SDS011 je rozptyl světla nebo lepší, Dynamic Light Scattering (DLS), což je fyzikální technika, kterou lze použít k určení profilu distribuce velikosti malých částic v suspenzi nebo polymerů v roztoku. V rozsahu DLS jsou časové fluktuace obvykle analyzovány pomocí funkce intenzity nebo fotonové korelační funkce (také známé jako fotonová korelační spektroskopie nebo kvazi-elastický rozptyl světla). V analýze časové oblasti se autokorelační funkce (ACF) obvykle rozpadá počínaje nulovým zpožděním a rychlejší dynamika díky menším částicím vede k rychlejší dekorelaci stopy rozptýlené intenzity. Ukázalo se, že intenzita ACF je Fourierova transformace výkonového spektra, a proto lze měření DLS stejně dobře provádět ve spektrální doméně.

Nad hypotetickým dynamickým rozptylem světla dvou vzorků: Větší částice (jako PM10) nahoře a menší částice (jako PM2,5) na dně. A při pohledu dovnitř našeho senzoru vidíme, jak je implementován princip rozptylu světla.

Elektrický signál zachycený na diodě jde do zesilovače s nízkým šumem a z něj se převádí na digitální signál přes ADC a ven přes UART.

Chcete-li se dozvědět více o SDS011 o skutečných vědeckých zkušenostech, podívejte se na práci Konstantinos et al v roce 2018, Vývoj a testování v terénu nízkonákladového přenosného systému pro monitorování koncentrací PM2,5.

Krok 5: Showtime

Zobrazit čas!
Zobrazit čas!
Zobrazit čas!
Zobrazit čas!

Udělejme si přestávku na celé této teorii a zaměřme se na to, jak měřit částicové hmoty pomocí Raspberry Pi a senzoru SDS011

Připojení HW je ve skutečnosti velmi jednoduché. Senzor se prodává s adaptérem USB pro propojení výstupních dat ze 7 pinů UART s jedním ze standardních USB konektorů RPi.

SDS011 pinout:

  • Pin 1 - není připojen
  • Pin 2 - PM2,5: 0–999μg/m³; PWM výstup
  • Pin 3–5V
  • Pin 4 - PM10: 0–999 μg/m³; PWM výstup
  • Pin 5 - GND
  • Pin 6 - RX UART (TTL) 3,3V
  • Pin 7 - TX UART (TTL) 3,3V

Pro tento tutoriál používám poprvé úplně nový Raspberry-Pi 4. Ale samozřejmě bude fungovat i jakýkoli předchozí model.

Jakmile připojíte senzor k jednomu z USB portů RPi, automaticky začnete poslouchat zvuk jeho ventilátoru. Hluk je trochu nepříjemný, takže byste jej měli odpojit a počkat, až budete mít vše nastaveno pomocí SW.

Komunikace mezi senzorem a RPi bude probíhat přes sériový protokol. Podrobnosti o tomto protokolu naleznete zde: Protokol řízení laserového senzoru prachu V1.3. Pro tento projekt je však nejlepší použít rozhraní python ke zjednodušení vyvíjeného kódu. Můžete si vytvořit vlastní rozhraní nebo použít některá, která jsou k dispozici na internetu, například Frank Heuer nebo Ivan Kalchev. Použijeme poslední, který je velmi jednoduchý a funguje dobře (skript sds011.py si můžete stáhnout z jeho GitHubu nebo z mého).

Soubor sds011.py musí být ve stejném adresáři, kde vytváříte skript.

Během vývojové fáze budu používat notebook Jupyter, ale můžete použít libovolné IDE, které se vám líbí (například Thonny nebo Geany, které jsou součástí balíčku Raspberry Pi Debian, jsou oba velmi dobré).

Začněte importovat sds011 a vytvořte instanci senzoru. SDS011 poskytuje způsob čtení ze senzoru pomocí UART.

z importu sds011 *

senzor = SDS011 ("/dev/ttyUSB0")

Senzor můžete zapnout nebo vypnout pomocí příkazu spánku:

pmt_2_5, pmt_10 = sensor.query ()

Před měřením počkejte alespoň 10 sekund na stabilizaci a nejméně 2 sekundy spusťte novou (viz kód výše).

A to je vše, co potřebujete vědět o SW, abyste mohli senzor používat. Pojďme ale hlouběji ke kontrole kvality ovzduší! Pokud jste na začátku tohoto článku prozkoumali weby poskytující informace o tom, jak dobrý nebo špatný je vzduch, měli byste si uvědomit, že barvy jsou s těmito hodnotami spojeny. Každá barva je rejstřík. Nejznámějším z nich je AQI (Air Quality Index), používaný v USA a několika dalších zemích.

Krok 6: Index kvality ovzduší - AQI

Index kvality ovzduší - AQI
Index kvality ovzduší - AQI
Index kvality ovzduší - AQI
Index kvality ovzduší - AQI
Index kvality ovzduší - AQI
Index kvality ovzduší - AQI

AQI je index pro hlášení denní kvality ovzduší. Říká vám, jak čistý nebo znečištěný je váš vzduch a jaké související zdravotní účinky by vás mohly znepokojovat. AQI se zaměřuje na zdravotní účinky, které můžete zaznamenat během několika hodin nebo dnů po vdechnutí znečištěného vzduchu.

EPA (United States Environmental Protection Agency) například vypočítává AQI nejen pro znečištění částicemi (PM2,5 a PM10), ale také pro další hlavní znečišťující látky regulované zákonem o čistém ovzduší: přízemní ozon, oxid uhelnatý, oxid siřičitý a oxid dusičitý. Pro každou z těchto znečišťujících látek stanovila EPA národní normy kvality ovzduší na ochranu veřejného zdraví. Viz výše uvedený obrázek s přidruženými hodnotami AQI, barvami a zprávou o stavu.

Jak již bylo uvedeno výše, tyto hodnoty a barvy AQI se vztahují ke každému ze znečišťujících látek, ale jak s nimi spojit hodnoty generované senzory? Další tabulka je všechny spojuje, jak je uvedeno výše.

Ale samozřejmě nemá smysl používat takovou tabulku. Nakonec je to jednoduchý matematický algoritmus, který provádí výpočet. Za tímto účelem importujeme knihovnu pro převod mezi hodnotou AQI a koncentrací znečišťujících látek (µg/m³): python-aqi.

Nainstalujte knihovnu pomocí PIP a proveďte test (viz kód výše)

pip install python-aqi

A co třeba Chile?

V Chile se používá podobný index, ICAP: Index kvality ovzduší pro dýchatelné částice. Nejvyšší výnos 59 ze 16. března 1998 generálního tajemníka ministerstva předsednictví republiky ve svém článku 1 písm. G) stanoví, že úrovně, které definují ICA pro dýchatelný částicový materiál, ICAP.

Hodnoty se budou lineárně měnit mezi sekcemi, hodnota 500 by odpovídala mezní hodnotě, přes kterou by při expozici těmto koncentracím existovalo riziko pro populaci. Podle hodnot ICAP byly stanoveny kategorie, které kvalifikují úrovně koncentrace MP10, kterým byli lidé vystaveni.

Krok 7: Lokální protokolování dat

Lokální protokolování dat
Lokální protokolování dat
Lokální protokolování dat
Lokální protokolování dat
Lokální protokolování dat
Lokální protokolování dat

V tomto okamžiku máme všechny nástroje k zachycení dat ze senzoru a také je převést na „čitelnější hodnotu“, tj. Na index AQI.

Pojďme vytvořit funkci pro zachycení těchto hodnot. Zachytíme postupně 3 hodnoty, přičemž mezi nimi vezmeme průměr:

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 Nahoře vidíte výsledek testu. Pojďme také provést funkci pro převod číselných hodnot PM v indexu 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)) návrat aqi_2_5, aqi_10 nad výsledkem testu s oběma funkcemi. Ale co s nimi dělat? Nejjednodušší odpovědí je vytvořit funkci pro uložení zachycených dat a jejich uložení do místního souboru

def save_log ():

s otevřeným („VAŠE CESTA ZDE/air_quality.csv“, „a“) jako log: dt = datetime.now () log.write („{}, {}, {}, {}, {} n“. formát (dt, pmt_2_5, aqi_2_5, pmt_10, aqi_10)) log.close () S jednou smyčkou můžete protokolovat data na pravidelných základnách ve vašem místním souboru, například každou minutu

while (True):

pmt_2_5, pmt_10 = get_data () aqi_2_5, aqi_10 = conv_aqi (pmt_2_5, pmt_10) try: save_log () kromě: print ("[INFO] Chyba při protokolování dat") time.sleep (60) Jak můžeme vidět výše, každých 60 sekund bude do tohoto souboru „připojeno“časové razítko plus data.

Krok 8: Odesílání dat do cloudové služby

Odesílání dat do cloudové služby
Odesílání dat do cloudové služby

V tomto okamžiku jsme se naučili zachytit data ze senzoru a uložit je do místního souboru CSV. Nyní je načase zjistit, jak tato data odeslat na platformu IoT. V tomto kurzu použijeme ThingSpeak.com.

"ThingSpeak je open-source aplikace Internet of Things (IoT) pro ukládání a načítání dat z věcí pomocí rozhraní REST a MQTT API." ThingSpeak umožňuje vytvářet aplikace pro protokolování senzorů, aplikace pro sledování polohy a sociální síť věcí s aktualizacemi stavu. “

Nejprve musíte mít účet na ThinkSpeak.com. Dále podle pokynů vytvořte kanál, přičemž si poznamenejte jeho ID kanálu a klíč API pro zápis.

Při vytváření kanálu musíte také definovat, jaké informace budou nahrány do každého z 8 polí, jak je uvedeno výše (v našem případě budou použita pouze 4 z nich).

Krok 9: Protokol MQTT a připojení ThingSpeak

Protokol MQTT a připojení ThingSpeak
Protokol MQTT a připojení ThingSpeak

MQTT je architektura publikování/předplatného, která byla vyvinuta především pro připojení zařízení s omezenou šířkou pásma a omezeným výkonem prostřednictvím bezdrátových sítí. Je to jednoduchý a lehký protokol, který běží přes sokety TCP/IP nebo WebSockets. MQTT přes WebSocket lze zabezpečit pomocí SSL. Architektura publikování/odběru umožňuje zasílání zpráv na klientská zařízení, aniž by zařízení muselo nepřetržitě dotazovat server.

Makléř MQTT je ústředním bodem komunikace a má na starosti odesílání všech zpráv mezi odesílateli a oprávněnými příjemci. Klient je jakékoli zařízení, které se připojuje k makléři a které může publikovat nebo se přihlásit k odběru témat pro přístup k informacím. Téma obsahuje informace o směrování pro makléře. Každý klient, který chce odesílat zprávy, je publikuje na určité téma a každý klient, který chce dostávat zprávy, se přihlásí k určitému tématu. Broker doručí všechny zprávy s odpovídajícím tématem příslušným klientům.

ThingSpeak ™ má zprostředkovatele MQTT na adrese URL mqtt.thingspeak.com a portu 1883. Zprostředkovatel ThingSpeak podporuje jak publikování MQTT, tak předplatné MQTT.

V našem případě použijeme MQTT Publish.

Krok 10: Publikování MQTT

Publikování MQTT
Publikování MQTT

Pro začátek nainstalujme klientskou knihovnu Eclipse Paho MQTT Python, která implementuje verze 3.1 a 3.1.1 protokolu MQTT

sudo pip install paho-mqtt

Dále importujeme knihovnu paho:

importujte paho.mqtt.publish jako publikovat

a inicializovat kanál Thingspeak a protokol MQTT. Tato metoda připojení je nejjednodušší a vyžaduje nejméně systémových prostředků:

channelID = "VAŠE ID KANÁLU"

apiKey = "VÁŠ ZÁPISOVÝ KLÍČ" topic = "channels/" + channelID + "/publish/" + apiKey mqttHost = "mqtt.thingspeak.com" Nyní musíme definovat naše „užitečné zatížení“

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

A to je vše! jsme připraveni začít odesílat data do cloudu! Přepíšeme předchozí funkci smyčky, aby zahrnovala i její část ThingSpeak.

# Odesílání všech dat do ThingSpeak každou 1 minutu

while (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 (topic, payload = tPayload, hostname = mqttHost, port = tPort, tls = tTLS, transport = tTransport) save_log () kromě: print ("[INFO] Selhání odesílání dat ") time.sleep (60) Pokud je vše v pořádku, musíte vidět, že se data zobrazí také ve vašem kanálu na thingspeak.com, jak je uvedeno výše.

Krok 11: Konečný skript

Je důležité zdůraznit, že Jupyter Notebook je velmi dobrým nástrojem pro vývoj a vytváření sestav, ale nikoli k vytváření kódu pro uvedení do výroby. Nyní byste měli vzít příslušnou část kódu a vytvořit skript.py a spustit ho na svém terminálu.

Například „ts_air_quality_logger.py“, které byste měli spustit pomocí příkazu:

python 3 ts_air_quality_logger.py

Tento skript, stejně jako notebook Jupyter a sds011.py, najdete v mém úložišti na adrese RPi_Air_Quality_Sensor.

Tento skript je možné provést pouze pro testování. Nejlepší je nepoužívat zpoždění uvnitř konečné smyčky (které vloží kód do „pauzy“), místo toho použít časovače. Nebo pro skutečnou aplikaci není nejlepší použít smyčku, protože Linux je naprogramován tak, aby skript pravidelně prováděl pomocí crontab.

Krok 12: Vyjmutí monitoru ven

Vyjmutí monitoru ven
Vyjmutí monitoru ven
Vyjmutí monitoru ven
Vyjmutí monitoru ven
Vyjmutí monitoru ven
Vyjmutí monitoru ven
Vyjmutí monitoru ven
Vyjmutí monitoru ven

Jakmile můj monitor kvality vzduchu Raspberry Pi fungoval, sestavil jsem RPi do plastového boxu, ponechal senzor venku a umístil jej mimo svůj domov.

Byly provedeny dvě zkušenosti.

Krok 13: Spalování benzínového motoru

Spalování benzínového motoru
Spalování benzínového motoru
Spalování benzínového motoru
Spalování benzínového motoru

Senzor byl umístěn asi 1 m od plynového stožáru Lambretty a jeho motor se zapnul. Motor běžel několik minut a zhasl. Z výše uvedeného souboru protokolu výsledek, který jsem dostal. Je zajímavé potvrdit, že PM2.5 byly nejnebezpečnější částice, které z motoru vyplynuly.

Krok 14: Spalování dřeva

Pálení dřeva
Pálení dřeva
Pálení dřeva
Pálení dřeva

Když se podíváme do souboru protokolu, uvědomíme si, že data senzorů byla okamžitá „mimo rozsah“a nebyla dobře zachycena konverzní knihovnou AQI, takže měním předchozí kód, abych to zvládl:

def conv_aqi (pmt_2_5, pmt_10):

zkuste: aqi_2_5 = aqi.to_iaqi (aqi. POLLUTANT_PM25, str (pmt_2_5)) aqi_10 = aqi.to_iaqi (aqi. POLLUTANT_PM10, str (pmt_10)) návrat aqi_2_5, aqi_10 kromě: návrat 600, K této situaci může dojít v terénu, což je v pořádku. Pamatujte, že ve skutečnosti byste měli použít klouzavý průměr, abyste skutečně získali AQI (minimálně za hodinu, ale obvykle denně).

Krok 15: Závěr

Závěr
Závěr

Jako vždy doufám, že tento projekt pomůže ostatním najít cestu do vzrušujícího světa elektroniky a datové vědy!

Podrobnosti a konečný kód naleznete v mém depozitáři GitHub: RPi_Air_Quality_Sensor.

Saludos z jihu světa!

Uvidíme se na mém dalším pokynu!

Děkuji, Marcelo

Doporučuje: