淘宝购买的 GP2Y1010AU0FCO1
模块,通过标定可以检测PM2.5,该模块提供了串口读取方式,操作十分简单。
工作状态查询
发送 05FEF603
确认工作状态
返回 06FEF103
处于开机状态
返回 06FEF003
处于关机状态
灰尘浓度查询
发送 05FEF503
返回 06ABCD03
浓度为 0XABCD
微克/立方米
串口助手调试
使用 xgcom
发送命令调试 GP2Y1010AU0FCO1
模块。
安装依赖库:
1 | sudo apt-get install automake |
获取 xgcom
源码:
1 | git clone https://github.com/helight/xgcom.git |
编译并运行 xgcom
:
1 | ./autogen.sh |
配置 xgcom
的参数如下:
串口描述
波特率
使用 xgcom
发送工作状态查询命令时无内容返回,但是发送 灰尘浓度查询命令
成功返回内容如下:
串口描述
波特率
既然能正常查到灰尘浓度就可以进行下一步工作, 工作状态查询命令
无返回的问题等到有空再做研究。
编码
使用 pyserial
库操作树莓派串口并获取 GP2Y1010AU0FCO1
模块的数据,实现代码如下:
1 | class serialOP(object): |
将数据保存至 yeelink
:
1 | ... |
总结
最近都是雨天,测试环境为室内,从 yeelink
显示的数据来看,室内的PM2.5在 7~21
之间。 GP2Y1010AU0FCO1
模块标定后存在 15%
的误差,因此有效范围应该是 5.95~24.15
,目前室内PM2.5标准为不超过 35
。
yeelink——> 设备地址