DTU
JX-803 对外提供一路 485 串口,并提供简单的 DTU 功能。工作原理如下:
功能概述
JX-803 通过串口与下面的子设备相连,采用 485 总线协议通信。通过采集协议将数据采集上来,并通过配置的上报协议和上报数据格式发送的互联网服务器上。
基础配置
- 协议版本:当前 DTU 应用配置所用的协议版本,不可编辑,不可更改,与 DTU 应用绑定。
- Custom ID:用户自定义 ID,可任意输入,无限制。
串口配置
用于配置串口 485 通信的参数。
- 波特率:串口通信的波特率,
1200-2M
可选。 - 数据位:串口通信的数据位,可选
7
或8
。 - 校验位:串口通信的校验位,可选:无校验(
None
)、奇校验(Odd
)、偶校验(Even
) - 停止位:串口通信的停止位,可选 1 或 2。
- 分帧超时:超过此时间未收到数据就会进行数据分包处理,默认 30 毫秒。
服务器配置
配置远程服务器地址以及采用的网络通信协议。默认不启用。
TCP 协议
JX-803 采用 TCP 协议与远程服务器建立长连接,其中 JX-803 作为 TCP 客户端,远程服务器作为 TCP 服务端。需要将 Socket 模式选择为 TCP。
- 服务器地址:远程服务器的IP 地址或域名。
- 服务器端口号:远程服务器运行 TCP 服务所占用的端口号。(注意远程服务器的防火墙配置需要允许此端口被访问)
- SSL:是否启用 SSL 安全连接。
高级配置
- 心跳包:定期发送到 TCP 服务端的一个数据包,支持字符串和十六进制输入。内容为空表示不启用心跳包功能。
- 心跳间隔:心跳包发送的时间间隔。单位:秒。
- 注册包:支持字符串和十六进制输入。内容为空表示不启用注册包功能。
- 注册包类型:用来设置注册包发送的策略的,支持以下几种方式:
- 不发送:即不发送注册包。
- 连接时发送:当 JX-803 使用 TCP 协议与远程服务器的 TCP 服务建立连接成功后,发送一包注册包。此为默认策略。
- 发送数据包时发送:当 JX-803 要发送数据包时,先发送一包注册包,然后再发送数据包。
- 连接、发送数据时发送:当 JX-803 使用 TCP 协议与远程服务器的 TCP 服务建立连接成功后或者要发送数据包前,均发送一包注册包。
UDP 协议
JX-803 采用 UDP 协议与远程服务器建立长连接。需要将 Socket 模式选择为 UDP。
- 服务器地址:远程服务器的IP 地址或域名。
- 服务器端口号:远程服务器运行 UDP 服务所占用的端口号。(注意远程服务器的防火墙配置需要允许此端口被访问)
高级配置
- 心跳包:定期发送到远程 UDP 服务的一个数据包,支持字符串和十六进制输入。内容为空表示不启用心跳包功能。
- 心跳间隔:心跳包发送的时间间隔。单位:秒。
- 注册包:支持字符串和十六进制输入。内容为空表示不启用注册包功能。由于 UDP 无连接的概念,这里的注册包会在发送数据包前发送。
MQTT 协议
JX-803 采用 MQTT 协议与远程服务器建立长连接,其中 JX-803 作为 MQTT 客户端,远程服务器作为 MQTT Broker。需要将 Socket 模式选择为 MQTT。
- 服务器地址:远程服务器的IP 地址或域名。
- 服务器端口号:远程服务器运行 MQTT Broker 服务所占用的端口号。(注意远程服务器的防火墙配置需要允许此端口被访问)
- 用户名:MQTT 连接时认证信息中的用户名。
- 密码:MQTT 连接时认证信息中的密码。
- ClientID:MQTT 连接时的 ClientID,不可重复,即连接到相同 Broker 上的所有设备都不可以使用相同的 ClientID,否则会出现抢占现象。
- 连接超时:MQTT 连接超时时间,单位:秒。默认 60 秒。
- 心跳时间间隔:MQTT 连接 KeepAlive 心跳时间间隔,单位:秒。默认 60 秒。
- 订阅主题:MQTT 订阅主题,只支持单个订阅主题,是否支持通配符取决于 MQTT Broker 实现。
- 发布主题:MQTT 发布主题,只支持单个发布主题。
- 遗嘱内容:MQTT 遗嘱消息内容,即客户端断开连接时发送的消息。详见 MQTT 协议。
- 会话标志位:是否保存 MQTT 会话标识。详见 MQTT 协议。
- qos:消息质量 QoS 级别。详见 MQTT 协议。
- retain:是否为
retain
消息。
高级配置
- 注册包:支持字符串和十六进制输入。内容为空表示不启用注册包功能。MQTT 连接成功之后会将注册包内容发送到发布主题上。
HTTP 协议
JX-803 采用 HTTP 协议将数据发送到远程服务器上,其中 JX-803 作为 HTTP 客户端,远程服务器作为 HTTP 服务端。需要将 Socket 模式选择为 HTTP。
- URL:HTTP 服务端 URL 地址,不含
http://
或https://
前缀。 - 请求方法:HTTP 的请求方法,支持:
GET
和POST
两种方法,其他方法暂不支持。 - 超时时间:HTTP 请求超时时间,单位:秒,默认 30 秒。
- Content-Type:HTTP 协议中的 Content-Type 字段,详见 HTTP 协议。
- 参数类型:数据放到哪里上报,默认是 body 中,如果选择了 param,将会把数据放到 URL 中上报。
- basic 用户名:Basic 认证的用户名。
- basic 密码:Basic 认证的密码。
- 过滤状态码:是否过滤服务端返回数据的状态码。
- 过滤 headers:是否过滤服务端返回数据的 headers。
- 过滤 body:是否过滤服务端返回数据的 Body 内容。
- headers:用来自定义 HTTP 请求的请求头的,实际场景非常有用。
数据协议
数据协议是 JX-803 通过串口采集的采集协议与服务器上报数据格式的整合体。
透传
透传协议 JX-803 不做任何处理,服务器下发的数据原封不动的通过串口发送出去。串口接收到的数据原封不动的发送给服务器。工作原理如下所示:
自动采集
自动采集协议与透传协议基本上一致,只不过增加了 JX-803定期主动往串口下发采集指令的功能。工作原理如下所示:
其配置字段为:
- 采集周期:采集指令下发周期。单位:秒,最低 1 秒,默认 5 秒。
- 指令间延时:如果配置了多条采集指令,每条采集指令下发的时间间隔。单位:毫秒,默认 200 毫秒。例如设置值为 50 毫秒,则下发上一条指令后等待 50 毫秒后下发下一条指令。
- 指令列表:支持配置多条指令,指令数量无上限,每条指令支持字符串和十六进制格式。
Modbus-JSON
Modbus-JSON
协议是指 JX-803 的串口与下面的设备之间通过Modbus 协议进行通信,与远程服务端通过JSON 格式数据进行通信。工作原理如下所示:
相比于透传协议和自动采集协议,这里存在协议转换的功能:
- 服务器下发的 JSON 格式数据要转换成Modbus 控制指令下发给设备(图中蓝色链路)
- 设备收到 JX-803 主动下发的Modbus 采集指令后会响应相应的数据,JX-803 接收到响应数据后转换成 JSON 数据格式上报给服务端(图中黄色链路)
协议驱动配置
- 采集周期:采集指令下发周期。单位:秒,最低 1 秒,默认 3 秒。
- 采集超时时间:下发采集指令后等待设备应答的超时时间。单位:毫秒,默认 150 毫秒。
- 上报时间戳:JSON 上报时是否添加时间戳字段。时间戳字段为
timestamp
,时间戳为标准 UNIX 时间戳,精确到秒。 - 数据上报周期:JSON 数据上报服务器的周期,单位:秒,默认 5 秒。
- 上报字段类型:可勾选设备内部属性进行上报,例如勾选了
$mac
,则上报的 JSON 数据里面会增加一个字段mac
,其值为 JX-803 的mac 地址。 - 自定义类型:JSON 上报数据中可扩展的静态 Key 和 Value 值。
数据采集配置
按照数据点的方式进行指令输出,每个 JSON 的字段是一个数据点,每个数据点会生成一条采集指令。这里需要配置每个数据点的 JSON Key 值和 modbus 对应存储位置以及运算。
- 从机地址:Modbus 协议的从机地址,详见 Modbus 协议。
- 功能码:Modbus 协议的功能码,详见 Modbus 协议。
- 寄存器地址:Modbus 协议读取指令的起始寄存器地址,详见 Modbus 协议。
- 数据类型:读取寄存器数据的类型。
- JSON 键值:JSON 上报数据的 Key 值。
- 运算 1:第一次四则运算的运算方式。
- 数值 1:第一次四则运算的运算数值。
- 运算 2:第二次四则运算的运算方式。
- 数值 2:第二次四则运算的运算数值。
Modbus-HJ212
Modbus-HJ212
协议与Modbus-JSON协议基本一致,只不过无法通过服务器进行控制,同时数据上报格式从JSON格式变成HJ212格式。
由于HJ212格式的特殊性,驱动协议配置部分也有相应的调整:
- 采集周期:采集指令下发周期。单位:秒,最低 1 秒,默认 3 秒。
- 采集超时时间:下发采集指令后等待设备应答的超时时间。单位:毫秒,默认 150 毫秒。
- 系统编码:HJ212协议的系统编码,详见HJ212协议。
- 设备MN:HJ212协议所需的设备MN号。
- 密码:HJ212协议通信密码,详见HJ212协议。
- 分钟统计间隔:HJ212协议的分钟统计间隔,例如设置为5,则每5分钟上报一次分钟统计数据。
- 数据上报周期:HJ212 数据上报服务器的周期,单位:秒,默认 5 秒。
- 整点对齐:开启此功能,则每小时0分0秒上报小时统计数据。默认是不开启的,如果开启可能会造成服务器整点接收数据过多,瞬时负载过大,影响应用稳定,酌情开启。
- 天数据上报时刻:天统计数据的上报时刻,例如设置为12,则每天中午12:00:00上报天统计数据。
数据采集配置
与Modbus-JSON配置一样,每条配置均对应一个采集指令和一个HJ212环境因子。
- 从机地址:Modbus 协议的从机地址,详见 Modbus 协议。
- 功能码:Modbus 协议的功能码,详见 Modbus 协议。
- 寄存器地址:Modbus 协议读取指令的起始寄存器地址,详见 Modbus 协议。
- 数据类型:读取寄存器数据的类型。
- 环境因子:HJ212协议环境因子编码,详见HJ212协议。
- 运算 1:第一次四则运算的运算方式。
- 数值 1:第一次四则运算的运算数值。
- 运算 2:第二次四则运算的运算方式。
- 数值 2:第二次四则运算的运算数值。
- 统计类型:上报哪些统计数据,支持多选,可选:最大值、最小值、平均值、累计值。
- 统计时长:上报统计方式,支持多选,可选:天、小时、分钟。