资讯详情

汉枫Wi-Fi串口服务器HF2211S应用配置

实现的功能

上电后主动使用该模块mobusRTU该协议通过该模块的串口读取气体探测器的4路传感器数据

上电后连接指定模块WiFi,通过MQTT协议将读取的数据JSON将格式推送到指定服务器。

细分为以下几个小过程:

模块上电后,主动连接到指定的指定WiFi

模块连接到指MQTT服务器

模块通过modbusRTU协议主动读取设备数据

模块主动将读取的数据推送到mqtt服务器

配置环境

PC系统(Windows 10 专业版 21H1)

WIFI AP(使用手机共享2.4G热点)

USB转485通讯模块

配置软件

Advanced_IP_Scanner

IOTServiceSetupX64_3.0.03

modbusPLC Simulator

mosquitto-2.0.11

Advanced_IP_Scanner

局域网设备扫描软件用于获取局域网HF2211S从AP中获取到的IP地址。

IOTServiceSetupX64_3.0.03

用于发现和配置HF2211S

modbusPLC Simulator

用于模拟气体探测器,可查看模块发送的报纸,便于调试modbusRTU主站。

mosquitto-2.0.11

MQTT服务软件,HF2211S不分析485口读取的数据,转发到MQTT服务器。

配置截图

安装前文提到的配置软件

自带计算机连接模块WiFi

打开配置软件,自动显示搜索到的局域网模块,点击设备编辑,进入设备配置界面

主要设置以下参数

WIFI模式 STA

STA无线名称,密码

连接协议的相关信息

协议:MQTT、订阅主题,发布主题,服务器端地址,端口号

串口信息

波特率、数据位、停止位、校准位

设置基本参数后,点击高级设置,然后点击编辑脚本,导入串口脚本,实现模块主动读取设备数据和数据发送功能。

将以下脚本存储为txt并导入脚本

key=""

cmd01=[0x05,0x03,0x01,0x33,0x00,0x37,0xF4,0x6B]

cmd02=[0x05,0x03,0x02,0x33,0x00,0x37,0xF4,0x2F]

cmd03=[0x05,0x03,0x03,0x33,0x00,0x37,0xF5,0xD3]

cmd04=[0x05,0x03,0x04,0x33,0x00,0x37,0xF4,0xA7]

num=0

TIMER HeartBeat 500

num=num 1

IF(num==1)

SEND(UART,uart0,cmd01)

key="CH1"

END

IF(num==2)

SEND(UART,uart0,cmd02)

key="CH2"

END

IF(num==3)

SEND(UART,uart0,cmd03)

key="CH3"

END

IF(num==4)

SEND(UART,uart0,cmd04)

key="CH4"

num=0

END

END

RECV UART uart0

DATA=INPUT

DATA_S=DATA.hexString()

DATA_B="{\"key\":\"" key "\",\"value\":\"" DATA_S "\"}"

SEND(SOCK,netp,DATA_B)

END

上述代码部分说明

cmd01=[0x05,0x03,0x01,0x33,0x00,0x37,0xF4,0x6B] ///需要发送的命令1

ER HeartBeat 500 每500毫秒执行一次命令

检查设备状态

串口报文捕获

05 03 01 33 00 37 F46B

05036E000003E800000000000000000000000000000000000000000000000000004248000043480000000000000000000000000000AC5C00170000000000000000000000000000000000000000B08800170000000038DD0028FFFF4398000000000000000000000000000000000006000120B7

05 03 02 33 00 37 F42F

05036E0000001E00000000000000000000000000000000000000000000000000004190000041B80000000000000000000000000000E5A20008333341A7000000000000000000000000000200009C75000000000000E84B0008333341A7000000000000000000000000000000000006000184D1

05 03 03 33 00 37 F5D3

05036E00000064000000000000000000000000000000000000000000000000FFFF419F0000424800000000000000000000000000008D8300170000000000000000000000000000000000020000899E001700000000F18300350000424800000000000000000000000000000000000600016049

05 03 04 33 00 37 F4A7

