ESP-01S Публикуващ сензор за прахови частици
Ръководство за потребителя

ESP-01S Публикуващ сензор за прахови частици
Публикуване на данни от сензори за прахови частици в Adafruit IO с Maker Pi Pico и ESP-01S
от kevinjwalters
Тази статия показва как да публикувате данни от три евтини сензора за прахови частици в услугата Adafruit IO IoT, като използвате Cytron Maker Pi Pico, работещ с програма CircuitPython, предаваща изходите на сензорите през Wi-Fi с модул ESP-01S, работещ с AT rmware.
СЗО определя праховите частици PM2.5 като един от най-големите екологични рискове за здравето, тъй като 99% от световното население живее на места, където нивата на указанията за качество на въздуха на СЗО не са били спазени през 2019 г. Изчислено е, че 4.2 милиона преждевременни смъртни случая са причинени от това през 2016 г.
Трите сензора за прахови частици, показани в тази статия, са:
- Plantower PMS5003, използвайки серийна връзка;
- Sensirion SPS30, използващ i2c;
- Omron B5W LD0101 с импулсни изходи.
Тези оптични сензори са подобни на тези, намиращи се в един тип домашна аларма за дим, но те загиват в опита си да преброят частици с различни размери, а не просто да алармират при прагова концентрация.
Базираният на червен лазер PMS5003 е често използван сензор за любители и може да бъде намерен в сензора за качество на въздуха PurpleAir PA-II. SPS30 е по-нов сензор, използващ същия принцип и може да бъде намерен в сензора за качество на въздуха Clarity Node-S. Инфрачервеният светодиоден сензор B5W LD0101 има по-примитивен интерфейс, но е полезен със способността си да открива частици, по-големи от 2.5 микрона – другите два сензора не могат да ги измерват надеждно.
Adafruit IO предлага безплатно ниво с ограничен брой емисии и табла за управление – те са достатъчни за този проект. Безплатните данни от ниво се запазват 30 дни, но данните могат лесно да бъдат изтеглени.
Платката Maker Pi Pico в тази статия е катоample Cytron любезно ми беше изпратен да оценя. Единствената разлика в серийната версия е добавянето на пасивни компоненти за премахване на ударите на трите бутона.
Модулът ESP-01S вероятно ще се нуждае от надграждане на AT rmware. Това е сравнително сложен процес, който може да отнеме много време. Cytron продава модула със съответния AT rmware към него.
Сензорът Omron B5W LD0101 за съжаление се прекратява от производителя с последни поръчки през март 2022 г.
Консумативи:
- Cytron Maker Pi Pico – Digi-ключ | PiHut
- ESP-01S – Платката на Cytron идва с подходящ ATrmware.
- ESP-01 USB адаптер/програматор с бутон за нулиране – Cytron.
- Бредборд.
- Преходни кабели от женски към мъжки, може би 20 см (8 инча) минимална дължина.
- Plantower PMS5003 с адаптер за кабел и breadboard – Adafruit
- или Plantower PMS5003 + Pimoroni адаптер за макет – Pimoroni + Pimoroni
- Sensirion SPS30 – Digi-ключ
- Sparkfun SPS30 JST-ZHR кабел към 5 мъжки пина – Digi-key
- 2x 2.2k резистора.
- Omron B5W LD0101 – Mouser
- Кабел Omron, описан като сноп (2JCIE-HARNESS-05) – Mouser
- 5-щифтов мъжки конектор (за адаптиране на кабел към макет).
- припой – скобите тип крокодил (алигатор) могат да работят като алтернатива на запояването.
- 2x 4.7k резистора.
- 3x 10k резистора.
- 0.1uF кондензатор.
- Захранване на батерията за Omron B5W LD0101:
- 4AA държач за батерии за презареждаеми NiMH батерии (по-добър избор).
- или 3AA държач за тесто за алкални батерии.
- USB захранващ блок може да бъде полезен, ако искате да бягате навън, далеч от USB източник на захранване.

