目录

1. MQTT 简介

2. KEPServerEX中的MQTT应用

2.1. MQTT Client Driver应用

2.2. IOT Gateway Plug-in应用

3. KEPServerEX中的MQTT配置

3.1. MQTT Client Driver 配置

3.1.1. 建立通道

3.1.2. 建立设备

3.1.3. 建立标签

3.1.4. Quick Client 查看数据

3.2. IOT Gateway Plug-in 中的MQTT Client 配置

3.2.1. 建立Agent

3.2.2. 建立Item

前言:

北京东方鼎晨科技有限公司是一家专业从事工业自动化产品销售和控制系统集成的高科技企业,作为KEPServerEX中国区首选分销商,我们拥有十几年的产品销售及技术经验积累。我们能为客户提供标准的KEPServerEX培训课程,并提供免费产品咨询及电话技术支持。

MQTT 简介

物联网最近曝光率越来越高。虽然HTTP是网页的事实标准,不过机器之间的大规模沟通需要不同的通讯模式,之前的请求/回答 模式不再合适,取而代之的是发布/订阅 模式。这就是轻量级、可扩展的MQTT可以施展拳脚的舞台。

MQTT 是一个轻型协议,使用基于 TCP/IP 协议的发布/订阅消息转发模式。 MQTT 协议的中心是 MQTT 服务器或代理 (broker) ,支持发布程序和订阅程序进行访问,如下图所示:

KEPServerEX中的MQTT应用

在KEPServerEX软件中MQTT有两种应用,一个是Driver层面的应用:MQTT Client Driver ,一个是Plug-in层面的应用:IoT Gateway Plug-in。

MQTT Client Driver应用

MQTT Client Driver提供了一种获取设备数据的方法,这些来自设备的数据通过MQTT协议发送。许多设备和传感器使用不同的或专有的通信协议。使用MQTT可以统一数据收集和发布。此驱动程序连接到MQTT服务器(代理)并订阅指定的主题。当接收到关于这些主题的更新时,将解析有效负载并将这些数据给到OPC标签,然后可以通过OPC客户端访问这些标签,从而构建有意义的数据模型和仪表板。

MQTT客户机驱动程序支持:

分析有效的JSON数据格式

从MQTT服务器读取数据(当前不支持写入)

身份验证和TLS/SSL加密

使用MQTT 3.1和3.1.1协议连接到MQTT服务器

与ThingWorx平台和其他HMI、SCADA、物联网和基于云的解决方案集成

基于用户管理器和安全策略插件的用户级访问

IOT Gateway Plug-in应用

物联网网关是一个可选功能,允许通过基于行业标准IP的协议将系统和设备标签发布到第三方端点。当已配置标签的值发生更改或满足发布速率时,将以标准JSON格式向相应的第三方端点发送更新,更新的有效负载为标记ID、值、质量和时间戳。

物联网网关提供以下功能:

  1. 能够从服务器中的任何数据源(例如驱动程序、插件或系统标记)发布由名称、值、质量和时间戳组成的数据
  2. 标准的可读JSON数据格式
  3. 通过MQTT和REST客户机代理支持发布
  4. 支持从MQTT客户机和REST服务器代理读取数据
  5. 可配置的数据收集速率,REST和MQTT客户机的频率为10毫秒,最多为每27.77小时(999999900毫秒)一次
  6. 可配置的数据发布速率,REST和MQTT客户机的频率为10毫秒,最多为每27.77小时一次(999999900毫秒)
  7. 在所有代理上支持身份验证和TLS/SSL加密
  8. 支持基于用户管理器和安全策略插件的用户级访问
  9. 用于与不同第三方端点集成的可配置头和负载信息

架构如下图:

KEPServerEX中的MQTT配置

MQTT Client Driver 配置

建立通道

建立设备

建立标签

标记地址的格式为mqtt_topic+payload_item。

mqtt_主题是要发布所需数据值的主题。

payload_item是有效负载中指向需要数据的特定项的路径。

上述图例中的标签地址,接收的是如下JSON发送过来的数据:

Topic: vendor/device/data

Sample Payload:

{

"s":4,

"t":"2017-09-29T19:52:19Z",

"q":192,

"c":6,

"tempint":67.1,

"vbatt":3.28,

"ai1":8.92,

"ai2":0.03,

"temp1":46.4,

"temp2":68.0

}

Quick Client 查看数据

IOT Gateway Plug-in 中的MQTT Client 配置

建立Agent

  1. QoS

QoS(Quality of Service,QoS)为服务质量, MQTT支持三种不同级别的服务质量为不同场景提供消息可靠性。

选项包括:0(最多一次)、1(至少一次)、2(正好一次)。

Format

宽格式:生成一个输出,该输出包含Agent中所有启用的标记。此格式保证每次发布时数据格式一致。宽格式只发送每个标记的最新值,没有数据缓存。如果在使用宽格式时发布失败,则下一次发布是每个标记的最新扫描值。

窄格式:根据已更改值或质量的标记生成输出。此格式有缓存数据,并将所有标记数据更改发布到Endpoint。

建立Item

新建Item时,可以通过Tag Browser 界面浏览选择驱动、插件的标签和系统标签 。

Item 属性里有两种发布方式。

  1. Only on Data Changes(仅在数据更改时):仅在值更改时发布此标记的数据。

死区:定义触发发布的更改阈值的值更改百分比。

  1. 每次扫描:这将强制将此标签的数据发布到Endpoint,即使标签值没有更改。

注意:质量为“坏”的标记发送一个具有该质量的更新,然后在质量恢复为“好”之前不发送更新。

北京东方鼎晨科技有限公司是一家专业从事工业自动化产品销售和控制系统集成的高科技企业,作为KEPServerEX中国区首选分销商,我们拥有十几年的产品销售及技术经验积累。我们能为客户提供标准的KEPServerEX培训课程,并提供免费产品咨询及电话技术支持。

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