在开始之前,首先需要搞明白以下几个概念,RS485, Modbus协议和DTU。
RS485,基础概念自行度娘,这里如果简单理解的话就是一种串行通信标准。非硬件工程师其实记住RS485有4条线,A,B,VIM和GND。 可简单理解为A,B作为数据传输,VIM和GND作为电源的正负。在设备接入上一般是A口对A口, B口对B口。
Modbus协议, 一种通信协议,而且是现在很多工业的电气设备上都会用到的。稍后我们会在例子中讲到。
DTU, 数据传输单元,通过DTU,可以将RS485设备的数据传输到MQTT或者其他地方。
简单理解上面的概念后,我们开始进行数据的接入。
1. 首先进行硬件之间的对接,将RS485的A口接入DTU的A口, B口接入B口。在这里要值得注意得是,因为RS485设备是属于被动设备,需要由上位机发起询问后才会返回传感器上的数据。具体的数据格式需要根据自己手上的设备来确定。
以老司机手里的这款温湿度传感器为例,在产品说明书的章节里面,描述了这款传感器的问询参数:
地址码 | 功能码 | 起始地址 | 数据长度 | 校验码低位 | 校验码高位 |
0x01 | 0x03 | 0x00,0x00 | 0x00,0x02 | 0xC4 | 0x0B |
这说明了,如果我们需要让传感器返回传感器的数据,我们需要对传感器下发如下的命令&#