Istruzioni: AIR RASPBERRY Pi
DESIGNED FOR RASPBERRY PI 400. COMPATIBILE CON RASPBERRY PI 2, 3 AND 4.
V1d
INTRODUZIONE
U MonkMakes Air Quality Kit per Raspberry Pi hè basatu annantu à u MonkMakes Air Quality Sensor Board. Questu add-on per u Raspberry Pi misura a qualità di l'aria in una stanza (quantu stale l'aria hè) è a temperatura. U bordu hà una visualizazione di sei LED (verde, aranciu è rossu) chì mostranu a qualità di l'aria è un buzzer. A temperatura è a qualità di l'aria ponu esse leghjite da u vostru Raspberry Pi, è u buzzer è a visualizazione LED ponu ancu esse cuntrullati da u vostru Raspberry Pi.
A tavola di u Sensore di Qualità di l'Air si inserisce direttamente in u spinu di un Raspberry Pi 400, ma pò ancu esse usatu cù altri mudelli di Raspberry Pi, utilizendu i fili di jumper è u mudellu GPIO inclusu in u kit.
PARTI
Per piacè nutate chì un Raspberry Pi NON hè inclusu in questu kit.
Prima di fà nunda, verificate chì u vostru kit include l'articuli sottu.
QUALITÀ D'ARIA È ECO2
U pianu di u Sensore di Qualità di l'Air usa un sensoru cù un numeru di parte di CCS811. Stu picculu chip ùn misura micca u nivellu di CO2 (diossidu di carbonu), ma invece u livellu di un gruppu di gasi chjamati composti organici volatili (VOC). À l'internu, u nivellu di sti gasi cresce à un ritmu abbastanza simile à quellu di u CO2, è pò dunque esse usatu per stimà u livellu di CO2 (chjamatu CO2 equivalente o eCO2).
U livellu di CO2 in l'aria chì respiramu hà una influenza diretta nantu à u nostru benessiri. I livelli di CO2 sò d'interessu particulari da un puntu di salute publica di view cum'è, per esse simpliciamente, sò una misura di quantu respiramu l'aria di l'altri. Avemu l'omu respira CO2 è cusì, se parechje persone sò in una stanza pocu ventilata, u nivellu di CO2 aumenterà gradualmente. Questu hè assai uguale à l'aerosols virali chì sparghjenu i friddi, a gripe è u Coronavirus mentre a ghjente respira tutti dui inseme.
Un altru impattu impurtante di i livelli di CO2 hè in a funzione cognitiva - quantu pudete pensà. Stu studiu (frà assai più) hà alcuni risultati interessanti. A seguente citazione hè da u Centru Naziunale per l'Informazione Biotecnologica in i Stati Uniti: "à 1,000 ppm CO2, decrementi moderati è statisticamente significativi sò accaduti in sei di nove scale di rendiment di decisione. À 2,500 ppm, riduzioni grandi è statisticamente significati sò accadute in sette scale di rendiment di decisione "Fonte: https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3548274/
A tabella sottu hè basatu annantu à l'infurmazioni da https://www.kane.co.uk/knowledge-centre/whatare-safe-levels-of-co-and-co2-in-rooms
è mostra i livelli à quale CO2 pò diventà malsana. E letture di CO2 sò in ppm (parts per million).
Livellu di CO2 (ppm) | Notes |
250-400 | Cuncentrazione normale in l'aria ambiente. |
400-1000 | Cuncentrazioni tipiche di spazi interni occupati cù un bonu scambiu d'aria. |
1000-2000 | Lagnanze di sonnolenza è aria povera. |
2000-5000 | Mal di testa, sonnolenza è stagaria stantia, stantia, stuffy. Poca cuncentrazione, perdita d'attenzione, ritmu cardiacu aumentatu è ligera nausea pò ancu esse presente. |
5000 | Limite di esposizione in u locu di travagliu in a maiò parte di i paesi. |
> 40000 | L'esposizione pò purtà à una seria privazione di l'ossigenu chì risultatu in danni permanente à u cervellu, coma, ancu morte. |
INSTALLAZIONE
Sia chì aduprate un Raspberry Pi 400 o un Raspberry Pi 2, 3 o 4, assicuratevi chì u Raspberry Pi hè chjusu è spento prima di cunnette u Sensore di Qualità di l'Air.
U Sensore di Qualità di l'Aria mostrarà e letture eCO2 appena riceve energia da u vostru Raspberry Pi. Allora, una volta chì l'avete cunnessu, a visualizazione deve indicà u livellu eCO2. Tandu amparate cumu interagisce cù u bordu, ricevendu letture è cuntrullà i LED è u buzzer da un prugramma Python.
Cunnessu u sensoru di qualità di l'aria (Raspberry Pi 400)
Hè assai impurtante chì ùn spinghje micca u connettore in un angulu, o spinghje troppu duru, postu chì pudete piegà i pin in u connettore GPIO. Quandu i pins sò allineati
currettamente, deve spinghje in u locu facilmente.U connettore si adatta cum'è mostratu sopra. Avvisate chì u bordu di u fondu di u bordu si allinea cù u fondu di u casu di u Pi 400, è u latu di u bordu lascia abbastanza spaziu per un accessu faciule à a carta micro SD. - sia u LED di putenza (in u logu MonkMakes) è unu di i LED eCO2 duveranu ancu accende.
Cunnessu u sensoru di qualità di l'aria (Raspberry Pi 2/3/4)
Sè vo avete un Raspberry Pi 2, 3, 4, allora avete bisognu di a Raspberry Leaf è di alcuni fili di jumper femmina à maschile per cunnette u sensore di qualità di l'aria à u vostru Raspberry Pi.
AVVERTENZA: Invertisce i cavi di putenza o cunnetta u Sensore di Qualità di l'Air à 5V invece di u pin 3V di u Raspberry Pi hè prubabile di rompe u sensoru è pò dannà u vostru Raspberry Pi. Dunque, verificate attentamente u cablaggio prima di accende u vostru Raspberry Pi.
Accuminciate per mette a Raspberry Leaf nantu à i pins GPIO di u vostru Raspberry Pi per pudè sapè quale pin hè quale. U mudellu pò adattà in ogni modu, cusì assicuratevi di seguità u diagramma sottu. In seguitu, andate à cunnette quattru fili trà i pin GPIO di Raspberry Pi è a tavola di qualità di l'aria cusì:
Raspberry Pi Pin (as marcatu nantu à a foglia) | Cunsigliu di a Qualità di l'Aria (as marcatu nantu à u connettore) | U culore di filu suggeritu. |
GND (qualsiasi pin marcatu GND farà) | GND | Neru |
3.3V | 3V | Rossu |
14 TXD | PI_TXD | Aranciu |
15 RXD | PI_RXD | Ghjallu |
Una volta chì hè tuttu cunnessu, duverebbe vede cusì:Verificate u vostru cablaggio cù cura è poi accende u vostru Raspberry Pi - sia u LED di putenza (in u logu MonkMakes) sia unu di i LED anu ancu esse illuminatu.
Unplugging the Air Quality Board
Prima di caccià a scheda da un Raspberry Pi 400.
- Spegne u Raspberry Pi.
- Facilità delicatamente a tavula da u spinu di u Pi 400, sguassate un pocu da ogni latu à turnu, per ùn piegà i pin.
Sè vo avete un Pi 2/3/4 basta à caccià i fili jumper da u Raspberry Pi.
Abilitazione di l'interfaccia seriale
Ancu s'è u bordu mostrarà u livellu eCO2 senza alcuna prugrammazione, questu significa chì avemu solu aduprà u Raspberry Pi cum'è fonte di energia. Per pudè interagisce cù u tavulinu da un prugramma Python, nantu à u nostru Raspberry Pi, ci sò uni pochi di più passi chì avemu bisognu di piglià.
U primu hè di attivà l'interfaccia seriale nantu à u Raspberry Pi, cum'è questa interfaccia hè aduprata da u bordu di qualità di l'aria.
Per fà questu, selezziunate Preferenze è dopu Configurazione Raspberry Pi da u menu principale.
Cambia à a tabulazione Interfacce è assicuratevi chì Serial Port hè attivatu è Serial Console hè disattivatu.
Scaricatu l'Exampi Programmi
L'exampi prugrammi per stu kit sò dispunibuli per scaricà da GitHub. Per piglià elli, avviate una finestra di navigatore nantu à u vostru Raspberry Pi è andate à questu indirizzu:
https://github.com/monkmakes/pi_aq Scaricate un archiviu zip di u prughjettu clicchendu nantu à u buttone Code è dopu l'opzione Scaricate ZIP.Una volta u scaricamentu hè finitu, estrae u files da l'archiviu ZIP truvendu u ZIP file in u vostru cartulare Downloads è dopu cliccate dritta nantu à ellu è selezziunate l'opzione Extract To.
Sceglite un repertoriu adattatu (aghju cunsigliatu u vostru cartulare di casa - /home/pi) è estrae u files. Questu hà da creà un cartulare chjamatu pi_aq-main. Rinominate questu solu per pi_aq.
Thonny
Dopu avè scaricatu i prugrammi, pudete solu eseguisce da a linea di cumanda.
Tuttavia, hè bonu per piglià un ochju à u files, è l'editore Thonny ci permetterà di edità files è per eseguisce.
L'editore Thonny Python hè preinstallatu in Raspberry Pi OS. Truverete in a sezione di prugrammazione di u menu principale. Se per qualsiasi ragione ùn hè micca stallatu nantu à u vostru
Raspberry Pi, allora pudete installallu utilizendu l'opzione di menu Add / Remove Software in l'elementu Menu Preferenze.A seccione dopu spiega un pocu più nantu à ciò chì stu sensoru hè misuratu, prima di passà à interagisce cù u pianu di a Qualità di l'Air usendu Python è Thonny.
INIZIÀ
Prima di principià a prugrammazione Python, fighjemu un ochju à u Cunsigliu di Qualità di l'Air.L'indicatore LED di putenza in cima à manca, furnisce un verificatu rapidu chì a scheda riceve u putere. Sottu questu hè un chip sensor di temperatura, è vicinu à questu hè u chip sensor eCO2 stessu. Se guardate attentamente, vi vede chì hà buchi minusculi per l'aria per entra è esce. Direttamente sottu à u sensore eCO2 hè un buzzer, chì pudete accende è spegne da i vostri prugrammi. Questu hè utile per furnisce allarmi. A colonna di sei LED hè custituita (da u fondu à a cima) di dui LED verdi, dui LED aranciu è dui LED rossi. Quessi s'illuminanu quandu u livellu di eCO2 marcatu accantu à ogni LED hè superatu. Mostraranu u nivellu appena u Raspberry Pi s'accede, ma pudete ancu cuntrullà cù Python.
Accuminciamu per pruvà uni pochi di esperimenti da a linea di cummanda. Apertura una sessione di Terminale clicchendu nantu à l'icona Terminal in cima di u vostru schermu, o a sezione Accessori in u menù Principale. Quandu u terminal si apre, scrivite i seguenti cumandamenti dopu à u prompt $, per cambià i repertorii (cd) è per apre un Python
Aprite u modulu aq locale scrivite u cumandimu: >>> da aq import AQ
>>> Allora crea una istanza di a classe AQ scrivendu: >>> aq = AQ()
>>> Pudemu avà leghje u nivellu di CO2 scrivendu u cumandimu: >>> aq.get_eco2() 434.0
>>> Allora in questu casu, u livellu eCO2 hè un bellu frescu 434 ppm. Permette avà a temperatura (in gradi Celsius). >>> aq.get_temp()
20.32 Nota: Se ricevi messagi d'errore quandu eseguite u codice sopra, pudete micca avè installatu GUIZero. Istruzzioni di stallazione quì:
https://lawsie.github.io/guizero/#raspberry-pi
PROGRAMMA 1. ECO2 METER
Quandu avete eseguitu stu prugramma, a finestra simile à quella mostrata quì sottu si apre, chì vi mostra a temperatura è u livellu eCO2. Pruvate à mette u to dito nantu à u sensor di temperatura è e letture di a temperatura duveranu aumentà. Pudete ancu respira dolcemente nantu à u sensore eCO2 è e letture anu da aumentà.Per eseguisce u prugramma, Caricate file 01_aq_meter.py in Thonny è dopu cliccate nant'à u buttone Run.
Eccu u codice per u prugettu. U codice face usu di a libreria GUI Zero chì pudete leghje più nantu à l'Appendice B.
Per permette a lettura di a temperatura è di a luce per esse realizatu senza interrompe u funziunamentu di l'interfaccia d'utilizatore, a biblioteca di filettatura hè impurtata. A funzione update_readings sarà in loop per sempre, pigliendu letture ogni meza seconda è aghjurnà i campi in a finestra.
U restu di u codice furnisce i campi di l'interfaccia d'utilizatore necessariu per vede a temperatura è u livellu eCO2. Quessi sò disposti cum'è una griglia, cusì chì i campi sò allineati. Dunque, ogni campu hè definitu cù un attributu di griglia chì rapprisentanu e pusizioni di colonna è fila. Dunque, u campu chì mostra u testu Temp (C) hè in a colonna 0, a fila 0 è u valore di temperatura currispundente (temp_c_field) hè in a colonna 1, a fila 0.
PROGRAMMA 2. ECO2 METER CU ALARM
Stu prugramma si estende u prugramma unu, aduprendu u buzzer è alcune funzioni di l'interfaccia d'utilizatore fantastiche, per fà un sonu di alarme è a finestra diventa rossa se un livellu stabilitu di eCO2 hè superatu. U slider à u fondu di a finestra stabilisce u nivellu di eCO2 à quale u buzzer deve sonu è a finestra torna rossa. Pruvate à stabilisce u livellu di l'alarme un pocu più altu ch'è u
u livellu attuale di eCO2 è poi respira nantu à u sensor.Eccu u codice per u prugramma 2, assai di questu hè assai simili à u prugramma 1. L'area d'interessu sò state evidenziate in bold.import threading
tempu d'importazione
da guizero import App, Testu, Slider
da aq import AQ
aq = AQ()
app = App (titolu = "Qualità di l'aria", larghezza = 550, altezza = 400, layout = "griglia")
def update_readings():
mentri True: temp_c_field.value = str(aq.get_temp()) eco2 = aq.get_eco2() eco2_field.value = str(eco2)
if eco2> slider.value: app.bg = "rossu" app.text_color = "biancu" aq.buzzer_on()
altru: app.bg = "biancu" app.text_color = "neru" aq.buzzer_off () time.sleep (0.5)
t1 = threading.Thread (target = update_readings)
t1.start() # principià u filu chì aghjurnà e letture aq.leds_automatic ()
# definisce l'interfaccia d'utilizatore
Testu (app, testu = "Temp (C)", griglia = [0,0], taglia = 20)
temp_c_field = Testu (app, testu = "-", griglia = [1,0], taglia = 100)
Testu (app, testu = "eCO2 (ppm)", griglia = [0,1], taglia = 20)
eco2_field = Testu (app, testu = "-", griglia = [1,1], taglia = 100)
Testu (app, testu = "Alarm (ppm)", griglia = [0,2], size = 20)
slider = Slider (app, inizio = 300, fine = 2000, larghezza = 300, altezza = 40, griglia = [1,2]) app.display ()
Prima, avemu bisognu di aghjunghje Slider à a lista di e cose chì importamu da guizero.
Avemu ancu bisognu di allargà a funzione update_readings, perchè, in più di vede a temperatura è u nivellu di eCO2, verifica ancu per vede s'ellu hè sopra à u limitu. S'ellu hè, mette u fondu di a finestra in rossu, u testu in biancu è accende u buzzer. Se u nivellu eCO2 hè sottu à u limitu stabilitu da u slider, inverte questu, è spegne u buzzer.
PROGRAMMA 3. DATA LOGGER
Stu prugramma (03_data_logger.py) ùn hà micca una interfaccia grafica. Solu vi invita à inserisce un intervallu in seconde trà e letture, seguitu da u nome di a file
in quale salvà e letture.In l'example sopra, sampling hè stabilitu à 5 seconde è u file hè chjamatu readings.txt. Quandu avete finitu di logu di dati, CTRL-c finisce u logu è chjude file.
I dati sò salvati in u listessu formatu chì sò mostrati in a cattura di u screnu sopra. Questu hè, a prima linea specifica l'intestazione, cù ogni valore delimitatu da un caratteru TAB. U file hè salvatu in u listessu cartulare cum'è u prugramma. Dopu avè catturatu i dati, pudete allora impurtà in una foglia di calculu (cum'è LibreOffice) nantu à u vostru Raspberry Pi è poi tracciate un graficu da e dati. Se LibreOffice ùn hè micca stallatu nantu à u vostru Raspberry Pi, pudete installallu cù l'opzione Add / Remove Software in u Menu Preferenze.
Aprite una nova foglia di calculu, sceglite Apertu da u file menu, è navigate à i dati file vulete guardà. Questu apre un dialogu d'importazione (vede a pagina dopu) chì mostra
chì a foglia di calculu hà rilevatu automaticamente e colonne di dati. Cliccate OK per impurtà e dati, è dopu selezziunate a colonna per e letture eCO2. Puderete tandu tracciate un graficu di queste letture scegliendu Chart da u menù Inserisci, è dopu scegliendu un tipu di Graficu di Linea, seguita da Line Only. Questu vi dà u graficu mostratu nantu à a pagina dopu.
Cum'è un esperimentu, pruvate à lascià u prugramma di logger in esecuzione per un periudu di 24 ore per vede cumu u livellu eCO2 cambia in tuttu u ghjornu.
APPENDICE A. DOCUMENTAZIONE API
Per i programatori serii - quì hè a documentazione tecnica. U file monkmakes_aq.py ùn hè micca stallatu cum'è una libreria completa di Python, ma deve esse solu copiatu in u stessu cartulare cum'è qualsiasi altru codice chì deve aduprà. aq.py
U modulu monkmakes_aq.py hè una classa chì chjappà a cumunicazione seriale trà u vostru Raspberry Pi è u pianu di a Qualità di l'Air.
Crià una istanza di AQ: aq = AQ()
Leghje a lettura di eCO2
aq.get_eco2() # torna a lettura di eCO2 in ppm
Lettura di a temperatura in gradi C
aq.get_temp() # torna a temperatura in gradi C
U display LED
aq.leds_manual() # set the LED mode to manual
aq.leds_automatic () # stabilisce u modu LED in automaticu
# cusì chì i LED mostranu eCO2
aq.set_led_level (livellu) # livellu 0-LED spenti,
# livellu 1-6 LED 1 à 6 lit
Buzzer
aq.buzzer_on()
aq_buzzer_off()
A classa cumunicà cù a scheda di sensori utilizendu l'interfaccia seriale di Pi. Se vulete vede i dettagli di l'interfaccia seriale, fate un ochju à a datasheet di stu pruduttu. Truverete un ligame à questu da u produttu web pagina (http://monkmakes.com/pi_aq)
APPENDICE B. GUI ZERO
Laura Sach è Martin O'Hanlon à a Fundazione Raspberry Pi anu creatu una biblioteca Python (GUI Zero) chì rende super faciule di cuncepisce GUI. Stu kit usa quella biblioteca.
Prima di pudè aduprà a biblioteca, avete bisognu di impurtà i pezzi chì vulete utilizà in u vostru prugramma.
Per esample, s'è no vulemu solu una finestra chì cuntene un missaghju, quì hè u cumandamentu di impurtazione:
da guizero import App, Testu
A classa App rapprisenta l 'applicazzioni stessu, è ogni prugramma chì scrive chì usa guizero deve impurtà questu. L'unica altra classa necessaria quì hè u Testu, chì hè utilizatu per vede u messagiu.
U cumandimu seguitu crea a finestra di l'applicazione, specificendu un titulu è e dimensioni iniziali di a finestra.
app = App (titulu = "A mo finestra", larghezza = "400", altezza = "300")
Per aghjunghje testu à a finestra, pudemu aduprà a linea: Testu (app, testu = "Hello World", size = 32)
A finestra hè avà preparata per a visualizazione, ma ùn apparirà micca finu à chì u prugramma eseguisce a linea: app.display()Pudete sapè di più nantu à guizero quì: https://lawsie.github.io/guizero/start/
SOLUZIONE DI PROBLEMI
Prublemu: U bordu hè cunnessu à u mo Pi 400 ma u LED di putenza ùn hè micca illuminatu.
Soluzione: Verificate chì i pin GPIO sò allineati currettamente cù u socket. Vede a pagina 4.
Prublemu: U bordu hè cunnessu à u mo Pi 400 ma u LED di putenza lampeghja rapidamente.
Soluzione: Questu indica un prublema cù u sensor. Calchì volta, tuttu ciò chì hà bisognu hè chì a putenza sia resettata spegnendu è riaccendendu u vostru Raspberry Pi. Se fate questu è u lampeggiante cuntinueghja, probabilmente avete una scheda difettosa, cusì cuntattate support@monkmakes.com
Prublemu: Aghju ghjustu cunnessu tuttu, ma e letture eCO2 parenu sbagliate.
Soluzione: U tipu di sensoru utilizatu in u Sensore di Qualità di l'Air MonkMakes, principià à pruduce letture da a prima volta chì u cunnette. Tuttavia, e letture diventeranu più precise cù u tempu. A datasheet per u sensor IC suggerisce chì e letture cumincianu à diventà precise solu dopu à 20 minuti di esecuzione.
Prublemu: I missaghji errore quandu I pruvà à curriri l 'exampi prugrammi.
Soluzione: Nota: Ùn pudete micca avè installatu GUIZero. Per piacè seguite l'istruzzioni quì: https://lawsie.github.io/guizero/#raspberry-pi
Prublemu: paragunà e letture da stu sensoru cù un veru metru di CO2 è e letture sò diverse.
Soluzione: Hè da aspittà. U Sensore di Qualità di l'Air stima a cuncentrazione di CO2 (hè ciò chì "e" hè in eCO2) misurandu u livellu di composti organici volatili (VOC). I veri sensori di CO2 sò assai più caru.
APPRENDERE
Programmazione è Elettronica
Se vulete sapè più nantu à a prugrammazione di u Raspberry Pi è l'elettronica, allora u designer di stu kit (Simon Monk) hà scrittu una quantità di libri chì pudete piacè.
Pudete sapè più nantu à i libri di Simon Monk à: http://simonmonk.org o seguitelu in Twitter induve hè @simonmonk2
I MONACHI
Per più infurmazione nantu à questu kit, a pagina di u produttu hè quì: https://monkmakes.com/pi_aq
In più di stu kit, MonkMakes face ogni tipu di kit è gadgets per aiutà cù u vostru
prughjetti maker. Scopri di più, è ancu induve cumprà: https://www.monkmakes.com/products
Pudete ancu seguità MonkMakes in Twitter@monkmakes.
Documenti / Risorse
![]() |
MONK MAKES Kit di qualità di l'aria per Raspberry Pi [pdf] Istruzzioni Kit di qualità di l'aria per Raspberry Pi, Kit di qualità per Raspberry Pi, Kit per Raspberry Pi, Raspberry Pi, Pi |