ESP-01S发布颗粒物传感器
用户指南
ESP-01S发布颗粒物传感器
使用 Maker Pi Pico 和 ESP-01S 将颗粒物传感器数据发布到 Adafruit IO
来自 kevinjwalters
本文介绍如何使用运行 CircuitPython 程序的 Cytron Maker Pi Pico 将来自三个低成本颗粒物传感器的数据发布到 Adafruit IO IoT 服务,该程序使用运行 AT rmware 的 ESP-01S 模块通过 Wi-Fi 传输传感器的输出。
世卫组织将 PM2.5 颗粒物列为对健康构成最大环境风险之一,99 年世界上 2019% 的人口生活在未达到世卫组织空气质量准则水平的地方。据估计,有 4.2 万人因此过早死亡2016年。
本文中展示的三种颗粒物传感器是:
- 使用串行连接的 Plantower PMS5003;
- 使用 i30c 的 Sensirion SPS2;
- 带脉冲输出的 Omron B5W LD0101。
这些光学传感器类似于一种家用烟雾报警器中的传感器,但它们在尝试计算不同大小的颗粒而不仅仅是在阈值浓度下报警时有所不同。
基于红色激光的 PMS5003 是爱好者常用的传感器,可以在 PurpleAir PA-II 空气质量传感器中找到。 SPS30 是使用相同原理的更新型传感器,可在 Clarity Node-S 空气质量传感器中找到。 基于红外 LED 的 B5W LD0101 传感器具有更原始的接口,但因其能够检测大于 2.5 微米的颗粒而很有用——其他两个传感器无法可靠地测量这些颗粒。
Adafruit IO 提供了一个免费层,其中包含有限数量的提要和仪表板——这些对于这个项目来说已经足够了。 免费层数据保留 30 天,但可以轻松下载数据。
本文中的 Maker Pi Pico 板为ample Cytron 好心地寄给我进行评估。 与生产版本的唯一区别是添加了无源组件来消除三个按钮的抖动。
ESP-01S 模块可能需要升级 AT 固件。 这是一个相对复杂、繁琐的过程,并且可能很耗时。 Cytron 出售带有适当 AT rmware 的模块。
不幸的是,制造商已停产 Omron B5W LD0101 传感器,最后订单是在 2022 年 XNUMX 月。
补给品:
- Cytron Maker Pi Pico – Digi-key | 皮小屋
- ESP-01S – Cytron 的电路板带有适当的 ATrmware。
- ESP-01 带复位按钮的 USB 适配器/编程器 – Cytron。
- 面包板。
- 母对公跳线,最小长度可能为 20 厘米(8 英寸)。
- 带有电缆和面包板适配器的 Plantower PMS5003 – Adafruit
- 或 Plantower PMS5003 + Pimoroni 面包板适配器 – Pimoroni + Pimoroni
- Sensirion SPS30 – 电子钥匙
- Sparkfun SPS30 JST-ZHR 电缆至 5 个公针 – Digi-key
- 2 个 2.2k 电阻器。
- Omron B5W LD0101 – 贸泽
- Omron 电缆被描述为线束 (2JCIE-HARNESS-05) – Mouser
- 5 针公头(用于将电缆连接到面包板)。
- 焊接 – 鳄鱼(短吻鳄)夹可以作为焊接的替代品。
- 2 个 4.7k 电阻器。
- 3 个 10k 电阻器。
- 0.1uF电容。
- 欧姆龙 B5W LD0101 电池电量:
- 用于可充电镍氢电池的 4AA 电池座(更好的选择)。
- 或用于碱性电池的 3AA 电池座。
- 如果您想在没有 USB 电源的情况下在户外跑步,USB 电源组可能会有用。
第 1 步:用于在 ESP-01S 上更新闪存的 USB 编程器
ESP-01S 模块不太可能随附适当的 AT 固件,除非它来自 Cytron。 更新它的最简单方法是使用带有 USB 适配器的 Windows 台式机或笔记本电脑,该适配器可写入灰烬并具有重置按钮。
不幸的是,一种非常常见的非品牌适配器通常被描述为“ESP-01 编程器适配器 UART”之类的东西,但没有按钮或开关来控制它们。 上面的视频显示了如何快速回溯
一些简易开关由两根公母跳线制成,切成两半并焊接到编程器板底部的引脚上。 在 Hackaday 中可以看到使用面包板的替代方法:
ESP-01 Windows 工作流程上的 ESPHome。
https://www.youtube.com/watch?v=wXXXgaePZX8
第 2 步:使用 Windows 更新 ESP-01S 的固件
像 PuTTY 这样的终端程序可以与 ESP-01 编程器一起使用来检查 rmware 版本。 rmware 使 ESP8266 有点像调制解调器,其命令受 Hayes 命令集启发。 AT+GMR AT+GMR 命令显示固件版本。
AT+GMR
AT版本:1.1.0.0(11-2016-18 09:56:XNUMX)
SDK版本:1.5.4(baaaeabb)
编译时间:20-2016-15 08:19:XNUMX
Cytron 有一个指南,描述了如何使用 GitHub 上的 Espressif Flash 下载工具(仅限 Windows)应用 rmware 更新: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:XNUMX)
SDK版本:v3.4-22-g967752e2
编译时间(6800286):4年2021月17日20:05:XNUMX
Bin版本:2.2.0(Cytron_ESP-01S)
一个名为 esptool 的命令行程序可作为对基于 ESP8266 的 ESP-01S 进行编程的替代方案,并且可以在 Linux 或 macOS 上使用。
可以使用 Cytron 的 simpletest.py 在 Maker Pi Pico 上测试 ESP-01S 上的固件。 这会每 10 秒向 Internet 上的知名服务发送一次 ICMP ping,并以毫秒为单位显示往返时间 (rtt)。 这需要一个 secrets.py file 使用 Wi-Fi SSID(名称)和密码 - 这将在本文后面描述。
优点缺点
第 3 步:连接传感器
一个半尺寸的面包板用于连接三个传感器并监测电压tage 来自四节可充电镍氢电池。 上面的完整设置包含一张高分辨率照片,接下来的步骤描述了如何连接每个传感器。
面包板上的电源轨由 Pi Pico 供电
- VBUS (5V) 和 GND 连接到左侧的电源轨和
- 3V3 和 GND 到右侧。
电源轨标有附近的红线表示正轨,蓝色表示负(或接地)轨。 在全尺寸(830 孔)面包板上,它们可能有一组顶部导轨,这些导轨未连接到底部导轨组。
电池仅用于为需要稳定电压的 Omron B5W LD0101 供电tage. 来自计算机的 USB 电源通常噪音很大,因此不适合。
第 4 步:连接 Plantower PMS5003
Plantower PMS5003 需要 5V 电源,但其串行“TTL 样式”接口是 3.3V 安全的。 来自的连接
PMS5003 通过分线板连接到 Pi Pico 是:
- VCC 到 5V(红色)通过第 6 行到 5V 轨;
- GND 到 GND(黑色)通过第 5 行到 GND;
- 通过第 1 行到 GP2 设置为 EN(蓝色);
- RX 到 RX(白色)通过第 3 行到 GP5;
- TX 到 TX(灰色)通过第 4 行到 GP4;
- RESET 到 RESET(紫色)通过第 2 行到 GP3;
- NC(未连接);
- NC。
数据表包含有关金属外壳的警告。
金属外壳连接到 GND,因此请注意不要让它与 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(紫色)通过第 1 行与 10k 电阻到 2.2V 轨的 GP3.3(紫色);
- SEL(绿色)到GND;
- GND(黑色)到 GND。
导线上的连接器可能需要用力推动才能将其正确插入 SPS30。
SPS30 还支持 Sensirion 在数据表中推荐的串行接口。
关于 I2C 接口的使用,应考虑一些因素。 I2C 最初设计用于连接 PCB 上的两个芯片。 当传感器通过电缆连接到主PCB时,必须特别注意电磁干扰和串扰。 使用尽可能短 (< 10 cm) 和/或屏蔽良好的连接电缆。
我们建议尽可能使用 UART 接口:它更能抵抗电磁干扰,尤其是使用长连接电缆时。
还有关于外壳金属部件的警告。
请注意,GND 引脚 (5) 和金属屏蔽层之间存在内部电气连接。 保持此金属屏蔽层处于电气浮动状态,以避免任何意外电流通过此内部连接。 如果这不是一个选项,则必须在 GND 引脚和连接到屏蔽层的任何电位之间进行适当的外部电位均衡。 通过 GND 和金属屏蔽层之间连接的任何电流都可能损坏产品,并因过热而带来安全风险。
第 6 步:连接 Omron B5W LD0101
Omron 电缆不适用于面包板。 将其转换为电路板使用的一种快速方法是切断插座,剥去电线并将它们焊接到五针长度的公头针上。 鳄鱼(短吻鳄)夹可用作避免焊接的替代方法。
Omron B5W LD0101 需要 5V 稳压电源。 它的两个输出也处于 5V 电平,这与 Pi Pico 的 3.3V 输入不兼容。 传感器板上存在电阻器,通过为每个输出添加一个 4.7k 电阻器接地,可以轻松将其降至安全值。 板载电阻器记录在数据表中,这使得这是一种合理的方法。
从 B5W LD0101 到 Pi Pico 的连接是:
- Vcc(红色)到 5V(红色)轨通过第 25 行;
- OUT1(黄色)到 GP10GP10(黄色)通过第 24 行带有 4.7k 电阻到 GND;
- GND(黑色)到 GND(黑色)通过第 23 行;
- Vth(绿色)通过第 26 行和 26uF 电容到 GND 到 GP22GP0.1(绿色);
- OUT2(橙色)通过第 11 行与 21k 电阻连接到 GP4.7(橙色)到 GND。
这 GP12 Pi Pico 的(绿色)连接到第 17 行,一个 10k 电阻将第 17 行连接到第 22 行。
数据表将电源要求描述为:
最小 4.5V,典型 5.0V,最大 5.5V,纹波电压tag建议使用 30mV 或更小的范围。 确保没有低于 300Hz 的噪音。 缺点
rm 允许纹波 voltag使用实际机器的 e 值。
三节碱性电池或四节可充电 (NiMH) 电池是提供稳定、稳定的音量的最简单方法tage 大约 5V 到传感器。 USB 电源组可能是一个糟糕的选择,因为 voltage 通常来自使用降压-升压转换器的锂电池,这会产生噪音。
B5W LD0101 使用对流实现气流,必须直立放置才能正常工作。 供应量的变化tage 可能会影响加热器的温度和相关的气流。 环境温度也必须有影响。
第 7 步:使用分压器进行电池监控
电池容量tage 超过了 Pi Pico 的 RP3.3 处理器输入的 2040V 电平。 一个简单的分压器可以减少这个卷tage 在那个范围内。 这允许 RP2040 测量具有模拟功能(GP26 至 GP28)输入的电池电量。
上面使用了一对 10k 的电阻来将 vol 减半tage. 通常会看到使用更高的值(如 100k)来最小化浪费的电流。 连接是:
- B5W LD0101 Vcc(红色)跳线到第 29 行左侧;
- 第10行左右两侧之间的第29行29k电阻;
- 连接到 Pi Pico GP27 的棕色跳线;
- 从第 10 行右侧到附近的 GND 轨的 29k 电阻。
Maker Pi Pico 上的 GP28 可以用作模拟输入,但由于它还连接到 RGB 像素,这可能会对值产生影响,如果输入看起来像 WS2812 协议,甚至可能会发光或改变!
第八步:安装CircuitPython和传感器数据发布程序
如果您不熟悉 CircuitPython,那么值得先阅读欢迎使用 CircuitPython 指南。
- 从 7.x 版本的包中安装以下七个库 https://circuitpython.org/libraries 进入 CIRCUITPY 驱动器上的 lib 目录:
- adafruit_bus_device
- adafruit_minimqtt
- 阿达水果_io
- adafruit_espatcontrol
- adafruit_pm25
- adafruit_requests.mpy
- 新像素.mpy
- 通过单击 Save link as... 将这两个额外的库下载到 lib 目录 files 在目录内或在 file:
- adafruit_sps30 来自 https://github.com/kevinjwalters/Adafruit_CircuitPython_SPS30
- b5wld0101.py 来自 https://github.com/kevinjwalters/CircuitPython_B5WLD0101
- 创建 secrets.py file (见前ample 下面)并填写值。
- 通过单击 pmsensors_adafruitio.py 上的链接另存为...,将程序下载到 CIRCUITPY
- 重命名或删除任何现有代码.py file 然后在 CIRCUITPY 上将 pmsensors_adafruitio.py 重命名为 code.py 这 file 在 CircuitPython 解释器启动或重新加载时运行。
# 这个文件是你保存秘密设置、密码和令牌的地方!
# 如果你把它们放在代码中,你就有可能提交或分享该信息
秘密 = {
“ssid”:“在此插入 WIFI 名称”,
“密码”:“在此插入-WIFI-密码”,
“aio_username”:“INSERT-ADAFRUIT-IO-USERNAME-HERE”,
“aio_key”:“插入 ADAFRUIT-IO-APPLICATION-KEY-HERE”
# http://worldtimeapi.org/timezones
“时区”:“美国/纽约”,
}
该项目使用的版本是:
CircuitPython 7.0.0
CircuitPython 库包 adafruit-circuitpython-bundle-7.x-mpy-20211029.zip- XNUMX 月/XNUMX 月的早期版本不得用作 adafruit_espatcontrol
图书馆是越野车,一半以令人困惑的方式工作。
第 9 步:Adafruit IO 设置
Adafruit 有很多关于 Adafruit IO 服务的指南,最相关的是:
欢迎来到 Adafruit IO
Adafruit IO 基础知识:提要
Adafruit IO 基础知识:仪表板
熟悉提要和仪表板后,请按照以下步骤操作。
- 如果您还没有 Adafruit 帐户,请创建一个。
- 在 Feeds 下创建一个名为 mpp-pm 的新组
- 通过单击 + New Feed 按钮在这个新组中创建九个 Feed,名称是:
- b5wld0101-原始输出1
- b5wld0101-原始输出2
- b5wld0101-vcc
- b5wld0101-vth
- CPU温度
- pms5003-pm10-标准
- pms5003-pm25-标准
- sps30-pm10-标准
- sps30-pm25-标准
- 为这些值制作一个仪表板,建议的块是:
- 三个折线图块,每个传感器一个,每个图表有两条线。
- 两个卷的三个量块tages 和温度。
第十步:验证数据发布
Pro下的Monitor页面 file 通过查看实时数据可用于验证数据是否实时到达 file 部分。 当程序将数据发送到 Adafruit IO 时,程序会将 RGB 像素变为蓝色 2-3 秒,然后返回绿色。
RP2040 的温度在不同 CPU 之间似乎差异很大,不太可能与环境温度相匹配。
如果这不起作用,请检查以下几项。
- 如果 RGB 像素保持不变或 Adafruit IO 未收到数据,则检查 USB 串行控制台的输出/错误。 串行控制台上 Mu 的数字输出将显示传感器是否正在工作,并且每 2-3 秒打印一次新行——请参见下面的示例amp乐输出。
- 监控页面上的实时错误部分值得检查数据是否正在发送但未显示。
- 程序中的 debug 变量可以设置为 0 到 5 来控制调试信息的大小。 更高级别禁用 Mu 的元组打印。
- simpletest.py 程序是证明 Wi-Fi 连接已建立并且互联网连接适用于 ICMP 流量的有用方法。
- 确保您使用的是最新版本的 adafruit_espatcontrol 库。
- 每个 GPIO 上的 Maker Pi Pico 蓝色 LED 对于获得即时视觉效果非常有用view GPIO 状态。 所有连接的 GPIO 都将打开,但以下情况除外:
- GP26 将关闭,因为平滑的音量tage(500mV左右)太低;
- GP12 会变暗,因为它是一个约 15% 占空比的 PWM 信号;
- 当数据从 PMS5 发送时,GP5003 将亮起但会闪烁;
- 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 测试内部传感器
上面的视频显示了传感器对被点燃的火柴做出反应以点燃香棒。 PMS2.5 和 SPS5003 的 PM30 峰值分别为 51 和 21.5605。 B5W LD0101 已发现光学元件,不幸的是,它受到了该视频中使用的卤钨灯的影响。 之前的测试运行导致空气中的颗粒水平升高。
请记住在不使用时断开电池组,否则 B5W LD0101 的加热器会耗尽电池电量。
https://www.youtube.com/watch?v=lg5e6KOiMnA
第 12 步:盖伊福克斯之夜外面的颗粒物
盖伊福克斯之夜与篝火和烟花有关,这会导致一两个晚上的空气污染加剧。 上图显示了 7 年 5 月 2021 日星期五晚上 XNUMX 点刚过,三个传感器被放置在室外。附近没有烟花,但远处可以听到烟花。 注意:飞行比例在三个图表之间有所不同。
存储在 Adafruit IO 中的提要数据显示,根据 SPS2.5 数字,传感器检测到空气中的 PM30 水平已经略有升高:
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 点之前,峰值约为每立方米 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 中存储的提要数据显示,根据 SPS2.5 数据,传感器的 PM93 峰值水平约为每立方米 30 微克:
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 节点-S
- TBPS
- 开源
- rl
- Clarity Movement 节点-S
- 开放AQ
- PurpleAir PA-II
- sr
- PurpleAir PA-II
- 伦敦空气质量网络
- 参考质量(Met One BAM 1020 等)
- FS
- AS
- 待定
- 参考质量(Met One BAM 1020 等)
tbps 和 TBR 传感器几乎位于同一位置,并绘制在一起以显示基于 SPS30 的设备与附近的参考设备之间的相关性。 SPS30 似乎在 5 月 6 日和 XNUMX 日晚上显着低读,此时可以合理地假设晚间增加是由于返工。 这可能是由于颗粒质量的差异,因为本文使用的传感器只能检测体积,需要猜测颗粒的密度才能产生以微克/立方米为单位的值。
基于这段短时间,PurpleAir PA-II 中的 PMS5003 似乎明显过度读取任何升高的 PM2.5 水平。 这可能与前几页显示的结果相匹配,或者附近可能有其他因素导致了这种情况。
SPS30 和 PMS5003 生成大于 2.5 微米的颗粒数据,但以下几页说明了为什么应谨慎对待。
第 15 步:传感器比较 – 颗粒大小
上图来自芬兰气象研究所对光学低成本颗粒物传感器的颗粒尺寸选择性的实验室评估。 对每种类型的三个传感器进行了测试,其中对数 x 轴上显示了不同的粒径。 彩色线表示基于传感器输出的特定粒径带的计算值,带显示分布。 30 微米以上的三个 SPS1 值严重重叠,因此很难区分。
颗粒物的常用指标是 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 微米以上的颗粒。 他们有可能检测到超过这个尺寸的其他类型的粒子。
从这项用于测量 PM5 的实验室测试来看,B0101W LD10 看起来可信。
第 16 步:传感器比较 – 设计
如果将传感器倒置,则可以看到 Omron 加热器(100 欧姆 +/- 2% 电阻器!)。 Omron:空气净化器空气质量传感器的开发中详细讨论了该设计。 对流的使用看似粗糙,但与风扇等机械部件相比,它可能是一种可靠性更高的解决方案,风扇的使用寿命很短,而且在多尘环境中运行可能会缩短使用寿命。 SPS30 风扇的设计似乎无需打开外壳即可轻松更换。 其他 Plantower 型号具有相同的设计特点。
所有三个传感器都容易受到高相对湿度的影响,不幸的是,这会错误地增加 PM 值。
监测颗粒物的经过认证的参考质量传感器(英国的 DEFRA 列表)不使用光学方法进行测量。 Met One BAM 1020 的作品
- 从空气中分离并丢弃大于尺寸限制的颗粒amp乐,
- 加热空气以控制/降低相对湿度,
- 将颗粒沉积在连续布带的新部分上,并
- 然后测量磁带上累积的粒子对 β 辐射源的衰减,以计算出对粒子总质量的良好估计。
另一种常用技术是锥形元件振荡微量天平 (TEOM),它将颗粒沉积在固定在另一端的锥形管自由端的可更换过滤器上。 对自然共振管的振荡频率进行精确测量,可以根据频率的微小变化计算出额外的微小粒子质量。 这种方法适用于创建更高速率的 PM 值。
第 17 步:更进一步
设置好传感器并将数据发布到 Adafruit IO 后,您还可以探索以下一些其他想法:
- 随着时间的推移测试您家中的每个房间,注意活动和通风情况。 在你做饭的时候测试你的家。 测试烧烤。
- 使用 Maker Pi Pico 上的三个按钮。 这些连接到 GP20、GP21 和 GP22,它们被故意闲置以供按钮使用。
- 如果您住在公共空气质量监测站附近,请将您的数据与其进行比较。
- 添加显示传感器值的有人值守显示。 SSD1306 体积小、价格实惠且易于在 CircuitPython 中添加/使用。 参见 Instructables:土壤湿度传感
- 与 Maker Pi Pico 的前任amp它的用途。
- 调查 MQTT 库以查看是否可以一批发送所有传感器数据。 这应该更有效。
- 以某种方式与独立的宜家 Vindriktning 空气质量传感器集成。
- Soren Beye 针对 Ikea VINDRIKTNING 的 MQTT 连接展示了如何将 ESP8266 添加到传感器并将颗粒物(灰尘)传感器识别为“Cubic PM1006-like”。
- 一个高级项目是用带有额外数字环境传感器的基于 ESP32-S2 的电路板替换主 PCB,以创建支持 Wi-Fi、基于 CircuitPython 的设备。
- 该设备在 Home Assistant 论坛上进行了讨论:IKEA Vindriktning 空气质量传感器。
- LaskaKit 为传感器生产基于 ESP32 的替换 PCB,使其可以轻松地与 ESPHome 一起使用。
- 研究改变供应量的影响tage 在传感器的允许范围内。 这可能会改变影响结果的风扇速度或加热器温度。
- 精心设计进气口、出气口和流经传感器的气流,构建一个不受天气和野生动物影响的外壳。 一把粘在栏杆上的雨伞用于保护打开的、裸露的电子设备,以便在周末为本文收集数据。
相关项目:
- Costas Vav:便携式空气质量传感器
- Pimoroni:带有 Enviro+ 和 Luftdaten 的室外空气质量监测站
- Instructables:使用 Pimoroni Enviro+ FeatherWing 和 Adafruit Feather NRF52840 Express – the
- Enviro+ FeatherWing 包括一个用于 PMS5003 的连接器。 SPS30 可以与 i2c 引脚一起使用,并且有足够的引脚也可以使用 B5W LD0101。
- nRF52840 不支持 Wi-Fi,因此不能单独使用它通过 Internet 发布数据。
- Adafruit Learn:空气质量传感器 3D 打印外壳。 – 使用带有基于 ESP4 的 Airlift FeatherWing 和 PMS32 的 Adafruit Feather M5003。
- Adafruit Learn:物联网快速入门——带 WiFi 的 Raspberry Pi Pico RP2040——使用基于 ESP32 的 Adafruit AirLift 分线板。
- GitHub: CytronTechnologies/MAKER-PI-PICO Example Code/CircuitPython/IoT – 前ampAdafruit IO、Blynk 和 Thinkspeak 的文件代码。
- Cytron:使用手机进行空气监测——使用基于 ESP8266 的 Arduino 扩展板从
- Honeywell HPM32322550 颗粒物传感器到 Blynk,无需(智能)手机。
中间传感器,更昂贵但具有更好的检测更大颗粒尺寸的能力:
- 皮埃拉系统 IPS-7100
- Alphasense OPC-N3 和 OPC-R2
进一步阅读:
- 传感器
- 芬兰气象研究所:光学低成本颗粒物传感器的粒度选择性实验室评估(2020 年 XNUMX 月)
- Gough Lui: 回复view, 拆解:Plantower PMS5003 激光微粒监测传感器包括与 Sensirion SPS30 的比较。
- Karl Koerner:如何打开和清洁 PMS 5003 空气传感器
- Met One Instruments, Inc.,BAM-1020 EPA TSA 培训视频 (YouTube) – 展示了里面的内容及其工作原理。
- CITRIS 研究交流:Sean Wihera(Clarity Movement)演讲 (YouTube) – 演讲包括有关使用 Sensirion SPS30 的 Node-S 传感器的详细信息。
- 涉及空气质量的立法和组织
- 2010 年空气质量标准条例(英国)
- 世界卫生组织 (WHO) 空气污染指南
- 英国肺脏基金会 – 空气质量(PM2.5 和 NO2)
- 研究
- 伦敦帝国理工学院:室内-室外空气污染连续体 (YouTube)
- 2019 年伦敦小学生使用背包收集空气质量数据:
- 戴森:跟踪学校运行中的污染。 呼吸伦敦 (YouTube)
- 伦敦国王学院:环境研究小组:The Breathe London 可穿戴设备研究
- Atmosphere Journal:住宅炉灶造成的室内空气污染:检查实际使用过程中颗粒物涌入房屋的情况
- 新闻和博客
- 经济学人:午夜的天空——波兰的煤红色家庭供暖造成大面积污染(2021 年 XNUMX 月)
- 美国国家公共广播电台:躲在室内可能无法保护您免受野火的危害?
- 路透社:派对结束:排灯节让德里在危险的不健康空气中喘息
- Pimoroni 博客:一年中污染最严重的夜晚(英国)
- 清晰运动:野火烟雾、公共卫生和环境正义:更好
- Decision Making with Air Monitoring (YouTube) – 介绍和讨论美国西部的空气质量,尤其是 2020 年左右的野火烟雾。
- 卫报:脏空气影响97%的英国家庭,数据显示
- 颗粒物监测和数据仓库
- 荷兰 Rijksinstituut voor Volksgezondheid en Milieu(国家公共卫生与环境研究所):Vuurwerkexperiment(烟花实验)2018-2019
- 谷歌:逐条街道:我们如何绘制欧洲空气质量图——街道 view 汽车收集颗粒物和污染物气体数据。伦敦空气质量网
- Breathe London – 一个为伦敦空气质量网络提供补充的网络,“为任何人提供一个价格低廉、易于安装和维护的空气质量传感器”,目前使用的是 Clarity Movement Node-S。
- 美国驻北京大使馆颗粒物监测(推特)
- 世界空气质量指数——使用地图从许多不同来源收集数据 views 和历史数据。
- Sensor.Community(以前称为 Luftdaten)——“通过社区驱动的开放环境数据让世界变得更美好”。
- 软件库
- 颗粒物传感器库中的软件错误 – adafruit_pm25 至少存在一个问题,该问题描述需要围绕串行 (UART) 的 read() 进行异常处理。
- 课程
- HarvardX:颗粒物空气污染 (YouTube) – 来自 EdX 短期课程的五分钟视频:环境约束下的能源
安全关键检测和警报最好留给信誉良好的供应商的商用设备。
https://www.youtube.com/watch?v=A5R8osNXGyo
使用 Maker Pi Pico 和 ESP-01S 将颗粒物传感器数据发布到 Adafruit IO:
文件/资源
![]() |
instructables ESP-01S 发布颗粒物传感器 [pdf] 用户指南 ESP-01S发布颗粒物传感器,ESP-01S发布颗粒物传感器,颗粒物传感器,物质传感器 |