Стъпка 1: USB програматор за актуализиране на Flash на ESP-01S
Модулът ESP-01S е малко вероятно да се доставя с подходящ AT rmware към него, освен ако не е от Cytron. Най-лесният начин да го актуализирате е да използвате настолен компютър или лаптоп с Windows с USB адаптер, който позволява запис на пепелта и има бутон за нулиране.
За съжаление един много често срещан адаптер без марка, често описван като нещо като „ESP-01 UART адаптер за програмиране“ няма бутони или превключватели за управление на тях. Видеото по-горе показва как това може бързо да се повтори
с някои импровизирани превключватели, направени от два джъмпера от мъжки към женски, нарязани на две и запоени върху щифтовете от долната страна на програмната платка. Алтернативен подход към това с използване на макет може да се види в Hackaday:
ESPHome на ESP-01 Работен процес на Windows.
https://www.youtube.com/watch?v=wXXXgaePZX8
Стъпка 2: Актуализиране на фърмуера на ESP-01S с помощта на Windows
Терминална програма като PuTTY може да се използва с ESP-01 Programmer за проверка на версията на rmware. Rmware кара ESP8266 да действа малко като модем с команди, вдъхновени от набора от команди на Hayes. Командата AT+GMR AT+GMR показва версията на rmware.
AT+GMR
AT версия: 1.1.0.0 (11 май 2016 г. 18:09:56)
SDK версия: 1.5.4 (baaeaebb)
време на компилиране: 20 май 2016 г. 15:08:19
Cytron има ръководство, описващо как да приложите актуализацията на rmware с помощта на Espressif Flash Download Tool (само за Windows) на GitHub: CytronTechnologies/esp-at-binaries. Cytron предоставя и копие на двоичния файл на rmware, Cytron_ESP-01S_AT_Firmware_V2.2.0.bin.
След успешно надграждане новият rmware ще бъде отчетен като версия 2.2.0.0
AT+GMR
AT версия: 2.2.0.0 (b097cdf – ESP8266 – 17 юни 2021 г. 12:57:45)
SDK версия: v3.4-22-g967752e2
време за компилиране (6800286): 4 август 2021 г. 17:20:05
Bin версия: 2.2.0 (Cytron_ESP-01S)
Програма за команден ред, наречена esptool, е налична като алтернатива за програмиране на базирания на ESP8266 ESP-01S и може да се използва на Linux или macOS.
Rmware на ESP-01S може да бъде тестван на Maker Pi Pico с помощта на Cytron's simpletest.py. Това изпраща ICMP ping до добре позната услуга в Интернет на всеки 10 секунди и показва времето за отиване и връщане (rtt) в милисекунди. Това се нуждае от secrets.py file с Wi-Fi SSID (име) и парола – това е описано по-нататък в тази статия.
ДОБРОТО
ЛОШОТО

Стъпка 3: Свързване на сензорите
Използвана е макетна платка с половин размер за свързване на трите сензора и за наблюдение на обемаtage от четирите презареждаеми NiMH батерии. Включена е снимка с висока разделителна способност на пълната настройка по-горе и следващите стъпки описват как всеки сензор може да бъде свързан.
Захранващите шини на макетната платка се захранват от Pi Pico с
- VBUS (5V) и GND към захранващите шини от лявата страна и
- 3V3 и GND от дясната страна.
Захранващите релси са маркирани с близка червена линия за положителна релса и синя за отрицателна (или земна) релса. На макета в пълен размер (830 дупки) те може да имат горен комплект релси, които не са свързани с долния комплект релси.
Батериите се използват само за захранване на Omron B5W LD0101, който се нуждае от постоянен обемtagд. USB захранването от компютър често е шумно, което го прави неподходящо.

Стъпка 4: Свързване на Plantower PMS5003
Plantower PMS5003 изисква 5V захранване, но неговият сериен “TTL style” интерфейс е безопасен за 3.3V. Връзките от
PMS5003 чрез пробивна платка към Pi Pico са:
- VCC към 5V (червен) през ред 6 до 5V релса;
- GND към GND (черно) през ред 5 към GND;
- SET на EN (синьо) през ред 1 до GP2;
- RX до RX (бял) през ред 3 до GP5;
- TX до TX (сив) през ред 4 до GP4;
- RESET до RESET (лилаво) през ред 2 до GP3;
- NC (не е свързан);
- NC
Листът с данни включва предупреждение за металния корпус.
Металната обвивка е свързана към GND, така че внимавайте да не я оставите на късо [sic] с другите части на веригата с изключение на GND.
Компонентът обикновено се доставя със синя пластмасова обшивка на кутията, за да предпази повърхността от надраскване, но не трябва да се разчита на това за електрическа изолация.

