
Инструкции: AIR RASPBERRY Pi
ДИЗАЈНИРАНО ЗА RASPBERRY PI 400. КОМПАТИБИЛНО СО RASPBERRY PI 2, 3 И 4.

V1d
ВОВЕД
Комплетот за квалитет на воздух MonkMakes за Raspberry Pi се базира на таблата MonkMakes Air Quality Sensor. Овој додаток за Raspberry Pi го мери квалитетот на воздухот во просторијата (колку е застарен воздухот) како и температурата. Плочката има дисплеј од шест LED диоди (зелена, портокалова и црвена) кои го прикажуваат квалитетот на воздухот и звучен сигнал. Отчитувањата на температурата и квалитетот на воздухот може да се читаат од вашиот Raspberry Pi, а звучникот и LED дисплејот исто така може да се контролираат од вашиот Raspberry Pi.
Плочката со сензор за квалитет на воздухот се приклучува директно во задниот дел на Raspberry Pi 400, но може да се користи и со други модели на Raspberry Pi, користејќи ги жиците за скокач и шаблонот GPIO вклучени во комплетот. 
ДЕЛОВИ
Ве молиме имајте предвид дека Raspberry Pi НЕ е вклучен во овој комплет.
Пред да направите било што друго, проверете дали вашиот комплет ги вклучува ставките подолу.
КВАЛИТЕТ НА ВОЗДУХОТ И ЕКО2
Плочката со сензор за квалитет на воздух користи сензор со број на дел од CCS811. Овој мал чип всушност не го мери нивото на CO2 (јаглерод диоксид), туку нивото на група гасови наречени испарливи органски соединенија (VOCs). Кога се во затворен простор, нивото на овие гасови се зголемува со прилично слична стапка на онаа на CO2, и затоа може да се користи за да се процени нивото на CO2 (наречен еквивалентен CO2 или eCO2).
Нивото на CO2 во воздухот што го дишеме има директно влијание врз нашата благосостојба. Нивоата на CO2 се од особен интерес од аспект на јавното здравје на view бидејќи, едноставно кажано, тие се мерило за тоа колку го дишеме туѓиот воздух. Ние луѓето издишуваме CO2 и така, ако неколку луѓе се во лошо проветрена просторија, нивото на CO2 постепено ќе се зголемува. Ова е речиси исто како и вирусните аеросоли кои шират настинки, грип и коронавирус додека луѓето ги издишуваат и двете заедно.
Друго важно влијание на нивоата на CO2 е во когнитивната функција - колку добро можете да размислувате. Оваа студија (меѓу многу други) има некои интересни наоди. Следниот цитат е од Националниот центар за биотехнолошки информации во САД: „при 1,000 ppm CO2, умерено и статистички значајно намалување се случи во шест од девет скали на перформансите на донесување одлуки. На 2,500 ppm, големи и статистички значајни намалувања се случија во седум скали на перформансите на донесување одлуки“ Извор: https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3548274/
Табелата подолу се заснова на информации од https://www.kane.co.uk/knowledge-centre/whatare-safe-levels-of-co-and-co2-in-rooms
и ги покажува нивоата на кои CO2 може да стане нездрав. Читањата на CO2 се во ppm (делови на милион).
| Ниво на CO2 (ppm) | Белешки |
| 250-400 | Нормална концентрација во амбиенталниот воздух. |
| 400-1000 | Концентрации типични за окупирани внатрешни простори со добра размена на воздух. |
| 1000-2000 | Поплаки за поспаност и слаб воздух. |
| 2000-5000 | Главоболки, поспаност и сtagнант, застарен, затнат воздух. Може да бидат присутни и слаба концентрација, губење на вниманието, зголемен пулс и мало гадење. |
| 5000 | Ограничување на изложеноста на работното место во повеќето земји. |
| > 40000 | Изложеноста може да доведе до сериозно лишување од кислород што резултира со трајно оштетување на мозокот, кома, дури и смрт. |
ПОСТАВУВАЊЕ
Без разлика дали користите Raspberry Pi 400 или Raspberry Pi 2, 3 или 4, проверете дали Raspberry Pi е исклучен и исклучен пред да го поврзете сензорот за квалитет на воздухот.
Сензорот за квалитет на воздухот ќе ги прикаже отчитувањата на eCO2 штом ќе добие струја од вашиот Raspberry Pi. Значи, откако ќе го поврзете, екранот треба да го означи нивото eCO2. Потоа ќе научите како да комуницирате со таблата, да примате читања и да ги контролирате LED диодите и звучникот од програмата на Python.
Поврзување на сензорот за квалитет на воздухот (Raspberry Pi 400)
Многу е важно да не го туркате конекторот под агол или премногу силно, бидејќи може да ги свиткате пиновите на GPIO конекторот. Кога ќе се наредени игличките
правилно, треба лесно да се втурне во место.
Конекторот се вклопува како што е прикажано погоре. Забележете дека долниот раб на плочата се усогласува со дното на куќиштето на Pi 400, а од страната на плочката остава доволно простор за лесен пристап до micro SD картичката. Откако ќе ја поврзете плочата, напојувајте го вашиот Raspberry Pi — треба да светат и сијаличката за напојување (во логото на MonkMakes) и една од eCO2 LED диодите.
Поврзување на сензорот за квалитет на воздухот (Raspberry Pi 2/3/4)
Ако имате Raspberry Pi 2, 3, 4, тогаш ќе ви требаат Raspberry Leaf и неколку жици за скокач од женско до машко за да ја поврзете плочата за сензор за квалитет на воздух со вашиот Raspberry Pi.
ПРЕДУПРЕДУВАЊЕ: Превртувањето на каблите за напојување или поврзувањето на сензорот за квалитет на воздух на 5V наместо иглата од 3V на Raspberry Pi, најверојатно ќе го скрши сензорот и може да го оштети вашиот Raspberry Pi. Затоа, ве молиме внимателно проверете ги жиците пред да го вклучите вашиот Raspberry Pi.
Започнете со поставување на Raspberry Leaf над GPIO игличките на Raspberry Pi за да можете да знаете која игла е која. Шаблонот може да се вклопи во секој случај, затоа погрижете се да го следите дијаграмот подолу.
Следно, ќе поврзете четири доводи помеѓу GPIO пиновите на Raspberry Pi и плочката за квалитет на воздухот вака:
| Raspberry Pi Pin (како означено на листот) | Одбор за квалитет на воздух (како означено на конекторот) | Предложена боја на жица. |
| GND (секој игла означен како GND ќе го направи) | ГНД | Црното |
| 3.3V | 3V | Црвено |
| 14 TXD | PI_TXD | Портокалова |
| 15 RXD | PI_RXD | Жолта |
Откако сето тоа е поврзано, треба да изгледа вака:
Внимателно проверете ги жиците и потоа напојувајте го Raspberry Pi - и LED диодата за напојување (во логото на MonkMakes) и една од LED диодите исто така треба да светат.
Исклучување на таблата за квалитет на воздухот
Пред да ја извадите таблата од Raspberry Pi 400.
- Исклучете го Raspberry Pi.
- Нежно ослободете ја таблата од задниот дел на Pi 400, по малку ивица од секоја страна за возврат, за да не ги свиткате игличките.
Ако имате Pi 2/3/4, само отстранете ги жиците на скокачот од Raspberry Pi.
Овозможување на серискиот интерфејс
Иако плочката ќе го прикажува нивото на eCO2 без никакво програмирање, тоа значи дека само го користиме Raspberry Pi како извор на енергија. За да можеме да комуницираме со таблата од програмата на Python, на нашиот Raspberry Pi, треба да преземеме уште неколку чекори.
Првиот е да се овозможи серискиот интерфејс на Raspberry Pi, бидејќи токму овој интерфејс се користи од таблата за квалитет на воздухот.
За да го направите ова, изберете Preferences и потоа Raspberry Pi Configuration од главното мени.
Префрлете се на картичката Интерфејси и проверете дали е овозможена сериската порта и дека сериската конзола е оневозможена.
Преземање на Exampле Програми
ПоранешниотampПрограмите за овој комплет се достапни за преземање од GitHub. За да ги преземете, стартувајте прозорец на прелистувачот на вашиот Raspberry Pi и одете на оваа адреса:
https://github.com/monkmakes/pi_aq Преземете зип архива на проектот со кликнување на копчето Код и потоа на опцијата Преземи ZIP.
Откако ќе заврши преземањето, извадете го files од архивата ZIP со наоѓање на ZIP file во вашата папка Преземања, а потоа кликнете со десното копче на неа и изберете ја опцијата Extract To.
Изберете соодветен директориум (јас би го препорачал вашиот домашен директориум – /home/pi) и извлечете го fileс. Ова ќе создаде папка наречена pi_aq-main. Преименувајте го ова во само pi_aq.
Тони
Откако ќе ги преземете програмите, можете само да ги извршите од командната линија.
Сепак, добро е да се погледне на files, а уредникот на Thonny ќе ни дозволи да го уредиме fileи да ги водат.
Уредникот Thonny Python е претходно инсталиран во Raspberry Pi OS. Ќе го најдете во делот Програмирање на главното мени. Ако поради некоја причина не е инсталиран на вашиот
Raspberry Pi, а потоа можете да го инсталирате користејќи ја опцијата од менито Додај/отстрани софтвер на ставката од менито Preferences.
Следниот дел објаснува малку повеќе за тоа што мери овој сензор, пред да започнеме со интеракција со таблата за квалитет на воздухот користејќи Python и Thonny.
ЗАПОЧНУВАЊЕ
Пред да започнеме со програмирањето на Python, ајде да погледнеме во Одборот за квалитет на воздухот.
Индикаторот за напојување ЛЕР во горниот лев агол обезбедува брза проверка дали плочката добива напојување. Под ова е чип со сензор за температура, а до него е самиот чип на сензорот eCO2. Ако го погледнете внимателно, ќе видите дека има мали дупки за воздухот да влегува и излегува. Директно под eCO2 сензорот има звучник, кој можете да го вклучувате и исклучувате од вашите програми. Ова е корисно за обезбедување аларми. Колоната од шест LED диоди е составена (од дното кон врвот) од две зелени LED диоди, две портокалови LED диоди и две црвени LED диоди. Тие ќе светнат кога ќе се надмине нивото на eCO2 означено до секоја LED диода. Тие ќе го покажат нивото веднаш штом ќе се вклучи Raspberry Pi, но исто така можете да ги контролирате со помош на Python.
Да почнеме со испробување на неколку експерименти од командната линија. Отворете сесија на терминал со кликнување на иконата Терминал на горниот дел од екранот или делот Додатоци во главното мени.
Кога ќе се отвори терминалот, напишете ги следните команди по барањето $, за да ги промените директориумите (cd) и да отворите Python
Отворете го локалниот модул aq со внесување на командата: >>> од aq import AQ
>>> Потоа креирајте примерок од класата AQ со внесување: >>> aq = AQ()
>>> Сега можеме да го прочитаме нивото на CO2 со внесување на командата: >>> aq.get_eco2() 434.0
>>> Значи, во овој случај, нивото на eCO2 е убаво свежо 434 ppm. Ајде да ја добиеме температурата сега (во Целзиусови степени). >>> aq.get_temp()
20.32 Забелешка: Ако добиете пораки за грешка при извршување на горната шифра, можеби немате инсталирано GUIZero. Инструкции за инсталација овде:
https://lawsie.github.io/guizero/#raspberry-pi
ПРОГРАМА 1. ЕКО2 МЕТАР
Кога ќе ја извршите оваа програма, ќе се отвори прозорец сличен на оној прикажан подолу, што ќе ви ги покаже температурата и нивото на eCO2. Обидете се да го ставите прстот на сензорот за температура и отчитувањата на температурата треба да се зголемат. Можете исто така да дишете нежно на сензорот eCO2 и отчитувањата треба да се зголемат.
За да ја извршите програмата, вчитајте го file 01_aq_meter.py во Thonny и потоа кликнете на копчето Run.
Еве го кодот за проектот. Кодот ја користи библиотеката GUI Zero, за која можете да прочитате повеќе во Додаток Б.
За да се овозможи читање на температурата и светлината да се одвиваат без да се прекине работата на корисничкиот интерфејс, библиотеката за нишки се увезува. Функцијата update_readings ќе се врти засекогаш, земајќи читања на секои половина секунда и ажурирајќи ги полињата во прозорецот.
Остатокот од кодот ги обезбедува полињата за кориснички интерфејс потребни за прикажување на температурата и нивото на eCO2. Тие се поставени како решетка, така што полињата се редат. Значи, секое поле е дефинирано со атрибут grid што ги претставува позициите на колоната и редовите. Значи, полето што го прикажува текстот Temp (C) е во колона 0, ред 0, а соодветната вредност на температурата (temp_c_field) е во колона 1, ред 0.
ПРОГРАМА 2. ЕКО2 МЕТАР СО АЛАРМ
Оваа програма ја проширува Програмата 2, користејќи го звучникот и некои фантастични карактеристики на корисничкиот интерфејс, за да се огласи алармот и прозорецот да стане црвено ако се надмине поставеното ниво на eCOXNUMX.
Лизгачот на дното на прозорецот го поставува нивото на eCO2 на кое треба да се огласи звучникот и прозорецот да стане црвено. Обидете се да го поставите нивото на аларм малку повисоко од
сегашното ниво на eCO2 и потоа дишете на сензорот.
Еве го кодот за Програмата 2, голем дел од него е многу сличен на Програмата 1. Областите на интерес се истакнати со задебелени нишки.
време на увоз
од Guizero import App, Text, Slider
од aq увоз AQ
aq = AQ()
апликација = Апликација (наслов = „Квалитет на воздух“, ширина = 550, висина = 400, распоред = „мрежа“)
def update_readings():
додека Точно: temp_c_field.value = str(aq.get_temp()) eco2 = aq.get_eco2() eco2_field.value = str(eco2)
ако eco2 > slider.value: app.bg = „црвена“ app.text_color = „бела“ aq.buzzer_on()
else: app.bg = „бело“ app.text_color = „црно“ aq.buzzer_off() time.sleep(0.5)
t1 = нишки.Нишка(цел=update_readings)
t1.start() # започнете ја нишката што ги ажурира читањата aq.leds_automatic()
# дефинирајте го корисничкиот интерфејс
Текст (апликација, текст=”Температура (C)”, решетка=[0,0], големина=20)
temp_c_field = Текст(апликација, текст=”-“, мрежа=[1,0], големина=100)
Текст(апликација, текст=”eCO2 (ppm)”, мрежа=[0,1], големина=20)
eco2_field = Текст(апликација, текст=”-“, мрежа=[1,1], големина=100)
Текст(апликација, текст=”Аларм (ppm)”, мрежа=[0,2], големина=20)
лизгач = Лизгач(апликација, почеток=300, крај=2000, ширина=300, висина=40, решетка=[1,2]) app.display()
Прво, треба да го додадеме Slider на листата на работи што ги увезуваме од guizero.
Исто така, треба да ја прошириме функцијата update_readings, така што, покрај прикажувањето на температурата и нивото на eCO2, таа исто така проверува дали нивото е над прагот. Ако е така, ја поставува позадината на прозорецот на црвена, текстот на бел и го вклучува звучникот. Ако нивото на eCO2 е под прагот поставен од лизгачот, го менува ова и го исклучува звучникот.
ПРОГРАМА 3. ДНЕВНИК НА ПОДАТОЦИ
Оваа програма (03_data_logger.py) нема графички интерфејс. Тоа само ве поттикнува да внесете интервал во секунди помеѓу читањата, проследено со името на a file
во кој ќе се зачуваат читањата.
Во ексampле погоре, сampling е поставен на 5 секунди и на file се нарекува читања.txt. Кога ќе завршите со евидентирање на податоците, CTRL-c ќе го заврши евидентирањето и ќе го затвори file.
Податоците се зачувуваат во истиот формат како што се прикажани во сликањето на екранот погоре. Односно, првата линија ги специфицира насловите, при што секоја вредност е ограничена со знак TAB. На file се зачувува во истиот директориум како и програмата. Откако ќе ги снимите податоците, потоа можете да ги увезете во табела (како LibreOffice) на вашиот Raspberry Pi и потоа да нацртате графикон од податоците. Ако LibreOffice не е инсталиран на вашиот Raspberry Pi, можете да го инсталирате користејќи ја опцијата Додај/Отстрани софтвер во менито за преференции.
Отворете нова табела, изберете Отвори од file мени и одете до податоците file сакате да погледнете. Ова ќе отвори дијалог за увоз (видете ја следната страница) што се прикажува
дека табелата автоматски ги открила колоните од податоците.
Кликнете OK за да ги увезете податоците, а потоа изберете ја колоната за отчитувањата на eCO2. Потоа можете да нацртате график на овие отчитувања со избирање на графикон од менито Вметни, а потоа избирање на тип на графикон на линија, проследено со само линија. Ова ви го дава графикот прикажан на следната страница.
Како експеримент, обидете се да ја оставите програмата за логер да работи 24 часа за да видите како се менува нивото на eCO2 во текот на денот.
ПРИЛОГ A. АПИ ДОКУМЕНТАЦИЈА
За сериозните програмери – еве ја техничката документација. На file monkmakes_aq.py не е инсталирана како целосна библиотека на Python, туку само треба да се копира во истата папка како и секој друг код што треба да го користи. aq.py
Модулот monkmakes_aq.py е класа што ја обвива сериската комуникација помеѓу вашиот Raspberry Pi и таблата за квалитет на воздухот.
Креирање на пример на AQ: aq = AQ()
Читање на отчитувањето на eCO2
aq.get_eco2() # го враќа отчитувањето на eCO2 во ppm
Читање на температурата во степени C
aq.get_temp() # ја враќа температурата во степени C
LED дисплеј
aq.leds_manual() # поставете го LED режимот на рачен
aq.leds_automatic() # поставете го LED режимот на автоматски
# така што LED диодите прикажуваат eCO2
aq.set_led_level(ниво) # ниво 0-LED диоди исклучени,
# ниво 1-6 LED 1 до 6 лит
Сирена
aq.buzzer_on()
aq_buzzer_off ()
Класата комуницира со таблата со сензори користејќи го серискиот интерфејс на Pi. Ако сакате да видите детали за серискиот интерфејс, тогаш ве молиме погледнете го листот со податоци за овој производ. Ќе најдете линк до ова од производот web страница (http://monkmakes.com/pi_aq)
ПРИЛОГ Б. GUI НУЛА
Лаура Сак и Мартин О'Хенлон од Фондацијата Raspberry Pi создадоа библиотека Python (GUI Zero) што го прави супер лесно дизајнирањето на GUI-и. Овој комплет ја користи таа библиотека.
Пред да можете да ја користите библиотеката, треба да ги увезете битовите од неа што сакате да ги користите во вашата програма.
За прample, ако сакаме само прозорец кој содржи порака, еве ја командата за увоз:
од апликацијата за увоз на guizero, Текст
Класата App ја претставува самата апликација и секоја програма што ја пишувате што користи guizero треба да го увезе ова. Единствената друга класа потребна овде е Текст, која се користи за прикажување на пораката.
Следната команда го креира прозорецот на апликацијата, наведувајќи наслов и почетни димензии на прозорецот.
апликација = Апликација (наслов = „Мој прозорец“, ширина =“400″, висина =“300″)
За да додадеме текст во прозорецот, можеме да ја користиме линијата: Текст(апликација, текст=”Здраво свет”, големина=32)
Прозорецот сега е подготвен за прикажување, но всушност нема да се појави додека програмата не ја изврши линијата: app.display()
Можете да дознаете повеќе за Guizero овде: https://lawsie.github.io/guizero/start/
РЕШАВАЊЕ НА ПРОБЛЕМИ
Проблем: Плочката е вклучена во мојот Pi 400, но сијаличката за напојување не свети.
Решение: Проверете дали GPIO пиновите се правилно наредени со штекерот. Видете страница 4.
Проблем: Плочката е вклучена во мојот Pi 400, но сијаличката за напојување трепка брзо.
Решение: Ова укажува на проблем со сензорот. Понекогаш, сè што е потребно е да се ресетира напојувањето со исклучување и повторно вклучување на вашиот Raspberry Pi. Ако го направите ова и трепкањето продолжи, веројатно имате неисправна плоча, затоа ве молиме контактирајте support@monkmakes.com
Проблем: штотуку поврзав сè, но отчитувањата на eCO2 изгледаат погрешни.
Решение: Типот на сензор што се користи во сензорот за квалитет на воздух MonkMakes, ќе почне да произведува отчитувања од првиот пат кога ќе го поврзете. Сепак, читањата ќе станат попрецизни со текот на времето. Листот со податоци за IC на сензорот сугерира дека отчитувањата ќе почнат да стануваат точни само по 20 минути време на работа.
Проблем: добивам пораки за грешка кога се обидувам да го стартувам поранешниотample програми.
Решение: Забелешка: можеби немате инсталирано GUIZero. Ве молиме следете ги упатствата овде: https://lawsie.github.io/guizero/#raspberry-pi
Проблем: Ги споредувам отчитувањата од овој сензор со вистински мерач на CO2 и отчитувањата се различни.
Решение: Тоа е очекувано. Сензорот за квалитет на воздухот ја проценува концентрацијата на CO2 (тоа е „е“ во eCO2) со мерење на нивото на испарливи органски соединенија (VOCs). Вистинските сензори за CO2 се многу поскапи.
УЧЕЊЕ
Програмирање и електроника
Доколку сакате да дознаете повеќе за програмирањето на Raspberry Pi и Electronics, тогаш дизајнерот на овој комплет (Сајмон Монк) напишал голем број книги во кои можеби ќе уживате.
Можете да дознаете повеќе за книгите на Сајмон Монк на: http://simonmonk.org или следете го на Твитер каде што е @simonmonk2
МОНАШИ
За повеќе информации за овој комплет, почетната страница на производот е тука: https://monkmakes.com/pi_aq
Како и овој комплет, MonkMakes прави секакви комплети и гаџети за да ви помогне
креаторски проекти. Дознајте повеќе, како и каде да купите на: https://www.monkmakes.com/products
Можете исто така да го следите MonkMakes на Twitter@monkmakes.

Документи / ресурси
![]() |
MONK MAKES Комплет за квалитет на воздух за Raspberry Pi [pdf] Инструкции Комплет за квалитет на воздух за Raspberry Pi, Комплет за квалитет за Raspberry Pi, Kit за Raspberry Pi, Raspberry Pi, Pi |




