为 Windows 10 UWP 设计 PM2.5 与 PM10 空气质量检测应用
组件与物料
| SDS011 PM2.5 & PM10 传感器 | ×1 |
| HC-06 蓝牙模块 | ×1 |
| 迷你面包板 | ×1 |
| Lumia 1520 或其他兼容 Windows 10 Mobile 的设备 | ×1 |
| ORICO 蓝牙模块 (BTA-403) | ×1 |
| Arduino UNO | ×1 |
| Raspberry Pi 2 Model B | ×1 |
应用与在线服务
- Microsoft Windows 10 IoT Core
项目简介
空气污染是全球各国面临的严峻挑战。PM2.5 和 PM10 是威胁人类健康的主要污染物。本项目为 Windows 10 通用平台(包括 PC、移动端及 IoT Core)设计了一款 PM2.5 与 PM10 检测器。应用基于 UWP 模板构建:首先利用 SDS011 传感器搭配 HC-06 蓝牙模块采集实时数据并无线传输;其次由 Windows 10 设备通过蓝牙接收数据并在屏幕上呈现。
前置准备
本项目采用 SDS011 作为 PM2.5 与 PM10 传感器,基于激光散射原理,可测量 0.3~10 微米悬浮颗粒物浓度,数据稳定可靠。蓝牙通信由 HC-06 实现,该模块价格低廉、体积小巧。若使用 Surface Pro 或 Lumia 1520 等自带蓝牙的 Windows 10 设备,无需额外蓝牙模块;若使用 Raspberry Pi 或 MBM 等 Windows 10 IoT 设备,则需外接蓝牙适配器。环境搭建可参考 MVP David Jones 的《Generic Serial Bluetooth with Win 10 IoT-Core RPI2》。
注:若未预装 Windows 10 与 Visual Studio 2015,准备工作约需 2-3 小时,但大部分时间为无人值守安装。
所需物料清单
- SDS011 PM2.5 & PM10 传感器
- HC-06 蓝牙模块
- 公对公与公对母跳线
- 迷你面包板
- Lumia 1520 或其他兼容 Windows 10 Mobile 设备
- ORICO 蓝牙模块 (BTA-403)
- Arduino Uno R3
- Raspberry Pi 2
项目步骤
步骤 1:将 HC-06 模块与 SDS011 传感器连接
耗时:5 分钟
物料:5V 电源、HC-06、SDS011、跳线、迷你面包板
工具:无
SDS011 原始输出为 TTL-USB,不适合无线连接。我们使用 HC-06 作为蓝牙传输模块,成本远低于 SparkFun 的 BlueSMiRF Silver。系统采用 5V 直流供电。
首先将蓝牙模块插入面包板以便接线。从 Arduino 的 5V 电源轨引一根跳线至模块 VCC 引脚(也可使用其他 5V 电源),再从模块 GND 引脚接至 Arduino 任意 GND 引脚。为建立串口通信,将模块 TX 引脚连接至 SDS011 的 RX,模块 RX 引脚连接至 SDS011 的 TX。

步骤 2:将蓝牙模块与 Windows 10 设备配对
耗时:5 分钟
物料:蓝牙模块、Windows 10 设备、ORICO 蓝牙模块(可选)
工具:无
HC-06 运行 SPP(串口配置文件)协议,任何支持 SPP 的设备均可连接。在 Windows 10 上表现为虚拟 COM 口。配对前确保模块已上电:红色 LED 闪烁表示“可配对”,常亮表示“已配对”。
Windows 10 PC:进入“设置 → 设备 → 蓝牙”,开启蓝牙,点击“HC-06”进行配对,默认配对码为 1234,默认波特率 9600。

Windows 10 Mobile:同样进入“设置 → 设备 → 蓝牙”,操作步骤相同。

Windows 10 IoT Core(以 Raspberry Pi 2 为例):流程差异较大。Pi 2 无板载蓝牙,需外接 USB 蓝牙适配器(建议从硬件兼容性列表中选择验证过的型号),本项目使用 ORICO BTA-403。Dragon Board 410c 自带蓝牙则无需适配器。
将 ORICO BTA-403 插入 Pi 2 USB 接口,默认应用屏幕会显示检测信息。配对需通过 SSH 连接 IoT Core 设备,使用命令行工具配置,参考“Pairing a BLE Device and GATT Attribute Table Dump Tool”页面中“Pairing the Sensortag”部分的 Step 1–6。主菜单需选择 BR 模式,默认配对码 1234。


步骤 3:下载并部署代码
耗时:10 分钟
物料/工具:无
- 接通 5V 直流电源,使 PM2.5/PM10 检测器与 HC-06 启动工作,每秒输出一次数据。
- 从 GitHub 下载
GenericBluetoothSerialUWApp项目。使用 Visual Studio 2015 Update 1 打开该方案。该应用基于 MVP David Jones 的《Generic Serial Bluetooth with Win 10 IoT-Core RPI2》开发。- PC 端运行:选择 x86 或 x64,本地调试。
- Mobile 端运行:选择 ARM,设备调试。
- IoT 设备(如 Pi 2):配置“远程调试”指向目标设备。
- HC-06 与 Windows 10 设备配对成功后,按 F5 启动 UWP 应用。双击列表中的“HC-06”图标,顶部将显示其 ID 与名称。HC-06 上的 LED 由闪烁转为常亮,表示通信通道已建立,“Start Recv”按钮随之启用。点击“Start Recv”开始接收数据,随后“Stop Recv”与“Start Process”按钮启用。点击“Start Process”运行数据处理算法。

此时 PM2.5 与 PM10 的数值将实时显示在对应的 TextBlocks 中。
代码
PM25Detector
Windows 10 UWP 应用:https://github.com/shijiong/PM25Detector
原理图

文件中 Sparkfun ZigBee 模块代表 PM2.5 传感器 SDS011,使用引脚为 5V、GND、Tx、Rx。
PM25Detector.fzz
制造工艺
- 可制造性设计 (DFM) 实战指南:工程师与设计师的必修课
- 基于Arduino、Windows IoT与Azure云的高级跌倒检测系统
- 低成本 Arduino 闪电探测器制作指南
- 通过 ESP8266 WiFi 模块和 Blynk App 无缝控制 Arduino Uno
- HC-05 蓝牙模块 Arduino 控制:手机与电脑双端通信教程
- 面向制造设计(DFM)在硬件成功中的关键作用
- 面向增材制造优化夹具工装设计:实战指南
- RF 与微波 PCB 设计核心原则:高频可靠性的基石
- 高压 PCB 设计:材料、安全与最佳实践
- 蓝牙 5.1 SoC:面向 IoT 设备的超紧凑、低成本解决方案
- 在 Windows 上安装 Visual Studio 2019 Community 版进行 C# 开发
- Windows/macOS/Linux 安装 GCC 编译器全平台图文教程