淘宝购买的 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——> 设备地址
