基于 Arduino 与物联网的高级室内空气质量监测系统
组件与供应
![]() |
Arduino Yun Shield | × | 1 |
![]() |
Arduino Leonardo | × | 1 |
![]() |
Arduino Yun | × | 1 |
![]() |
Arduino MKR GSM 1400 | × | 1 |
![]() |
Arduino MKR WAN 1300 | × | 1 |
![]() |
Seeed Grove - 气体传感器 (MQ2) | × | 1 |
![]() |
Seeed Grove - 空气质量传感器 v1.3 | × | 1 |
![]() |
Android 设备 | × | 1 |
应用与在线服务
![]() |
Thinger.io 平台 |
关于项目
引言
美国环保署(EPA)及其科学顾问委员会始终将室内空气污染列为前五大环境公共健康风险之一。人平均 90% 的时间在室内,因此劣质的室内空气质量(IAQ)对公共健康构成重大威胁。空气质量差可能导致短期健康问题如疲劳、恶心,以及慢性呼吸道疾病、心脏病和肺癌。据估计,美国每年因病态建筑综合征(指与劣质室内空气质量及在建筑物内停留时间有关的急性健康和不适影响)造成的成本和生产力损失达 100 亿至 200 亿美元。
本项目展示一个室内空气质量监测系统。系统联网,任何人可远程随时查看空气质量指数。


系统可能的应用领域
- 家庭和办公室
- 工业场所
- 消防员远程感知
- 科研与农业
- 医院和诊所
- ICU 病房
所需物料
- 多种物联网开发板:WiFi 型(MKR1000、Yún Rev2)、GSM/窄带型(MKR FOX 1200、MKR WAN 1300、MKR GSM 1400)。原型用 Arduino Leonardo + Yun Shield
- 气体传感器(MQ-2、MQ-3、MQ-7)
- 空气质量传感器(MQ-135)
- Android 设备
- 移动应用开发平台
- 物联网云平台
- 杜邦线
- 编程技能
- Arduino IDE / Arduino Web IDE
- 太阳能板(绿色电源)
电路图

空气质量传感器 VCC → Arduino 5V
空气质量传感器 GND → Arduino GND
空气质量传感器 SIG → Arduino A3
MQ-2 气体传感器 VCC → Arduino 5V
MQ-2 气体传感器 GND → Arduino GND
MQ-2 气体传感器 SIG → Arduino A2
MQ-3 气体传感器 VCC → Arduino 5V
MQ-3 气体传感器 GND → Arduino GND
MQ-3 气体传感器 SIG → Arduino A1
上传固件
下载固件(源码)并上传到 Arduino 开发板。上传前确保已包含所有库。请参考教程将 Arduino Yun 连接互联网。
Git 仓库
https://github.com/Mohammadsalahuddin/indoor_air_quality_monitoring.git
云连接
请参阅 thinger.io 文档中的云连接部分:https://docs.thinger.io/arduino
注意事项
(原文标记为 ***Attention***,此处保留提醒)
演示

未来计划
- 增加车载指示器显示空气质量指数
- 检测到严重污染时蜂鸣器报警
- 危险情况下推送通知给用户
参考资料
- 美国环保署 (USEPA)。学校室内空气质量工具沟通指南。https://www.epa.gov
- H.S. Brightman 和 N. Moss。病态建筑综合征研究及规范比较值汇编。《室内空气质量手册》。编辑:J.D. Spengler 等。纽约:McGraw-Hill,2001。
- J.-J. Kim 等。传感器网络无线监测室内空气质量。《室内与建筑环境》,19:1:145-150,2010。
- thinger.io
- Arduino Yun
- Arduino.cc
- Grove 空气质量传感器
- Grove 气体传感器
代码
- Arduino 源码
Arduino 源码 Arduino
Arduino Yun 源码
// 空气质量监测
#include <YunClient.h>
#include <ThingerYun.h> // Thinger.io 云
#define USERNAME "YOUR_USER_NAME"
#define DEVICE_ID "YOUR_DEVICE_ID"
#define DEVICE_CREDENTIAL "YOUR_CREDENTIAL"
ThingerYun thing(USERNAME, DEVICE_ID, DEVICE_CREDENTIAL);
void setup() {
pinMode(A0, INPUT);
pinMode(A1, INPUT);
pinMode(A2, INPUT);
pinMode(A3, INPUT);
// 初始化 Bridge
Bridge.begin();
// 资源输出示例(读取传感器值、变量等)
thing["LPG"] >> outputValue(analogRead(A0));
thing["CO2"] >> outputValue(analogRead(A1));
thing["CO"] >> outputValue(analogRead(A2));
thing["AIRQ"] >> outputValue(analogRead(A3));
// 详情见 https://docs.thinger.io/arduino/
}
void loop() {
thing.handle();
}
自定义部件与外壳
项目 Git 仓库
包含 APK、源码等。https://github.com/Mohammadsalahuddin/indoor_air_quality_monitoring.git
原理图
电路图
制造工艺







