跳到主要内容

DTU

JX-803 对外提供一路 485 串口,并提供简单的 DTU 功能。工作原理如下:

DTU工作原理

功能概述

JX-803 通过串口与下面的子设备相连,采用 485 总线协议通信。通过采集协议将数据采集上来,并通过配置的上报协议和上报数据格式发送的互联网服务器上。

基础配置

  • 协议版本:当前 DTU 应用配置所用的协议版本,不可编辑,不可更改,与 DTU 应用绑定
  • Custom ID:用户自定义 ID,可任意输入,无限制。

串口配置

用于配置串口 485 通信的参数。

  • 波特率:串口通信的波特率,1200-2M可选。
  • 数据位:串口通信的数据位,可选78
  • 校验位:串口通信的校验位,可选:无校验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 的请求方法,支持:GETPOST两种方法,其他方法暂不支持。
  • 超时时间: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 不做任何处理,服务器下发的数据原封不动的通过串口发送出去。串口接收到的数据原封不动的发送给服务器。工作原理如下所示:

DTU透传工作模式

自动采集

自动采集协议与透传协议基本上一致,只不过增加了 JX-803定期主动往串口下发采集指令的功能。工作原理如下所示:

DTU自动采集工作模式

其配置字段为:

  • 采集周期:采集指令下发周期。单位:秒,最低 1 秒,默认 5 秒。
  • 指令间延时:如果配置了多条采集指令,每条采集指令下发的时间间隔。单位:毫秒,默认 200 毫秒。例如设置值为 50 毫秒,则下发上一条指令后等待 50 毫秒后下发下一条指令。
  • 指令列表:支持配置多条指令,指令数量无上限,每条指令支持字符串十六进制格式。

Modbus-JSON

Modbus-JSON协议是指 JX-803 的串口与下面的设备之间通过Modbus 协议进行通信,与远程服务端通过JSON 格式数据进行通信。工作原理如下所示:

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格式。

Modbus-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:第二次四则运算的运算数值。
  • 统计类型:上报哪些统计数据,支持多选,可选:最大值最小值平均值累计值
  • 统计时长:上报统计方式,支持多选,可选:小时分钟