在室内空气质量监测项目里,有一个被反复验证、但又很难被直观感受到的结论:厨房燃气灶在烹饪时产生的空气污染,可能比你想象的严重得多。2025 年前后,关于“从燃气灶切换到电炉/电磁炉能显著降低室内空气污染”的讨论热度明显上升,不少实测研究用真实数据说明,电炉并不只是“更安全”“更干净”的加热工具,它还能从源头上减少氮氧化物、一氧化碳和细颗粒物的释放。
这篇文章不打算只停留在概念科普层面,而是从环境监测与物联网开发的角度,整理一套完整、可复现的厨房空气污染对比方案。我们会选好传感器,用 ESP32 采集 PM2.5 等关键指标,再通过 Python 绘制燃气灶与电炉两种烹饪场景的对比曲线,把“切换电炉能否显著降低污染”这个问题,变成你手里的一张数据图表。
无论你是智能家居开发者、物联网学习者,还是正在纠结厨房改造方案,这篇文章都能给你一个把结论落地的动手路径。
1. 为什么关注厨房室内空气污染
1.1 室内空气污染不只是“雾霾”和“甲醛”
很多人在装修或购买空气净化设备时,最关心的是 PM2.5、甲醛、TVOC 这几类指标。甲醛主要来自板材和胶黏剂,PM2.5 会被联想到室外雾霾,室内 TVOC 则往往和涂料、清洁剂相关。但厨房里还有一个很容易被忽略的污染源,就是燃气灶本身的燃烧过程。
燃气灶在燃烧天然气或液化石油气时,并不是所有人想象中的“完全燃烧”。燃烧温度、氧气供应、锅具位置、火苗大小都会影响燃烧效率。高温下,空气中的氮气和氧气会反应生成氮氧化物,比如一氧化氮和二氧化氮;燃烧不充分时,还会产生一氧化碳,同时伴随超细颗粒物的生成。这些物质都直接进入厨房空气,再扩散到整个居住空间。
换句话说,即使你在客厅开着空气净化器,只要厨房燃气灶在工作,污染物仍然可能通过空气流动进入客厅。这也解释了为什么一些家庭明明没有装修污染,但室内 NO2 浓度却会在某个时段异常升高。
1.2 燃气灶是容易被忽略的室内污染源
根据很多公开研究报道,在通风条件一般的厨房里,使用燃气灶烹饪 20 到 30 分钟,厨房内的 NO2 浓度可能明显上升,峰值甚至超过室外空气质量标准中对应的健康参考值。PM2.5 同样会升高,因为油烟颗粒和燃烧产物会同时存在。
这里需要把两类颗粒物区分开:
- 燃烧产生的颗粒物:来自燃气不完全燃烧,主要成分为碳颗粒和金属颗粒,粒径较小。
- 烹饪油烟颗粒物:来自油脂和食材在高温下的挥发与裂解,粒径分布更宽,可以通过抽油烟机部分排出。
抽油烟机可以显著降低油烟颗粒,但无法完全消除燃气燃烧产生的气态污染物。如果抽油烟机的排风量不足,或者厨房窗户紧闭,污染物就会在室内积累。对于经常做饭的家庭来说,这种影响是持续、反复的,每天一两个小时,长年累月下来不能忽视。
1.3 电炉/电磁炉切换为什么成为研究热点
电炉和电磁炉的工作方式完全不同。传统电炉通过电阻丝发热,电磁炉通过电磁感应让锅具自身发热,但都没有明火燃烧过程。这意味着,电炉在加热时不会产生氮氧化物、一氧化碳等燃烧副产物。
电炉烹饪期间产生的颗粒物,主要来自食材和油脂本身,而不是燃料燃烧。因此从源头上看,电炉确实可以规避一类额外的空气污染。2025 年前后的多项实测研究也正是围绕这一点展开:在控制菜品种类、锅具、通风条件一致的情况下,对比燃气灶和电炉烹饪期间的空气质量数据,结论普遍指向电炉能显著降低部分污染物浓度。
当然,电炉也并非完全没有缺点,比如加热方式对锅具要求更高、加热速度可能更慢、热惯性不同。但从空气质量的维度看,它确实是一个值得认真考虑的替代方案。
2. 2025 年研究结论:从燃气灶到电炉
2.1 研究关注的核心污染物
在燃气灶与电炉的对比研究中,最受关注的几个指标是:
- PM2.5:细颗粒物,能进入肺泡,是衡量空气污染最常用的指标之一。
- NO2:氮氧化物中的代表物质,燃气高温燃烧时最容易产生,长期暴露对呼吸系统有影响。
- CO:一氧化碳,来自不完全燃烧,浓度过高时会让人头晕、乏力。
- 超细颗粒物:粒径在 100 纳米以下,数量浓度高,对健康的潜在影响近年来越来越被重视。
这些污染物中,PM2.5 最容易用低成本传感器测量,NO2 则需要更专业的电化学传感器,CO 和超细颗粒物也有对应设备,但成本差异很大。对于绝大多数个人开发者来说,先从 PM2.5 和 VOC 入手,是最现实、最容易上手的路径。
2.2 减污效果的常见量级
“显著降低”到底意味着多少?不同研究的数值并不完全一致,因为厨房面积、燃气种类、锅具、菜品、通风方式都会影响结果。但大致规律可以归纳为:
- 燃气灶烹饪时,PM2.5 浓度会随着煎、炒、炸等操作快速上升,峰值往往达到背景浓度的数倍甚至更高。
- 电炉烹饪时,由于没有燃烧产物,PM2.5 上升幅度通常更小,峰值和平均值都更低。
- 在燃气灶场景中,即使开着抽油烟机,燃烧产生的气态污染物仍然可能残留;电炉场景中此类问题基本消失。
这里要提醒一下:电炉也不能完全保证 PM2.5 不升高,因为食材加热依然会产生油烟。如果你用电磁炉大火爆炒,照样会有油烟,所以不能把“切换到电炉”等同于“厨房零污染”。
2.3 影响减污效果的现实因素
即使电炉在原理上可以减少燃烧污染,实际效果仍然受很多因素影响:
- 通风条件:窗户开度越大,室内外空气交换越强,污染物浓度下降越快。
- 抽油烟机性能:抽油烟机的风量、风压、是否及时开启,直接影响颗粒物和气味。
- 烹饪方式:煎炸炒产生的油烟远大于煮、蒸、炖。
- 锅具材质:锅具的导热性和加热均匀度会影响油温控制,油温过高时油烟更明显。
- 传感器布点:传感器距离炉灶越近,读数波动越大;距离越远,越能反映整个厨房的平均状态。
因此,如果你要做一场测量对比,不能只记录一两天数据就下结论。你需要把变量控制住,用同一套设备、同一位置、相近的菜品和时间,才能得到相对可信的结论。
3. 可复现的监测方案:整体架构
3.1 方案目标和测量指标
本文的实战目标不是写一篇论文,而是搭建一套能长期运行的厨房空气质量监测系统。核心目标有两个:
- 记录燃气灶和电炉两种场景下的 PM2.5 变化曲线。
- 通过数据对比,确认切换电炉后 PM2.5 等指标是否明显下降。
为了降低硬件门槛,我们优先选择 PM2.5 作为主测量指标,因为:
- PM2.5 传感器成本相对低,技术成熟。
- PM2.5 是燃气燃烧和烹饪油烟都会产生的指标,对比价值高。
- 传感器的数据接口和代码资源丰富,适合二次开发。
如果你手头有 VOC 传感器,也可以同时采集 VOC 指数,作为气态污染物的参考。NO2 因为传感器成本较高,本文不展开,但会在选型表格里标注可选方案。
3.2 硬件选型
常见的室内空气质量传感器如下:
| 传感器 | 测量对象 | 接口 | 典型用途 | 参考成本 |
|---|---|---|---|---|
| Sensirion SPS30 | PM1.0/PM2.5/PM4.2/PM10 | I2C/UART | 颗粒物监测,精度较高 | 中 |
| Sensirion SGP40 | VOC Index | I2C | 异味、挥发性有机物趋势 | 低 |
| SenseAir S8 | CO2 | UART/I2C | 通风质量与人群密度 | 中 |
| Sensirion SCD40 | CO2 + 温湿度 | I2C | 室内空气质量综合监测 | 中 |
| Alphasense NO2-B43F | NO2 | 模拟量 | 氮氧化物测量 | 高 |
| Figaro TGS 系列 | CO/NO2/VOC | 模拟量 | 气体定性参考 | 低 |
考虑到性价比和代码可复现性,本文以 SPS30 为核心传感器,以 ESP32 为主控。SPS30 能直接输出 PM2.5、PM10 等质量浓度,精度在同级别传感器中表现较稳,很适合做室内空气监测。
3.3 系统连接与布点
硬件连接非常简单:
- ESP32 的 SDA 接 SPS30 的 SDA。
- ESP32 的 SCL 接 SPS30 的 SCL。
- ESP32 的 3.3V 接 SPS30 的 VDD。
- ESP32 的 GND 接 SPS30 的 GND。
传感器布点时,建议放在厨房操作台边缘,距离炉灶 1 到 1.5 米,高度和成年人呼吸区域接近。传感器不要直接对着抽油烟机出风口,也不要放在窗户正下方,否则读数的代表性会变差。
4. 环境准备与开发板配置
4.1 开发环境
本文的软件部分使用 Arduino IDE 或 PlatformIO 均可,核心逻辑完全一致。我以 Arduino IDE 为例,你需要提前安装好:
- ESP32 开发板支持包,在 Arduino IDE 的“开发板管理器”中搜索
esp32安装。 SensirionI2cSps30库,可以在库管理器中搜索安装。Wire库,Arduino 自带,不需要额外安装。
版本需要根据你的实际开发环境调整,本文重点演示配置思路和代码逻辑。
4.2 创建项目结构
为了方便后续维护,建议将项目组织成下面这样:
esp32_air_monitor/ ├── esp32_air_monitor.ino ├── data_analysis/ │ ├── read_serial.py │ └── compare.py └── docs/ └── measurement_notes.md其中.ino文件是 ESP32 端采集程序,data_analysis目录放 Python 数据分析脚本,docs目录用来记录实验笔记。
4.3 安装依赖库
在 Arduino IDE 中点击“项目”→“加载库”→“管理库”,搜索SensirionI2cSps30并安装。这个库是 Sensirion 官方提供,支持 SPS30 通过 I2C 接口读取颗粒物数据。
如果你的开发板不是 ESP32,而是 ESP8266 或 Arduino Uno,代码也能复用,但需要注意引脚定义和电压差异。SPS30 推荐使用 3.3V 供电,Arduino Uno 的 5V 引脚不能直接接 VDD。
5. ESP32 采集代码实现
5.1 初始化 SPS30 颗粒物传感器
下面是一份完整的 ESP32 代码,功能包括:
- 初始化 I2C 和 SPS30。
- 每 5 秒读取一次 PM2.5 和 PM10。
- 通过串口输出 CSV 格式数据,方便后续保存。
代码文件路径:
esp32_air_monitor/esp32_air_monitor.ino#include <Wire.h> #include <SensirionI2cSps30.h> SensirionI2cSps30 sps30; void printErrorMessage(const char* message, int16_t error) { Serial.print(message); Serial.print(" error: 0x"); Serial.println(error, HEX); } void setup() { Serial.begin(115200); while (!Serial) { delay(100); } Wire.begin(); sps30.begin(Wire); uint8_t serialNumber[32]; uint8_t serialNumberSize = 32; int16_t error = sps30.getSerialNumber(serialNumber, serialNumberSize); if (error) { printErrorMessage("getSerialNumber", error); } else { Serial.print("SPS30 serial: "); Serial.println((char*)serialNumber); } error = sps30.startMeasurement(); if (error) { printErrorMessage("startMeasurement", error); } Serial.println("timestamp_ms,pm2p5,pm10"); } void loop() { delay(5000); int16_t error = sps30.readMeasurement(); if (error) { printErrorMessage("readMeasurement", error); return; } unsigned long nowMs = millis(); Serial.print(nowMs); Serial.print(","); Serial.print(sps30.massConcentrationPm2p5, 1); Serial.print(","); Serial.println(sps30.massConcentrationPm10, 1); }这里说明几个关键点:
sps30.begin(Wire)之前,必须先调用Wire.begin(),否则 I2C 总线没有初始化。getSerialNumber用来检查传感器是否正常通信,如果打印错误码,多半是接线问题。startMeasurement在 setup 中调用一次即可,之后反复readMeasurement()读取数据。massConcentrationPm2p5和massConcentrationPm10是传感器输出的质量浓度,单位是微克每立方米。
5.2 定时采集并输出 CSV
上面的代码已经实现了定时输出。你可能会注意到,loop()中的delay(5000)表示每 5 秒读一次。这个采样频率对于烹饪过程对比是足够的,烹饪过程通常持续 10 到 30 分钟,每 5 秒一个点可以画出平滑曲线。
如果你想提高时间精度,可以把millis()改成时间戳。这里为了简化,直接用 ESP32 上电后的毫秒数。只要保证燃气灶和电炉两次实验都从同一台设备、同一个启动时刻开始记录,相对时间就可以对比。
5.3 用串口工具保存数据
把代码上传到 ESP32 后,打开串口监视器,波特率设置为 115200,你会看到数据流。但串口监视器直接复制不方便,更稳妥的方式是用 Python 的 pyserial 脚本来保存数据。
脚本文件路径:
esp32_air_monitor/data_analysis/read_serial.pyimport serial import csv port = "COM3" # Windows 示例;Linux/macOS 通常是 /dev/ttyUSB0 baud = 115200 output_file = "gas_cooking.csv" with serial.Serial(port, baud, timeout=1) as ser: with open(output_file, "w", newline="", encoding="utf-8") as f: writer = csv.writer(f) writer.writerow(["timestamp_ms", "pm2p5", "pm10"]) print("开始记录,按 Ctrl+C 停止") try: while True: line = ser.readline().decode("utf-8", errors="ignore").strip() if line and not line.startswith("SPS30"): parts = line.split(",") if len(parts) == 3: writer.writerow(parts) print(line, flush=True) except KeyboardInterrupt: print("记录结束,数据已保存到", output_file)运行方式:
pip install pyserial python read_serial.py记录燃气灶实验时,文件名改为gas_cooking.csv;记录电炉实验时,把输出文件名改成electric_cooking.csv,不要混用。
6. 实验设计与数据采集流程
6.1 控制变量:保证对比有效
如果想得出“电炉显著降低污染”的结论,实验必须尽量控制变量。建议按下面的条件操作:
- 使用同一个锅具,避免锅具材质和大小影响加热和油烟。
- 烹饪同样的菜品,例如都炒一盘青菜,或者都煎一块鸡胸肉。
- 烹饪时间尽量一致,比如从开火到出锅都控制在 15 分钟。
- 抽油烟机开关状态一致,要么全程开启,要么全程关闭,不要中途切换。
- 传感器位置不变,整个实验过程中不要移动设备。
- 厨房门窗状态保持一致,记录实验当天的天气和室外空气质量作为备注。
这些条件并不复杂,但没有控制变量时,数据很容易被“油烟差异”和“通风差异”干扰,最终得不到明确结论。
6.2 燃气灶场景步骤
- 开启传感器,确认串口输出正常。
- 记录 5 分钟背景数据,此时不点火、不炒菜。
- 启动燃气灶,按平时的习惯完成烹饪。
- 烹饪结束后,继续关闭燃气灶,再记录 5 分钟残留数据。
- 停止记录,保存为
gas_cooking.csv。
背景数据很重要,它可以帮助你判断污染是本底水平还是烹饪造成的。如果背景 PM2.5 本身就很高,比如室外雾霾严重,那么烹饪期间的增量可能被掩盖。
6.3 电炉场景步骤
在燃气灶实验结束之后,建议开窗通风 20 到 30 分钟,让厨房空气质量回到背景水平,再进行电炉实验。
电炉场景的操作步骤和燃气灶完全一致:
- 开启传感器,记录 5 分钟背景数据。
- 启动电炉或电磁炉,完成相同菜品烹饪。
- 烹饪结束后,再记录 5 分钟残留数据。
- 停止记录,保存为
electric_cooking.csv。
需要特别注意的是,两次实验之间如果不充分通风,前一次实验残留的污染物会影响下一次实验的初始条件。
6.4 数据记录时间表
一份清晰的时间表能大幅度减少后期分析时“数据对不上”的问题。建议记录以下内容:
| 字段 | 示例 |
|---|---|
| 实验编号 | 01 |
| 日期 | 2025-05-10 |
| 室内温度/湿度 | 24℃ / 55% |
| 室外空气质量 | 良 |
| 烹饪方式 | 清炒时蔬 |
| 锅具 | 28cm 不锈钢炒锅 |
| 抽油烟机 | 关闭 |
| 窗口状态 | 关闭 |
| 燃气灶/电炉 | 燃气灶 |
| 开始时间 | 12:00 |
| 结束时间 | 12:20 |
| 备注 | 无 |
每次实验都新建一行,最终放在measurement_notes.md里。这样即使隔了一周再分析数据,你仍然能还原实验现场条件。
7. Python 数据对比与分析
7.1 数据预处理
采集完成后,你手头会有两个文件:
gas_cooking.csvelectric_cooking.csv
先用 Pandas 读取数据,并把毫秒时间转换成相对分钟数,方便画图。脚本文件路径:
esp32_air_monitor/data_analysis/compare.pyimport pandas as pd import matplotlib.pyplot as plt gas = pd.read_csv("gas_cooking.csv") electric = pd.read_csv("electric_cooking.csv") gas["minute"] = (gas["timestamp_ms"] - gas["timestamp_ms"].iloc[0]) / 60000 electric["minute"] = (electric["timestamp_ms"] - electric["timestamp_ms"].iloc[0]) / 60000 gas = gas.dropna(subset=["pm2p5"]) electric = electric.dropna(subset=["pm2p5"]) gas["pm2p5"] = pd.to_numeric(gas["pm2p5"], errors="coerce") electric["pm2p5"] = pd.to_numeric(electric["pm2p5"], errors="coerce") gas = gas.dropna(subset=["pm2p5"]) electric = electric.dropna(subset=["pm2p5"])这里使用errors="coerce"是为了防止串口数据中出现异常字符串。如果某一行数据格式不对,Pandas 会把它转为NaN,再通过dropna丢弃。
7.2 绘制对比曲线
接下来用 matplotlib 绘制两条 PM2.5 曲线。
plt.figure(figsize=(10, 5)) plt.plot(gas["minute"], gas["pm2p5"], label="燃气灶", linewidth=1.5) plt.plot(electric["minute"], electric["pm2p5"], label="电炉/电磁炉", linewidth=1.5) plt.xlabel("时间(分钟)") plt.ylabel("PM2.5(μg/m³)") plt.title("燃气灶与电炉烹饪期间厨房 PM2.5 对比") plt.legend() plt.grid(alpha=0.3) plt.tight_layout() plt.savefig("pm25_compare.png", dpi=150) plt.show()如果你发现两条曲线的时间轴长度不一致,不用担心,因为两次实验的总时长可能不同。只需要保证我们都从0分钟开始画即可。
7.3 统计指标与图表解读
曲线图能直观看出变化趋势,但我们还需要计算几个统计指标,把结论量化。
gas_avg = gas["pm2p5"].mean() electric_avg = electric["pm2p5"].mean() gas_peak = gas["pm2p5"].max() electric_peak = electric["pm2p5"].max() print(f"燃气灶平均 PM2.5: {gas_avg:.1f} μg/m³") print(f"电炉平均 PM2.5: {electric_avg:.1f} μg/m³") print(f"平均降幅: {(1 - electric_avg / gas_avg) * 100:.1f}%") print(f"燃气灶峰值 PM2.5: {gas_peak:.1f} μg/m³") print(f"电炉峰值 PM2.5: {electric_peak:.1f} μg/m³") print(f"峰值降幅: {(1 - electric_peak / gas_peak) * 100:.1f}%")需要注意,如果燃气灶实验的背景值本身比电炉实验高,平均值也会受影响。因此在解读时,建议同时看“背景阶段”和“烹饪阶段”两个区间的曲线差异。一个相对可信的做法是:
- 取开始烹饪前 5 分钟为背景段。
- 取烹饪开始后到结束后 5 分钟为污染段。
- 用污染段平均值减去背景段平均值,得到烹饪带来的净增量。
gas_background = gas.loc[gas["minute"] < 5, "pm2p5"].mean() gas_cooking = gas.loc[gas["minute"] >= 5, "pm2p5"].mean() gas_delta = gas_cooking - gas_background electric_background = electric.loc[electric["minute"] < 5, "pm2p5"].mean() electric_cooking = electric.loc[electric["minute"] >= 5, "pm2p5"].mean() electric_delta = electric_cooking - electric_background print(f"燃气灶净增 PM2.5: {gas_delta:.1f} μg/m³") print(f"电炉净增 PM2.5: {electric_delta:.1f} μg/m³")如果燃气灶的净增量明显大于电炉,并且多次重复实验都得到同样趋势,那么“切换到电炉能显著降低烹饪期间的颗粒物污染”这个结论在你的厨房环境里就是成立的。
8. 常见问题与排查思路
8.1 传感器读数异常
| 问题现象 | 常见原因 | 解决思路 |
|---|---|---|
| 串口输出 error 0x01 | I2C 接线错误或电平不匹配 | 检查 SDA/SCL 是否接反,确认 VDD 是否为 3.3V |
| 一直输出 0 | 传感器刚启动,风扇还在初始化 | 等待 10 到 30 秒,观察读数是否恢复 |
| 数值突然跳变 | 传感器进灰或受到蒸汽干扰 | 检查传感器进风口,必要时用气吹清洁 |
| 两次实验初始值差很多 | 实验间没有充分通风 | 增加 20 分钟通风时间,或重新选择实验时间 |
8.2 数据波动过大
厨房环境本身动态变化很快,数据波动大是正常的。如果你发现曲线像“毛刺”一样,可以做一个滑动平均:
gas["pm2p5_smooth"] = gas["pm2p5"].rolling(window=6, min_periods=1).mean() electric["pm2p5_smooth"] = electric["pm2p5"].rolling(window=6, min_periods=1).mean()rolling(window=6)表示每 6 个点求一次平均,由于采样间隔是 5 秒,相当于 30 秒滑动平均。这样画出来的曲线更平稳,也更适合观察整体趋势。
8.3 实验中如何避免误判
- 不要把传感器放在燃气灶正上方,蒸汽和火焰会直接干扰传感器。
- 不要在实验中途开关门窗,否则数据会混入通风因素。
- 不要同时开两台灶具,那会混淆污染来源。
- 如果烹饪过程中油温过高导致大量油烟,记录备注,方便后续筛选数据。
9. 最佳实践与工程建议
9.1 测量与传感器维护建议
SPS30 这类光学颗粒物传感器长期在厨房高油烟环境中使用,镜片和风扇容易积灰。建议每 1 到 2 个月做一次清洁,断电后用软毛刷或气吹清理进风口和出风口。如果传感器长期暴露在高浓度油烟中,数据漂移会越来越明显。
在正式实验前,最好让传感器连续运行 30 分钟以上,让风扇稳定。第一次上电时,传感器内部的自动校准流程需要时间,刚开机前几分钟的数据不建议直接用于结论分析。
9.2 厨房环境改善建议
如果你的测量结果证实燃气灶确实显著提高了厨房 PM2.5,可以从下面几个方面改善:
- 烹饪前就开启抽油烟机,而不是等油烟明显后才开。
- 烹饪结束后继续开抽油烟机 5 到 10 分钟,排走残留污染物。
- 使用带排烟管的外排式抽油烟机,比内循环式效果好。
- 在条件允许时,打开厨房窗户形成对流通风。
- 如果经常爆炒,可以考虑使用电磁炉完成高温快炒环节,燃气灶用于炖煮。
9.3 注意事项与安全边界
燃气灶数据对比实验涉及明火和厨房环境,操作时要注意安全:
- 实验过程中不要离开厨房。
- 传感器和线材要远离灶台火源。
- 如果使用液化气,要确认连接管和阀门无泄漏。
- 不要为了追求高浓度数据而关闭所有通风设备,过度暴露对健康不利。
传感器数据只能反映颗粒物质量浓度,不能替代专业机构的气体检测。你要判断 NO2 和 CO 是否超标,还是需要更专业的设备或第三方检测服务。
10. 总结与下一步方向
通过这篇文章,你可以搭建一套属于自己的厨房空气质量监测系统。从传感器选型、ESP32 代码采集,到 Python 数据可视化,完整的流程已经跑通。最关键的不是代码本身,而是实验设计和数据解读思路:控制变量、记录背景、计算净增量,才能得出可信的结论。
下一步如果你想继续深入,有几种方向可以选:
- 加入 SGP40 或 SCD40 传感器,同时监测 VOC 和 CO2,建立更完整的室内空气指标。
- 把数据上传到 Home Assistant 或物联网平台,实现实时监测和历史曲线。
- 统计一个月内不同烹饪方式的数据,用箱线图分析燃气灶和高频爆炒对空气质量的持续影响。
- 结合继电器控制抽油烟机,当 PM2.5 超过阈值时自动开启排风。
厨房空气质量是一个非常贴近生活的物联网落地场景。希望这份实测方案能帮助你用数据做判断,而不是停留在“听说电炉更干净”的模糊印象里。