05036E000003E800000000000000000000000000000000000000000000000000004248000043480000000000000000000000000000AC3600170000000000000000000000000000000000000000B08800170000000038DD0028FFFF4398000000000000000000000000000000000006000100C1

MQTT报文捕获

{"key":"CH1","value":"05036E000003E800000000000000000000000000000000000000000000000000004248000043480000000000000000000000000000AC5C00170000000000000000000000000000000000000000B08800170000000038DD0028FFFF4398000000000000000000000000000000000006000120B7"}

{"key":"CH2","value":"05036E0000001E00000000000000000000000000000000000000000000000000004190000041B80000000000000000000000000000E5A20008333341A7000000000000000000000000000200009C75000000000000E84B0008333341A7000000000000000000000000000000000006000184D1"}

{"key":"CH3","value":"05036E00000064000000000000000000000000000000000000000000000000FFFF419F0000424800000000000000000000000000008D8300170000000000000000000000000000000000020000899E001700000000F18300350000424800000000000000000000000000000000000600016049"}

{"key":"CH4","value":"05036E000003E800000000000000000000000000000000000000000000000000004248000043480000000000000000000000000000AC3600170000000000000000000000000000000000000000B08800170000000038DD0028FFFF4398000000000000000000000000000000000006000100C1"}

附:气体检测仪地址表

{"key":"CH2","value":"05036E 0000001E00000000000000000000000000000000000000000000000000004190000041B80000000000000000000000000000E5A20008333341A7000000000000000000000000000200009C75000000000000E84B0008333341A70000000000000000000000000000000000060001 84D1"}

MQTT报文中,value值中,头部 3个字节 05036E 尾部2个字节CRC校验 84D1去除中间部分为对应通道的数据。

MQTT报文中,第二通道氧气实时浓度对应的报文为 3333 41A7,对应浮点数: 20.899999618530273

通讯

Modbus RTU 9600 n 8 1

5

Point

VirRegAddr

ASDU

可燃气体(通道1)

1

量程

40308

2个字节,Byte0:量程高位Byte1:量程低位

低报警点(float)

40319 float

A1报警点(float)

40321 float

A2报警点(float)

40323 float

实时浓度(float)

40334 float

报警状态

40336

2个字节 Byte0:0x00

Byte0: 0x00 正常

0x01 断线

0x02 超量程

0x03 A2

0x04 A1

存储模式

40361

2个字节, Byte0:保留0x00;

Byte1=0x00;关闭

Byte1=0x01 自动

Byte1=0x02 手动

Byte1=0x03 单点

存储周期

40362

2个字节,Byte0:高位 Byte1:低位

氧气(通道2)

2

量程

40564

50302

低报警点(float)

40575 float

A1报警点(float)

40577 float

A2报警点(float)

40579 float

实时浓度(float)

40590 float

报警状态

40592

存储模式

40617

存储周期

40618

硫化氢(通道3)

3

量程

40820

50303

低报警点(float)

40831 float

A1报警点(float)

40833 float

A2报警点(float)

40835 float

实时浓度(float)

40846 float

报警状态

40848

存储模式

40873

存储周期

40874

一氧化碳(通道4)

4

量程

41076

50304

低报警点(float)

41087 float

A1报警点(float)

41089 float

A2报警点(float)

41091 float

实时浓度(float)

41102 float

报警状态

41104

存储模式

41129

存储周期

41130

实时时间(年分)

40023

2个字节, Byte0:年份高位 Byte1:年份低位

实时时间(月,日)

40024

2个字节, Byte0:月 Byte1:日

实时时间(时,分)

40025

2个字节, Byte0:时 Byte1:分

实时时间(秒)

40026

2个字节, Byte0: 0x00 Byte1: 秒

仪器地址

40027

2个字节 Byte0:保留0x00 Byte1:仪器地址

仪器报警开关

40029

2个字节 Byte0:声音报警开关(0x0关,0x01开)Byte1: 光电报警开关(0x00关,0x01开)

恢复出厂设置

40039

2个字节Byte0:保留0x00当往Byte1中写入0x01时则进行恢复出厂设置

标签: hf1变送传感器

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台