Стъпка 5: Свързване на Sensirion SPS30
Sensirion SPS30 изисква 5V захранване, но неговият i2c интерфейс е 3.3V безопасен. Единствените допълнителни компоненти са два 2.2k резистора, които действат като издърпващи устройства за i2c шината. Връзките от SPS30 към Pi Pico са:
- VDD (червен) към 5V5V шина;
- SDA (бял) към GP0 (сив) през ред 11 с 2.2k резистор към 3.3V шина;
- SCL (лилаво) към GP1 (лилаво) през ред 10 с 2.2 k резистор към 3.3 V шина;
- SEL (зелен) към GND;
- GND (черно) към GND.
Конекторът на проводника може да изисква силен натиск, за да го поставите правилно в SPS30.
SPS30 също поддържа сериен интерфейс, който Sensirion препоръчва в листа с данни.
Трябва да се вземат предвид някои съображения относно използването на интерфейса I2C. Първоначално I2C е проектиран да свързва два чипа на печатна платка. Когато сензорът е свързан към главната печатна платка чрез кабел, трябва да се обърне специално внимание на електромагнитните смущения и смущенията. Използвайте възможно най-къси (< 10 cm) и/или добре екранирани свързващи кабели.
Препоръчваме вместо това да използвате UART интерфейса, когато е възможно: той е по-устойчив срещу електромагнитни смущения, особено при дълги свързващи кабели.
Има и предупреждение за металните части на корпуса.
Имайте предвид, че има вътрешна електрическа връзка между щифта GND (5) и металния екран. Поддържайте това метално екраниране електрически, за да избегнете нежелани токове през тази вътрешна връзка. Ако това не е опция, правилното външно изравняване на потенциала между щифта GND и всеки потенциал, свързан към екрана, е задължително. Всеки ток през връзката между GND и металната екранировка може да повреди продукта и представлява риск за безопасността чрез прегряване.
Стъпка 6: Свързване на Omron B5W LD0101
Кабелът Omron не е предназначен за използване с макетна платка. Един бърз начин да го преобразувате в използване на брейкборд е да отрежете гнездото, да оголите проводниците и да ги запоите към мъжки щифтове на заглавката с дължина пет пина. Клипсите тип крокодил (алигатор) могат да се използват като алтернативен подход за избягване на запояване.
Omron B5W LD0101 изисква постоянно захранване от 5 V. Двата му изхода също са на ниво от 5V, което е несъвместимо с 3.3V входове на Pi Pico. Наличието на резистори на сензорната платка улеснява намаляването на това до безопасна стойност чрез добавяне на 4.7k резистор към земята за всеки изход. Вградените резистори са документирани в листа с данни, което прави това разумен подход.
Връзките от B5W LD0101 към Pi Pico са:
- Vcc (червено) до 5V (червено) релса през ред 25;
- OUT1 (жълт) към GP10GP10 (жълт) през ред 24 с 4.7k резистор към GND;
- GND (черен) към GND (черен) през ред 23;
- Vth (зелено) към GP26GP26 (зелено) през ред 22 с 0.1uF кондензатор към GND;
- OUT2 (оранжев) към GP11 (оранжев) през ред 21 с 4.7k резистор към GND.
The GP12 (зелено) от Pi Pico се свързва към ред 17 и резистор 10k свързва ред 17 с ред 22.
Листът с данни описва изискванията за захранване като:
Минимум 4.5 V, типично 5.0 V, максимум 5.5 V, вълна на пулсацииtagПрепоръчва се обхват 30mV или по-малко. Уверете се, че няма шум под 300Hz. Con
rm допустимата пулсация voltage стойност с помощта на действителна машина.
Три алкални или четири акумулаторни (NiMH) батерии са най-лесният начин да осигурите постоянен, стабилен обемtage от около 5V към сензора. USB захранващият блок вероятно ще бъде лош избор, тъй като voltage обикновено е от литиева батерия, използваща усилващ конвертор, което го прави шумен.
B5W LD0101 използва конвекция за своя въздушен поток и трябва да бъде поставен изправен, за да работи правилно. Промяна на доставката томtagе вероятно да повлияе на температурата на нагревателя и свързания с него въздушен поток. Температурата на околната среда също трябва да окаже влияние.
Стъпка 7: Мониторинг на батерията с делител на потенциала
Батерията voltage надвишава нивото от 3.3 V на входовете на процесора RP2040 на Pi Pico. Един прост потенциален делител може да намали този обемtage да бъде в този диапазон. Това позволява на RP2040 да измерва нивото на батерията на аналогов вход (GP26 до GP28).
Чифт 10k резистори бяха използвани по-горе, за да се намали наполовина обемътtagд. Обичайно е да се използват по-високи стойности като 100k, за да се минимизира загубата на ток. Връзките са:
- B5W LD0101 Vcc (червен) джъмперен проводник към ред 29 отляво;
- 10k резистор на ред 29 между лявата и дясната страна на ред 29;
- Кафяв джъмперен проводник към Pi Pico GP27;
- 10k резистор от дясната страна на ред 29 към близката GND шина.
GP28 на Maker Pi Pico може да се използва като аналогов вход, но тъй като е свързан и с RGB пиксела, това може да има малък ефект върху стойността и може дори да свети или да се промени, ако входът изглежда като протокола WS2812!
Стъпка 8: Инсталиране на CircuitPython и програма за публикуване на сензорни данни
Ако не сте запознати с CircuitPython, тогава си струва първо да прочетете ръководството Добре дошли в CircuitPython.
- Инсталирайте следните седем библиотеки от пакета версия 7.x от https://circuitpython.org/libraries в директорията lib на устройството CIRCUITPY:
- adafruit_bus_устройство
- adafruit_minimqtt
- adafruit_io
- adafruit_espatcontrol
- adafruit_pm25
- adafruit_requests.mpy
- neopixel.mpy
- Изтеглете тези две допълнителни библиотеки в директорията lib, като щракнете върху Запиши връзката като... на files в директорията или на file:
- adafruit_sps30 от https://github.com/kevinjwalters/Adafruit_CircuitPython_SPS30
- b5wld0101.py от https://github.com/kevinjwalters/CircuitPython_B5WLD0101
- Създайте secrets.py file (виж напрample по-долу) и попълнете стойностите.
- Изтеглете програмата в CIRCUITPY, като щракнете върху Запиши връзката като… на pmsensors_adafruitio.py
- Преименувайте или изтрийте всеки съществуващ code.py file на CIRCUITPY след това преименувайте pmsensors_adafruitio.py на code.py Това file се изпълнява при стартиране или презареждане на интерпретатора на CircuitPython.
# Този файл е мястото, където съхранявате тайни настройки, пароли и токени!
# Ако ги поставите в кода, рискувате да ангажирате тази информация или да я споделите
тайни = {
“ssid” : “INSERT-WIFI-NAME-HERE”,
“password” : “INSERT-WIFI-PASSWORD-HERE”,
„aio_username“ : „INSERT-ADAFRUIT-IO-USERNAME-HERE“,
“aio_key” : “INSERT-ADAFRUIT-IO-APPLICATION-KEY-HERE”
# http://worldtimeapi.org/timezones
“часова зона” : “Америка/Ню_Йорк”,
}
Версиите, използвани за този проект, бяха:
CircuitPython 7.0.0
Пакет библиотека CircuitPython adafruit-circuitpython-bundle-7.x-mpy-20211029.zip- по-ранни версии от септември/октомври не трябва да се използват като adafruit_espatcontrol
библиотеката беше бъгова и половината работи по объркващ начин.
Стъпка 9: Настройка на Adafruit IO
Adafruit има много ръководства за тяхната услуга Adafruit IO, най-подходящите са:
Добре дошли в Adafruit IO
Основи на Adafruit IO: Емисии
Adafruit IO Basics: Табла за управление
След като се запознаете с емисиите и таблата за управление, следвайте тези стъпки.
- Създайте акаунт в Adafruit, ако все още нямате такъв.
- Направете нова група, наречена mpp-pm под Feeds
- Направете девет емисии в тази нова група, като щракнете върху бутона + Нова емисия, имената са:
- b5wld0101-суров-вън1
- b5wld0101-суров-вън2
- b5wld0101-vcc
- b5wld0101-vth
- температура на процесора
- pms5003-pm10-стандарт
- pms5003-pm25-стандарт
- sps30-pm10-стандарт
- sps30-pm25-стандарт
- Направете табло за управление за тези стойности, предложените блокове са:
- Три блока с линейни диаграми, по един за всеки сензор с две линии на диаграма.
- Три блока Gauge за двата обtages и температура.

