
Návod: AIR RASPBERRY Pi
URČENÉ PRE RASPBERRY PI 400. KOMPATIBILNÉ S RASPBERRY PI 2, 3 A 4.

V1d
ÚVOD
Súprava kvality vzduchu MonkMakes pre Raspberry Pi je založená na doske snímača kvality vzduchu MonkMakes. Tento doplnok pre Raspberry Pi meria kvalitu vzduchu v miestnosti (aký je zatuchnutý vzduch) a tiež teplotu. Tabuľa má displej šiestich LED diód (zelená, oranžová a červená), ktoré zobrazujú kvalitu vzduchu a bzučiak. Údaje o teplote a kvalite vzduchu možno čítať na vašom Raspberry Pi a bzučiak a LED displej je možné ovládať aj z vášho Raspberry Pi.
Doska snímača kvality vzduchu sa zapája priamo do zadnej časti Raspberry Pi 400, ale dá sa použiť aj s inými modelmi Raspberry Pi pomocou prepojovacích káblov a šablóny GPIO, ktoré sú súčasťou súpravy. 
ČASTI
Upozorňujeme, že Raspberry Pi NIE JE súčasťou tejto súpravy.
Skôr ako urobíte čokoľvek iné, skontrolujte, či vaša súprava obsahuje položky uvedené nižšie.
KVALITA VZDUCHU A EKO2
Doska snímača kvality vzduchu používa snímač s číslom dielu CCS811. Tento malý čip v skutočnosti nemeria hladinu CO2 (oxidu uhličitého), ale namiesto toho hladinu skupiny plynov nazývaných prchavé organické zlúčeniny (VOC). V interiéri hladina týchto plynov stúpa pomerne podobnou rýchlosťou ako CO2, a preto sa dá použiť na odhad hladiny CO2 (nazývaný ekvivalent CO2 alebo eCO2).
Úroveň CO2 vo vzduchu, ktorý dýchame, má priamy vplyv na našu pohodu. Úrovne CO2 sú mimoriadne zaujímavé z hľadiska verejného zdravia view jednoducho povedané, sú meradlom toho, koľko dýchame vzduch iných ľudí. My ľudia vydychujeme CO2 a tak, ak je viacero ľudí v zle vetranej miestnosti, hladina CO2 sa bude postupne zvyšovať. Je to takmer rovnaké ako vírusové aerosóly, ktoré šíria nádchu, chrípku a koronavírus, keď ľudia vydychujú oboje spoločne.
Ďalší dôležitý vplyv hladín CO2 je v kognitívnych funkciách – ako dobre dokážete myslieť. Táto štúdia (medzi mnohými ďalšími) má niekoľko zaujímavých zistení. Nasledujúci citát pochádza z Národného centra pre biotechnologické informácie v USA: „Pri 1,000 2 ppm CO2,500 došlo k miernemu a štatisticky významnému poklesu v šiestich z deviatich škál rozhodovacieho výkonu. Pri XNUMX XNUMX ppm došlo k veľkým a štatisticky významným zníženiam v siedmich škálach rozhodovacieho výkonu“ Zdroj: https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3548274/
Nižšie uvedená tabuľka je založená na informáciách z https://www.kane.co.uk/knowledge-centre/whatare-safe-levels-of-co-and-co2-in-rooms
a ukazuje úrovne, pri ktorých sa CO2 môže stať nezdravým. Hodnoty CO2 sú v ppm (parts per million).
| Úroveň CO2 (ppm) | Poznámky |
| 250-400 | Normálna koncentrácia v okolitom vzduchu. |
| 400-1000 | Koncentrácie typické pre obývané vnútorné priestory s dobrou výmenou vzduchu. |
| 1000-2000 | Sťažnosti na ospalosť a zlý vzduch. |
| 2000-5000 | Bolesti hlavy, ospalosť a stagnant, zatuchnutý, dusný vzduch. Prítomná môže byť aj slabá koncentrácia, strata pozornosti, zvýšená srdcová frekvencia a mierna nevoľnosť. |
| 5000 | Expozičný limit na pracovisku vo väčšine krajín. |
| >40000 XNUMX | Expozícia môže viesť k vážnemu nedostatku kyslíka, čo vedie k trvalému poškodeniu mozgu, kóme alebo dokonca k smrti. |
NASTAVENIE
Či už používate Raspberry Pi 400 alebo Raspberry Pi 2, 3 alebo 4, pred pripojením snímača kvality vzduchu sa uistite, že je Raspberry Pi vypnuté a vypnuté.
Senzor kvality vzduchu zobrazí hodnoty eCO2 hneď, ako dostane energiu z vášho Raspberry Pi. Takže po pripojení by sa na displeji mala zobraziť úroveň eCO2. Potom sa naučíte, ako komunikovať s doskou, prijímať údaje a ovládať LED a bzučiak z programu Python.
Pripojenie snímača kvality vzduchu (Raspberry Pi 400)
Je veľmi dôležité, aby ste konektor nezasunuli šikmo alebo príliš silno, pretože by ste mohli ohnúť kolíky na konektore GPIO. Keď sú kolíky zoradené
správne, malo by sa ľahko zatlačiť na miesto.
Konektor pasuje tak, ako je znázornené vyššie. Všimnite si, že spodná hrana dosky je zarovnaná so spodnou časťou puzdra Pi 400 a bočná strana dosky ponecháva dostatok miesta pre ľahký prístup ku karte micro SD. Po pripojení dosky zapnite Raspberry Pi — mala by sa rozsvietiť aj LED dióda napájania (v logu MonkMakes) a jedna z LED diód eCO2.
Pripojenie snímača kvality vzduchu (Raspberry Pi 2/3/4)
Ak máte Raspberry Pi 2, 3, 4, potom budete potrebovať Raspberry Leaf a nejaké prepojovacie káble zo samice na samec na pripojenie dosky snímača kvality vzduchu k vášmu Raspberry Pi.
VAROVANIE: Obrátením napájacích káblov alebo pripojením snímača kvality vzduchu k 5V namiesto 3V kolíku Raspberry Pi je pravdepodobné, že dôjde k poškodeniu snímača a môže dôjsť k poškodeniu vášho Raspberry Pi. Pred zapnutím Raspberry Pi si preto pozorne skontrolujte zapojenie.
Začnite umiestnením Raspberry Leaf na kolíky GPIO vášho Raspberry Pi, aby ste vedeli, ktorý kolík je ktorý. Šablóna sa zmestí oboma smermi, takže sa uistite, že postupujete podľa schémy nižšie.
Ďalej zapojíte štyri vodiče medzi kolíky GPIO Raspberry Pi a dosku kvality vzduchu takto:
| Raspberry Pi Pin (ako označené na liste) | Rada pre kvalitu ovzdušia (as označené na konektore) | Odporúčaná farba drôtu. |
| GND (postačí akýkoľvek kolík označený GND) | GND | Čierna |
| 3.3 V | 3V | Červená |
| 14 TXD | PI_TXD | Oranžová |
| 15 RXD | PI_RXD | Žltá |
Keď je všetko prepojené, malo by to vyzerať takto:
Starostlivo skontrolujte zapojenie a potom zapnite Raspberry Pi – mala by sa rozsvietiť aj LED dióda napájania (v logu MonkMakes) aj jedna z LED.
Odpojenie dosky kvality vzduchu
Pred vybratím dosky z Raspberry Pi 400.
- Vypnite Raspberry Pi.
- Jemne uvoľnite dosku zo zadnej strany Pi 400, postupne ju trochu olemujte z každej strany, aby ste neohli kolíky.
Ak máte Pi 2/3/4, jednoducho odstráňte prepojovacie káble z Raspberry Pi.
Povolenie sériového rozhrania
Aj keď doska zobrazí úroveň eCO2 bez akéhokoľvek programovania, znamená to, že ako zdroj energie používame iba Raspberry Pi. Aby sme mohli komunikovať s doskou z programu Python na našom Raspberry Pi, musíme urobiť ešte niekoľko krokov.
Prvým je povoliť sériové rozhranie na Raspberry Pi, pretože práve toto rozhranie používa doska Air Quality.
Ak to chcete urobiť, v hlavnej ponuke vyberte Predvoľby a potom Konfigurácia Raspberry Pi.
Prejdite na kartu Rozhrania a skontrolujte, či je povolený sériový port a zakázaná sériová konzola.
Sťahovanie Example Programy
BývalýampProgramy pre túto súpravu sú k dispozícii na stiahnutie z GitHub. Ak ich chcete získať, spustite okno prehliadača na vašom Raspberry Pi a prejdite na túto adresu:
https://github.com/monkmakes/pi_aq Stiahnite si zip archív projektu kliknutím na tlačidlo Kód a následne na možnosť Stiahnuť ZIP.
Po dokončení sťahovania extrahujte súbor filez archívu ZIP nájdením súboru ZIP file v priečinku Stiahnuté súbory a potom naň kliknite pravým tlačidlom myši a vyberte možnosť Extrahovať do.
Vyberte vhodný adresár (odporúčam váš domovský adresár – /home/pi) a rozbaľte ho files. Tým sa vytvorí priečinok s názvom pi_aq-main. Premenujte to len na pi_aq.
Thonny
Po stiahnutí programov ich stačí spustiť z príkazového riadku.
Je však dobré sa na to pozrieť files a editor Thonny nám umožní upraviť súbor files a spustiť ich.
Editor Thonny Python je predinštalovaný v operačnom systéme Raspberry Pi. Nájdete ho v časti Programovanie v hlavnom menu. Ak z nejakého dôvodu nie je nainštalovaný vo vašom
Raspberry Pi, potom ho môžete nainštalovať pomocou možnosti ponuky Pridať / odstrániť softvér v položke ponuky Predvoľby.
Nasledujúca časť vysvetľuje trochu viac o tom, čo tento senzor meria, predtým, ako prejdeme k interakcii s doskou kvality vzduchu pomocou Pythonu a Thonny.
ZAČÍNAME
Skôr než začneme s programovaním Pythonu, pozrime sa na tabuľu kvality vzduchu.
LED indikátor napájania v ľavom hornom rohu poskytuje rýchlu kontrolu, či je doska napájaná. Pod ním je čip snímača teploty a vedľa neho samotný snímač eCO2. Ak sa naň pozriete pozorne, uvidíte, že má malé otvory, ktorými sa vzduch dostane dovnútra a von. Priamo pod senzorom eCO2 je bzučiak, ktorý môžete zapnúť a vypnúť z vašich programov. To je užitočné pre poskytovanie alarmov. Stĺpec šiestich LED sa skladá (zdola nahor) z dvoch zelených LED, dvoch oranžových LED a dvoch červených LED. Tie sa rozsvietia, keď sa prekročí úroveň eCO2 označená vedľa každej LED diódy. Úroveň ukážu hneď, ako sa Raspberry Pi zapne, ale môžete ich ovládať aj pomocou Pythonu.
Začnime vyskúšaním niekoľkých experimentov z príkazového riadku. Otvorte reláciu terminálu kliknutím na ikonu terminálu v hornej časti obrazovky alebo na sekciu Príslušenstvo v hlavnej ponuke.
Keď sa terminál otvorí, zadajte po výzve $ nasledujúce príkazy, aby ste zmenili adresáre (cd) a otvorili Python
Otvorte lokálny modul aq zadaním príkazu: >>> z aq import AQ
>>> Potom vytvorte inštanciu triedy AQ napísaním: >>> aq = AQ()
>>> Teraz môžeme prečítať hladinu CO2 zadaním príkazu: >>> aq.get_eco2() 434.0
>>> Takže v tomto prípade je úroveň eCO2 pekných čerstvých 434 ppm. Teraz zistime teplotu (v stupňoch Celzia). >>> aq.get_temp()
20.32 Poznámka: Ak sa pri spustení vyššie uvedeného kódu zobrazia chybové hlásenia, možno nemáte nainštalované GUIZero. Návod na inštaláciu tu:
https://lawsie.github.io/guizero/#raspberry-pi
PROGRAM 1. METER ECO2
Keď spustíte tento program, otvorí sa okno podobné tomu, ktoré je zobrazené nižšie, s teplotou a úrovňou eCO2. Skúste položiť prst na snímač teploty a nameraná teplota by sa mala zvýšiť. Môžete tiež jemne dýchať na senzor eCO2 a hodnoty by sa mali zvýšiť.
Ak chcete spustiť program, načítajte súbor file 01_aq_meter.py v Thonny a potom kliknite na tlačidlo Spustiť.
Tu je kód projektu. Kód využíva knižnicu GUI Zero, o ktorej si môžete prečítať viac v prílohe B.
Aby sa umožnilo čítanie teploty a svetla bez prerušenia fungovania používateľského rozhrania, importuje sa knižnica vlákien. Funkcia update_readings bude navždy cyklovať, pričom bude čítať každú pol sekundu a aktualizovať polia v okne.
Zvyšok kódu poskytuje polia používateľského rozhrania potrebné na zobrazenie teploty a úrovne eCO2. Tie sú usporiadané ako mriežka, takže polia sú zarovnané. Každé pole je teda definované atribútom mriežky, ktorý predstavuje pozície stĺpcov a riadkov. Takže pole, ktoré zobrazuje text Temp (C), je v stĺpci 0, riadok 0 a zodpovedajúca hodnota teploty (temp_c_field) je v stĺpci 1, riadok 0.
PROGRAM 2. MErač ECO2 S ALARMOM
Tento program rozširuje Program 2 pomocou bzučiaka a niektorých efektných funkcií používateľského rozhrania, aby zaznel zvuk alarmu a okno sa zmenilo na červené, ak je prekročená nastavená úroveň eCOXNUMX.
Posuvník v spodnej časti okna nastavuje úroveň eCO2, pri ktorej má zaznieť bzučiak a okno sa zmení na červenú. Skúste nastaviť úroveň alarmu o niečo vyššiu ako je
aktuálnu úroveň eCO2 a potom dýchajte na senzor.
Tu je kód pre Program 2, z veľkej časti je veľmi podobný Programu 1. Oblasti záujmu sú zvýraznené tučným.
čas importu
z aplikácie guizero importujte aplikáciu, text, posúvač
z aq import AQ
aq = AQ()
app = App(title=”Kvalita vzduchu”, šírka=550, výška=400, rozloženie=”mriežka”)
def update_readings():
pričom platí: temp_c_field.value = str(aq.get_temp()) eco2 = aq.get_eco2() eco2_field.value = str(eco2)
if eco2 > slider.value: app.bg = “červená” app.text_color = “biela” aq.buzzer_on()
else: app.bg = “biela” app.text_color = “čierna” aq.buzzer_off() time.sleep(0.5)
t1 = threading.Thread(target=update_readings)
t1.start() # spustenie vlákna, ktoré aktualizuje hodnoty aq.leds_automatic()
# definujte používateľské rozhranie
Text(app, text=”Teplota (C)”, grid=[0,0], size=20)
temp_c_field = Text(app, text=”-”, grid=[1,0], size=100)
Text(aplikácia, text=”eCO2 (ppm)”, mriežka=[0,1], veľkosť=20)
eco2_field = Text(app, text=”-”, grid=[1,1], size=100)
Text(app, text=”Alarm (ppm)”, grid=[0,2], size=20)
posuvník = Posuvník(aplikácia, začiatok=300, koniec=2000, šírka=300, výška=40, mriežka=[1,2]) app.display()
Po prvé, musíme pridať Slider do zoznamu vecí, ktoré importujeme z guizero.
Musíme tiež rozšíriť funkciu update_readings, aby okrem zobrazovania teploty a úrovne eCO2 kontrolovala aj to, či je úroveň nad prahovou hodnotou. Ak je, nastaví pozadie okna na červené, text na biely a zapne bzučiak. Ak je úroveň eCO2 pod prahovou hodnotou nastavenou posúvačom, obráti to a vypne bzučiak.
PROGRAM 3. ZÁZNAMNÍK ÚDAJOV
Tento program (03_data_logger.py) nemá grafické rozhranie. Len vás vyzve, aby ste zadali interval v sekundách medzi načítaniami, za ktorým nasleduje názov a file
do ktorého sa uložia namerané hodnoty.
V example vyššie, sampling je nastavený na 5 sekúnd a file sa nazýva reads.txt. Keď dokončíte protokolovanie údajov, CTRL-c ukončí protokolovanie a zatvorí súbor file.
Údaje sú uložené v rovnakom formáte, ako sú zobrazené na snímke obrazovky vyššie. To znamená, že prvý riadok určuje nadpisy, pričom každá hodnota je oddelená znakom TAB. The file je uložený v rovnakom adresári ako program. Po zachytení údajov ich môžete importovať do tabuľky (napríklad LibreOffice) na vašom Raspberry Pi a potom z údajov vykresliť graf. Ak LibreOffice nie je nainštalovaný na vašom Raspberry Pi, môžete ho nainštalovať pomocou možnosti Pridať/Odstrániť softvér v ponuke Predvoľby.
Otvorte novú tabuľku a vyberte možnosť Otvoriť z ponuky file a prejdite na údaje file chcete sa pozrieť. Tým sa otvorí dialógové okno importu (pozri nasledujúcu stranu).
že tabuľka automaticky zistila stĺpce údajov.
Kliknutím na tlačidlo OK importujte údaje a potom vyberte stĺpec pre hodnoty eCO2. Potom môžete vykresliť graf týchto hodnôt výberom položky Graf z ponuky Vložiť a výberom typu grafu Čiara, po ktorej nasleduje Len čiara. Získate tak graf zobrazený na ďalšej strane.
Ako experiment skúste nechať program zapisovača bežať 24 hodín, aby ste videli, ako sa mení úroveň eCO2 počas dňa.
PRÍLOHA A. DOKUMENTÁCIA API
Pre serióznych programátorov – tu je technická dokumentácia. The file monkmakes_aq.py nie je nainštalovaný ako úplná knižnica Pythonu, ale mal by byť skopírovaný do rovnakého priečinka ako akýkoľvek iný kód, ktorý ho potrebuje použiť. aq.py
Modul monkmakes_aq.py je trieda, ktorá uzatvára sériovú komunikáciu medzi vaším Raspberry Pi a doskou Air Quality.
Vytvorenie inštancie AQ: aq = AQ()
Odčítanie hodnoty eCO2
aq.get_eco2() # vráti hodnotu eCO2 v ppm
Odčítanie teploty v stupňoch C
aq.get_temp() # vráti teplotu v stupňoch C
LED displej
aq.leds_manual() # nastavte režim LED na manuálny
aq.leds_automatic() # nastaviť režim LED na automatický
#, aby LED diódy zobrazovali eCO2
aq.set_led_level(level) # úroveň 0-LED vypnuté,
# úroveň 1-6 LED 1 až 6 svieti
Bzučiak
aq.buzzer_on()
aq_buzzer_off()
Trieda komunikuje so senzorovou doskou pomocou sériového rozhrania Pi. Ak chcete vidieť podrobnosti o sériovom rozhraní, pozrite si technický list tohto produktu. Odkaz na to nájdete v produkte web strana (http://monkmakes.com/pi_aq)
PRÍLOHA B. GUI ZERO
Laura Sach a Martin O'Hanlon z The Raspberry Pi Foundation vytvorili knižnicu Python (GUI Zero), vďaka ktorej je návrh GUI veľmi jednoduchý. Táto súprava používa túto knižnicu.
Pred použitím knižnice musíte importovať jej časti, ktoré chcete použiť vo svojom programe.
Napríkladample, ak by sme chceli okno obsahujúce správu, tu je príkaz import:
z aplikácie guizero import App, Text
Trieda App predstavuje samotnú aplikáciu a každý napísaný program, ktorý používa guizero, ju musí importovať. Jedinou ďalšou potrebnou triedou je Text, ktorá sa používa na zobrazenie správy.
Nasledujúci príkaz vytvorí okno aplikácie s uvedením nadpisu a počiatočných rozmerov okna.
app = App(title = “Moje okno”, šírka=”400″, výška=”300″)
Na pridanie nejakého textu do okna môžeme použiť riadok: Text(app, text=”Hello World”, size=32)
Okno je teraz pripravené na zobrazenie, ale v skutočnosti sa nezobrazí, kým program nespustí riadok: app.display()
Viac o guizero sa dozviete tu: https://lawsie.github.io/guizero/start/
RIEŠENIE PROBLÉMOV
Problém: Doska je pripojená k môjmu Pi 400, ale LED dióda napájania nesvieti.
Riešenie: Skontrolujte, či sú kolíky GPIO správne zarovnané so zásuvkou. Pozrite si stranu 4.
Problém: Doska je pripojená k môjmu Pi 400, ale LED indikátor napájania rýchlo bliká.
Riešenie: Znamená to problém so snímačom. Niekedy všetko, čo potrebujete, je resetovať napájanie vypnutím a opätovným zapnutím Raspberry Pi. Ak to urobíte a blikanie bude pokračovať, pravdepodobne máte chybnú dosku, kontaktujte nás support@monkmakes.com
Problém: Práve som všetko pripojil, ale hodnoty eCO2 sa zdajú nesprávne.
Riešenie: Typ senzora použitý v senzore kvality vzduchu MonkMakes začne produkovať údaje od prvého pripojenia. Údaje sa však časom stanú presnejšie. Technický list pre snímač IC naznačuje, že údaje začnú byť presné až po 20 minútach prevádzky.
Problém: Pri pokuse o spustenie example programy.
Riešenie: Poznámka: Možno nemáte nainštalovaný GUIZero. Postupujte podľa pokynov tu: https://lawsie.github.io/guizero/#raspberry-pi
Problém: Porovnávam hodnoty z tohto senzora so skutočným meračom CO2 a hodnoty sú odlišné.
Riešenie: Dá sa to očakávať. Senzor kvality vzduchu odhaduje koncentráciu CO2 (to je to, čo znamená „e“ v eCO2) meraním úrovne prchavých organických zlúčenín (VOC). Skutočné snímače CO2 sú oveľa drahšie.
UČENIE
Programovanie a elektronika
Ak sa chcete dozvedieť viac o programovaní Raspberry Pi a elektronike, potom dizajnér tejto súpravy (Simon Monk) napísal množstvo kníh, ktoré by sa vám mohli páčiť.
Viac o knihách od Simona Monka sa dozviete na: http://simonmonk.org alebo ho sledujte na Twitteri, kde je @simonmonk2
MONKMAKES
Viac informácií o tejto súprave nájdete na domovskej stránke produktu tu: https://monkmakes.com/pi_aq
Okrem tejto súpravy vyrába MonkMakes aj najrôznejšie súpravy a pomôcky, ktoré vám pomôžu
tvorcov projektov. Zistite viac, ako aj kde kúpiť na: https://www.monkmakes.com/products
MonkMakes môžete sledovať aj na Twitteri@monkmakes.

Dokumenty / zdroje
![]() |
Súprava kvality vzduchu MONK MAKES pre Raspberry Pi [pdfPokyny Súprava kvality vzduchu pre Raspberry Pi, súprava kvality pre Raspberry Pi, súprava pre Raspberry Pi, Raspberry Pi, Pi |




