PMS7003颗粒度传感器数据采集
PMS7003采集
整体介绍
树莓派+PMS7003+1.44寸TFT屏幕
20秒采集一次数据
60秒钟上传一次心跳
语言:python
接口:webapi post
PMS7003传感器介绍
Dust Sensor - PMS 5003/6003/7003: 数据链接.
PMS 7003: github链接.
数据位介绍
以下是PMS7003的数据位。



采集方法
由于PMS7003的传输过来数据需要先转换成16进制 才能被程序计算,所以前置步骤,需要进行转换。
# 字符转换16 进制
def hexShowNew(argv):
try:
result = ''
hLen = len(argv)
for i in range(hLen):
hvol = argv[i]
hhex = '%02x' % hvol
result += hhex + ' '
# print(result)
return result
except:
pass
同时数据传输过来的话可能异常数据,所以一定要计算校验位。
一共32个数据,前30个数据想加的值,是否等于后2个数据的值。
我这边图方便,全部转换成10进制数据来计算。
for index in range(0,29) :
checksum += int(strarr[index],16)
其中这些数据是我们要的:
pm1point0 = strarr[4] + strarr[5]#pm1.0
pm2point5 = strarr[6] + strarr[7]#pm2.5
pm10 = strarr[8] + strarr[9]#pm10
pm1point0air = strarr[10] + strarr[11]#pm1.0
pm2point5air = strarr[12] + strarr[13]#pm2.5
pm10air = strarr[14] + strarr[15]#pm10
um0point3 = strarr[16] + strarr[17]#0.3um颗粒
um0point5 = strarr[18] + strarr[19]#0.5um颗粒
um1point0 = strarr[20] + strarr[21#1.0um颗粒
um2point5 = strarr[22] + strarr[23]#2.5um颗粒
um5point0 = st

本文详细介绍使用树莓派与PMS7003传感器进行空气质量监测的数据采集过程,包括数据位解析、十六进制转换、校验位计算及Python编程实现。
最低0.47元/天 解锁文章
1599

被折叠的 条评论
为什么被折叠?