Стъпка 10: Проверка на публикуването на данни
Страницата Monitor под Pro file е полезно да проверите дали данните пристигат в реално време, като разгледате данните на живо file раздел. Програмата превръща RGB пиксела в синьо за 2-3 секунди, когато изпраща данните към Adafruit IO и след това се връща в зелено.
Температурата от RP2040 изглежда варира значително между различните процесори и е малко вероятно да съответства на температурата на околната среда.
Ако това не работи, ето няколко неща, които трябва да проверите.
- Ако RGB пикселът остане за или ако данните не бъдат получени от Adafruit IO, тогава проверете USB серийната конзола за изход/грешки. Численият изход за Mu на серийната конзола ще покаже дали сензорите работят с нови редове, които се отпечатват на всеки 2-3 секунди – вижте по-долу за примерample изход.
- Разделът „Грешки на живо“ на страницата „Монитор“ струва си да проверите дали данните се изпращат, но не се показват.
- Променливата за отстраняване на грешки в програмата може да бъде зададена от 0 до 5, за да се контролира обемът на информацията за отстраняване на грешки. По-високите нива деактивират отпечатването на кортежи за Mu.
- Програмата simpletest.py е полезен начин да докажете, че Wi-Fi връзката е направена и връзката с интернет работи за ICMP трафик.
- Уверете се, че използвате скорошна версия на библиотеката adafruit_espatcontrol.
- Сините светодиоди на Maker Pi Pico на всеки GPIO са много полезни за незабавно визуализиранеview на състоянието на GPIO. Всички свързани GPIO ще бъдат включени с изключение на:
- GP26 ще бъде изключен, защото изгладеният обtage (около 500mV) е твърде ниско;
- GP12 ще бъде слаб, защото е ~ 15% PWM сигнал за работен цикъл;
- GP5 ще бъде включен, но ще мига, докато данните се изпращат от PMS5003;
- GP10 ще бъде изключен, но ще мига, тъй като малките частици се откриват от B5W LD0101;
- GP11 ще бъде изключен, но ще мига много от време на време, освен ако не сте на изключително задимено място.
Резултатът, предназначен за плотера в Mu, ще изглежда нещо подобно в стая:
(5,8,4.59262,4.87098,3.85349,0.0)
(6,8,4.94409,5.24264,1.86861,0.0)
(6,9,5.1649,5.47553,1.74829,0.0)
(5,9,5.26246,5.57675,3.05601,0.0)
(6,9,5.29442,5.60881,0.940312,0.0)
(6,11,5.37061,5.68804,1.0508,0.0)
Или стая с по-чист въздух:
(0,1,1.00923,1.06722,0.0,0.0)
(1,2,0.968609,1.02427,0.726928,0.0)
(1,2,0.965873,1.02137,1.17203,0.0)
(0,1,0.943569,0.997789,1.47817,0.0)
(0,1,0.929474,0.982884,0.0,0.0)
(0,1,0.939308,0.993282,0.0,0.0)
Шестте стойности на ред в ред са:
- PMS5003 PM1.0 и PM2.5 (целочислени стойности);
- SPS30 PM1.0 и PM2.5;
- B5W LD0101 необработен брой OUT1 и OUT2.

