一、概述
空感传感器是一个包括温度、湿度、PM2.5、C02、VOC等多种空气传感器组成的集成设备。空感传感器的通信协议采用标准MODBUS-RTU协议,本协议规定了网关与空感传感器之间在应用层的通信协议。 二、物理接口
标准异步串行RS485通讯口。 数据传输缺省速率为:9600bps。 数据传输格式:N,8,1。
说明:网关读写空感传感器的时间间隔不小于500ms,推荐值1s。 三、MODBUS RTU通信协议详述 3.1 命令报文格式 (1)主机发送命令
数据起始地址 功能码 地址高位 地址低位 数高位 数低位 1字节 1字节 1字节 1字节 1字节 1字节 位校验 2字节 数据起始数据个数据个CRC16 (2)空感传感器返回信息
CRC16 地址 功能码 字节长度 数据1输入 数据2输入 … 位校验 1字节 1字节 说明:
1字节 2字节 2字节 2字节 每一个数据用两个字节整数表示,高位在前,低位在后。CRC16 位校验,低位在前,高位在后。 3.2 空感传感器报文信息 (1)04H功能码:空感传感器 功能代码 数据起始地址 0000H 0001H 0002H 0003H 0004H 0005H 0006H 04H 0007H 0008H 0009H 000AH 000BH 000CH 000DH 1 1 1 1 1 1 1 待定 待定 待定 待定 待定 待定 待定 数据个数 1 1 1 1 1 1 1 内容说明 温度值 湿度值 PM2.5值 CO2值 VOC值 待定 待定 000EH 说明:
1 待定 每一个数据用两个字节整数表示,高位在前,低位在后。
带符号整数范围-32768~32767,上传数据需除以十,负数用补码表示。 如温度上传16进制0xFF9C,高位为1,表示负数,表示-10.0℃。 如温度上传16进制0x00FA,对应十进制250,表示25.0℃。 如湿度上传16进制0x0258,对应十进制600,表示60.0%。 四.调试案例
4.1 空感传感器的地址为1,读所有数据为: 4.1.1 下发命令:
01 04 0000 0005 71CB (读从数据起始地址为0000H开始的5个模拟量)
空感传感器器返回命令如下:
01 04 04,温度H,温度L,湿度H,湿度L,PM2.5H,PM2.5L,CO2H,CO2L,VOCH,VOCL,CRCL,CRCH。 4.1.2 只读温度数据时:
上位机发送: 01 04 0000 0001 600A(读从数据起始地址为0000H开始的1个模拟量)
下位机返回: 01 04 02,温度H,温度L,CRCL,CRCH。 4.1.3 只读湿度数据时:
上位机发送: 01 04 0001 0001 31CA(读从数据起始地址为0001H开始的1个模拟量)
下位机返回: 01 04 02,湿度H,湿度L,CRCL,CRCH。
4.2 地址为2时:
上位机发送: 02 04 0000 0002 71F8(读从数据起始地址为0000H开始的2个模拟量)
下位机返回: 02 04 04,温度H,温度L,湿度H,湿度L,CRCL,CRCH。
因篇幅问题不能全部显示,请点此查看更多更全内容