在日常工作中,我们经常会对接一些奇奇怪怪的小设备,他们既没采用大型设备厂家的通讯协议,也没有通用的统计数值的方法。这时候就得需要用到我们的自定义逻辑代码去实现这些设备数据的采集以及数值转换,今天我们将通过济南顾问通讯技术有限公司生产的pm2.5/pm10激光传感器(USB版本)讲解自定义逻辑代码实现数据采集
一、产品
今天需要用到的产品有:
a. 海创Box智能采集网关
b. pm2.5/pm10激光传感器(USB版本)
如上图所示将pm2.5/pm10激光传感器(USB版本)的USB插口连接到海创Box智能采集网关的USB口上
二、通讯协议
通过厂家给的说明书里的通讯协议我们可得知设备默认参数
• 串口通讯协议:9600 8N1(速率 9600, 数据位 8,校验位无,停止位 1)
• 串口自动上报通讯周期:1+0.5 秒
• 数据帧(10 字节):报文头+指令号+数据(6 字节)+校验和+报文尾
示例报文为
AA C0 71 01 CA 01 B9 93 89 AB
具体含义:
• AA----报文头
• C0----指令号,客户开发产品时,看到接收到有 CO,即表示是由 PM2.5 传感器输出的信号
• 71----PM2.5 低字节
• 01----PM2.5 高字节
• CA----PM10 低字
• 01----PM10 高字节
• B9----传感器的 ID
• 93----传感器的 ID
• 89----校验和,即 71+01+CA+01+B9+93=289 即 0x0289 ,这里我们舍弃了高字节 02,只保留了低字节89
• AB----报文尾
因为输出的是,16 进制数据,请转换成 10 进制数进行计算。
PM2.5 值的计算:71 01
• 低字节 71: 716+1=113
• 高字节 01: 016+1=1 ((PM2.5 高字节256) + PM2.5 低字节)/10 (1256+113)/10=36.9ug/m3
PM10 值的计算:CA 01
• 低字节 CA: C16+A=202
• 高字节 01: 016+1=1 ((PM10 高字节256) + PM10 低字节)/10 (1256+202)/10=45.8ug/m3
校验和:
• 89 71+01+CA+01+B9+93=289,舍弃高字节 02,留低字节 89。
三、节点流
在桌面打开海创Box智能采集网关可视化开发平台进入可视化编辑器。本次教程需要用到如下节