Стъпка 11: Тестване на сензорите вътре с Mu и Adafruit IO
Видеото по-горе показва как сензорите реагират на запалването на кибрит, за да запалят ароматната пръчка. Пиковите стойности на PM2.5 от PMS5003 и SPS30 са съответно 51 и 21.5605. B5W LD0101 има непокрита оптика и за съжаление е засегнат от волфрамовото халогенно осветление, използвано за това видео. Има повишено ниво на частици във въздуха от предишен тест.
Не забравяйте да изключите батерията, когато не се използва, в противен случай нагревателят на B5W LD0101 ще изтощи батериите.
https://www.youtube.com/watch?v=lg5e6KOiMnA
Стъпка 12: Прахови частици навън в нощта на Гай Фокс
Нощта на Гай Фокс се свързва с огньове и фойерверки, които могат да допринесат за увеличаване на замърсяването на въздуха за една или две вечери. Графиките по-горе показват, че трите сензора са поставени навън малко след 7:5 ч. в петък, 2021 ноември XNUMX г. В непосредствена близост нямаше фойерверки, но се чуваха в далечината. Забележка: скалата на мухата варира между трите диаграми.
Данните за захранването, съхранени в Adafruit IO, показват, че сензорите, откриващи въздуха, вече са имали леко повишено ниво на PM2.5 въз основа на номерата на SPS30:
2021/11/05 7:08:24PM 13.0941
2021/11/05 7:07:56PM 13.5417
2021/11/05 7:07:28PM 3.28779
2021/11/05 7:06:40PM 1.85779
Пикът беше около 46 ug на кубичен метър малко преди 11 часа:
2021/11/05 10:55:49PM 46.1837
2021/11/05 10:55:21PM 45.8853
2021/11/05 10:54:53PM 46.0842
2021/11/05 10:54:26PM 44.8476
Има кратки пикове на други места в данните, когато сензорите са били навън. Те могат да се дължат на полъхи от:
- изгорели газове от централно отопление,
- хора, които пушат наблизо и/или
- миризми/изпарения от готвене.
Проверете времето, преди да изложите откритата електроника навън!
Стъпка 13: Прахови частици вътре при готвене
Графиките по-горе показват как сензорите реагират на пържене на бекон и гъби в близката кухня с посредствена екстракция. Сензорите бяха на около 5 м (16 фута) от котлона. Забележка: y скалата варира между трите диаграми.
Данните за захранване, съхранени в Adafruit IO, показват сензорите с кратко пиково ниво на PM2.5 от около 93ug на кубичен метър въз основа на номерата на SPS30:
2021/11/07 8:33:52PM 79.6601
2021/11/07 8:33:24PM 87.386
2021/11/07 8:32:58PM 93.3676
2021/11/07 8:32:31PM 86.294
Замърсителите ще бъдат много различни от тези от преработката. Това е интересен бившampот разнообразните източници на прахови частици във въздуха, който дишаме.
Стъпка 14: Обществени сензори за прахови частици
Графичните данни по-горе са от близки обществени сензори.
- Дишай Лондон
- Clarity Movement Node-S
- tbps
- oss
- rl
- Clarity Movement Node-S
- OpenAQ
- PurpleAir PA-II
- sr
- PurpleAir PA-II
- Лондонска мрежа за качество на въздуха
- Референтно качество (Met One BAM 1020 и други)
- FS
- AS
- TBR
- Референтно качество (Met One BAM 1020 и други)
Сензорите tbps и TBR са почти съвместно разположени и са изобразени заедно, за да покажат корелацията между устройството, базирано на SPS30, и референтното наблизо. Изглежда, че SPS30 показва недостатъчно четене вечерите на 5 и 6 ноември, когато е разумно да се предположи, че вечерното увеличение се дължи на преработки. Това може да се дължи на разликата в масата на частиците, тъй като сензорите, използвани за тази статия, могат да откриват само обем и трябва да отгатнат плътността на частиците, за да произведат стойности в микрограмове на кубичен метър.
PMS5003 в PurpleAir PA-II изглежда превишава показанията за всякакви повишени нива на PM2.5 въз основа на този кратък период. Това може да съответства на резултатите, показани на предишните страници, или може да има други фактори наблизо, причиняващи това.
SPS30 и PMS5003 произвеждат данни за частици, по-големи от 2.5 микрона, но следващите страници показват защо това трябва да се третира с повишено внимание.

