淘宝某款三合一光照温湿度传感器 实现RS485串口通信
一、说明书关于通信协议的介绍
二、案例讲解
写个上位机来实现数据收发过程,界面设计如下
1、温湿度检测
我们在问询帧里发送010300000002,返回01030401BE011C9BB2返回的数据解释:01:设备地址03:modbus_RTU通讯协议里是读取寄存器的意思 04:返回的四个字节数,湿度2byte+温度2byte01BE:0x01BE=446(十进制)->44.6%RH(湿度)011C:284(十进制)->28.4C(温度)9BB2:CRC 校检码
2、光照检测
说明书说是读取0006的地址数据其实是错误的,他上面都介绍了光照地址是0004,我们现在发送问询帧数据定义如下010300040001,返回应答帧010302001238490012:0x0012=18(照度),单位lux我把传感器放到桌子下,所以照度比较低。
3、光照温湿度检测
我发送问询帧数据为010300000006,返回01030C01C1011B00F1BB001000898601C1:湿度,011B:温度0000:CO2(没有,所以显示为0)F1BB:寄存器地址0x0003未定义,所以数据错乱0010:光照0000:PM2.5(没有,所以显示为0)8986:CRC校检