Стъпка 15: Сравнение на сензори – размер на частиците
Графиките по-горе са от лабораторна оценка на селективността на размера на частиците на оптични евтини сензори за прахови частици от Финландския метеорологичен институт. Три сензора от всеки вид бяха тествани с различни размери на частиците, показани на логаритмичната ос x. Цветните линии показват изчислените стойности на специфични ленти с размер на частиците въз основа на изходите на сензора, лентите показват разпределението. Трите стойности на SPS30 над 1 микрон се припокриват силно, което ги прави много трудни за разграничаване.
Общите показатели за прахови частици са PM2.5 и PM10. Докато числото в името се отнася до максималния размер на частицата, единиците са в микрограмове на кубичен метър. Евтините сензори могат да измерват само диаметъра (обема) на частиците и трябва да направят някои предположения за плътността, за да изчислят вероятните стойности на PM2.5 и PM10.
PMS5003 използва постоянна стойност на плътност, Sensirion описва своя подход за плътност за SPS30 като:
Повечето евтини PM сензори на пазара приемат постоянна плътност на масата при калибриране и изчисляват концентрацията на маса чрез умножаване на броя на откритите частици по тази плътност на масата. Това предположение работи само ако сензорът измерва един тип частици (например тютюнев дим), но в действителност откриваме много различни типове частици с много различни оптични свойства в ежедневието, от „тежък“ домашен прах до „леки“ частици от горене . Патентованите алгоритми на Sensirion използват усъвършенстван подход, който позволява правилна оценка на масовата концентрация, независимо от вида на измерената частица. В допълнение, такъв подход позволява правилна оценка на размера на контейнерите.
Показателите за PM обхващат всички частици под параметъра за размер, т.е
PM1 + маса на всички частици между 1.0 и 2.5 микрона = PM2.5,
PM2.5 + маса на всички частици между 2.5 и 10 микрона = PM10.
PMS5003 и SPS30 не могат да открият частиците в този лабораторен тест над 2-3 микрона. Възможно е те да открият други видове частици над този размер.
B5W LD0101 изглежда надежден от този лабораторен тест за измерване на PM10.



Стъпка 16: Сравнение на сензори – дизайн
Нагревателят на Omron (резистор 100 ома +/- 2%!) може да се види, ако сензорът е обърнат наопаки. Дизайнът е разгледан подробно в Omron: Разработка на сензор за качество на въздуха за пречиствател на въздух. Използването на конвекция изглежда грубо, но може да бъде решение с по-висока надеждност в сравнение с механичен компонент като вентилатор, който има краен живот и живот, който може да бъде намален при работа в прашна среда. Вентилаторът SPS30 изглежда е проектиран да може лесно да се сменя без отваряне на кутията. Други модели Plantower имат същата конструктивна характеристика.
И трите сензора ще бъдат податливи на въздействието на висока относителна влажност, което за съжаление погрешно повишава стойностите на PM.
Сертифицираните сензори с референтно качество (списък DEFRA на Обединеното кралство), които следят праховите частици, не използват оптичен подход за измерване. Met One BAM 1020 работи по
- отделяне и изхвърляне на частици, по-големи от ограничения размер от въздуха sampле,
- загряване на въздуха за контролиране/намаляване на относителната влажност,
- отлагане на частиците върху нов участък от непрекъсната мека лента и
- след това измерване на затихването на източник на бета радиация от натрупаните частици върху лентата, за да се изчисли добра оценка на общата маса на частиците.
Друга често срещана техника е осцилиращият микровезни със заострен елемент (TEOM), който отлага частици върху сменяем филтър върху свободния край на заострена тръба, която е фиксирана в другия край. Точното измерване на честотата на трептене на естествено резонансната тръба позволява допълнителната малка маса на частиците да бъде изчислена от миниатюрната промяна в честотата. Този подход е подходящ за създаване на по-високи стойности на PM.



Стъпка 17: Продължете напред
След като настроите сензорите си и публикувате данни в Adafruit IO, ето някои други идеи, които да проучите:
- Тествайте всяка стая в дома си с течение на времето, като отбелязвате активността и вентилацията. Тествайте дома си, когато готвите. Тествайте барбекю.
- Използвайте трите бутона на Maker Pi Pico. Те са свързани към GP20, GP21 и GP22, които умишлено са оставени неизползвани, за да позволят използването на бутони.
- Ако живеете близо до обществена станция за мониторинг на качеството на въздуха, сравнете вашите данни с нея.
- Добавете дисплей за посещавана употреба, показващ стойностите на сензора. SSD1306 е малък, може да се продава и лесен за добавяне/използване в CircuitPython. Вижте Instructables: Отчитане на влажността на почвата
- С Maker Pi Pico за бившample от използването му.
- Проучете библиотеката MQTT, за да видите дали всички данни от сензора могат да бъдат изпратени в една партида. Това трябва да е по-ефективно.
- Интегрирайте се по някакъв начин със самостоятелния сензор за качество на въздуха Vindriktning на IKEA.
- MQTT свързаността на Soren Beye за Ikea VINDRIKTNING показва как да добавите ESP8266 към сензора и идентифицира сензора за прахови частици (прах) като „подобен на Cubic PM1006“.
- Разширен проект би бил да се замени основната печатна платка с платка, базирана на ESP32-S2 с допълнителни цифрови сензори за околната среда, за да се създаде Wi-Fi-активирано, базирано на CircuitPython устройство.
- Това устройство се обсъжда във форума за домашен асистент: IKEA Vindriktning сензор за качество на въздуха.
- LaskaKit произвежда базирана на ESP32 заместваща печатна платка за сензора, за да може лесно да се използва с ESPHome.
- Проучете ефектите от варирането на обtage в рамките на разрешените диапазони за сензорите. Това може да промени скоростта на вентилатора или температурата на нагревателя, което да повлияе на резултатите.
- Изградете заграждение, устойчиво на атмосферни влияния и диви животни, с внимателен дизайн за вход, изход и въздушен поток покрай сензорите. Чадър, залепен за парапет, беше използван за защита на откритата, открита електроника за събирането на данни през уикенда за тази статия.
Свързани проекти:
- Costas Vav: Преносим сензор за качество на въздуха
- Pimoroni: Станция за качество на въздуха на открито с Enviro+ и Luftdaten
- Инструкции: Използване на Pimoroni Enviro+ FeatherWing с Adafruit Feather NRF52840 Express –
- Enviro+ FeatherWing включва конектор за PMS5003. SPS30 може да се използва с i2c щифтове и има почти достатъчно щифтове, за да използвате и B5W LD0101.
- nRF52840 не поддържа Wi-Fi, така че не може да се използва самостоятелно за публикуване на данни в интернет.
- Adafruit Learn: 3D печатна кутия със сензор за качество на въздуха. – използва Adafruit Feather M4 с базиран на ESP32 Airlift FeatherWing и PMS5003.
- Adafruit Learn: Quickstart IoT – Raspberry Pi Pico RP2040 с WiFi – използва базирана на ESP32 платка Adafruit AirLift.
- GitHub: CytronTechnologies/MAKER-PI-PICO Example Code/CircuitPython/IoT – прample код за Adafruit IO, Blynk и Thinkspeak.
- Cytron: Наблюдение на въздуха чрез мобилен телефон – използва базиран на ESP8266 Arduino щит за изпращане на данни от
- Honeywell HPM32322550 сензор за прахови частици към Blynk, не е необходим (смарт) телефон.
Междинни сензори, по-скъпи, но с по-добра способност за откриване на по-големи размери на частиците:
- Piera Systems IPS-7100
- Alphasense OPC-N3 и OPC-R2
Допълнителна литература:
- Сензори
- Финландски метеорологичен институт: Лабораторна оценка на селективността на размера на частиците на оптични евтини сензори за прахови частици (май 2020 г.)
- Гоф Луи: Review, Teardown: Plantower PMS5003 Лазерен сензор за мониториране на частици включва сравнение със Sensirion SPS30.
- Карл Кьорнер: Как да отворите и почистите сензор за въздух PMS 5003
- Met One Instruments, Inc., BAM-1020 EPA TSA Training Video (YouTube) – показва какво има вътре и как работи.
- Изследователски обмен на CITRIS: разговор на Sean Wihera (Clarity Movement) (YouTube) – разговор, включително подробности за сензора Node-S, който използва Sensirion SPS30.
- Законодателство и организации, ангажирани с качеството на въздуха
- Разпоредбите за стандартите за качество на въздуха от 2010 г. (Обединеното кралство)
- Насоки за замърсяването на въздуха на Световната здравна организация (СЗО).
- Британска белодробна фондация – Качество на въздуха (PM2.5 и NO2)
- Проучване
- Imperial College London: Континуумът на замърсяването на въздуха на закрито и на открито (YouTube)
- Деца от началното училище събират данни за качеството на въздуха с раници в Лондон през 2019 г.:
- Дайсън: Проследяване на замърсяването в училище. Breathe London (YouTube)
- Кралският колеж в Лондон: Група за изследване на околната среда: Проучването на Breathe London Wearables
- Atmosphere Journal: Замърсяване на въздуха на закрито от битови печки: Изследване на наводняването на прахови частици в домовете по време на употреба в реалния свят
- Новини и блогове
- The Economist: Среднощно небе – въглищночервеното отопление на домовете в Полша създава широко разпространено замърсяване (януари 2021 г.)
- NPR на САЩ: Подслоняването вътре може да не ви предпази от опасностите от див дим?
- Ройтерс: Партито свърши: Дивали напуска Делхи, хриптейки в опасно нездравословен въздух
- Блог на Pimoroni: Най-замърсената нощ в годината (в Обединеното кралство)
- Движение за яснота: дим от диви пожари, обществено здраве и екологична справедливост: по-добри
- Вземане на решения с мониторинг на въздуха (YouTube) – презентация и дискусия относно качеството на въздуха в западната част на САЩ, особено около дима от дивите пожари през 2020 г.
- Guardian: Данните показват, че мръсният въздух засяга 97% от домовете във Великобритания
- Мониторинг на частици и съхранение на данни
- Холандия Rijksinstituut voor Volksgezondheid en Milieu (Национален институт за обществено здраве и околна среда): Vuurwerkexperiment (Експеримент с фойерверки) 2018-2019 г.
- Google: Улица по улица: Как картографираме качеството на въздуха в Европа – улица view автомобили събират данни за прахови частици и замърсители газове.London Air Quality Network
- Breathe London – мрежа, допълваща Лондонската мрежа за качество на въздуха с „поръчвани, лесни за инсталиране и поддръжка сензори за качество на въздуха за всеки“, които в момента използват Clarity Movement Node-S.
- Мониторинг на прахови частици от посолството на САЩ в Пекин (Twitter)
- Световен индекс за качеството на въздуха – събира данни от много различни източници с карта views и исторически данни.
- Sensor.Community (по-рано известен като Luftdaten) – „да направим света по-добро място чрез управлявани от общността отворени данни за околната среда“.
- Софтуерни библиотеки
- Софтуерни грешки в библиотека със сензори за прахови частици – adafruit_pm25 страда от поне един от описаните проблеми, налагащи обработка на изключения около read() за сериен (UART).
- Курсове
- HarvardX: Замърсяване на въздуха с прахови частици (YouTube) – пет минутно видео от краткия курс EdX: Енергия в рамките на екологични ограничения
Откриването и алармите с критично значение за безопасността е най-добре да се оставят на търговски уреди от реномирани доставчици.
https://www.youtube.com/watch?v=A5R8osNXGyo
Публикуване на данни от сензори за прахови частици в Adafruit IO с Maker Pi Pico и ESP-01S:

Документи / Ресурси
![]() |
instructables ESP-01S Публикуващ сензор за прахови частици [pdf] Ръководство за потребителя ESP-01S Публикуващ сензор за прахови частици, ESP-01S, Публикуващ сензор за прахови частици, Сензор за прахови частици, Сензор за материя |




