跳到主要内容

此功能支持往第三方应用消息形式推送设备相关消息。例如:支持往钉钉群内和企业微信群内的自定义机器人发送设备报警、变量值等信息。便于工程师更方便快捷的了解设备的相关信息,及时处理设备相关问题。


一、推送配置

第三方应用消息推送配置分为服务器配置和数据组配置。

1. 服务器配置

打开 SCADA,新建工程后,在左侧工程浏览器的【数据上报服务器】处添加【第三方应用消息推送】,如下图所示:

  • 服务器名称:自定义当前服务器的名称(必填);
  • 描述:当前服务器的描述信息;
  • 推送地址:消息推送至服务的地址,(IP 或域名),支持固定和自定义方式,支持绑定字符串类型变量动态设置;
  • 推送方式:数据推送方式,支持 GETPOST
  • Headers 设置:数据推送请求头配置,配置模式为键值对,示例Content-Type : application/javascript; charset=utf-8
  • 推送模式:有固定和自定义方式,固定模式为直接选择推送模式。自定义方式为变量控制,绑定数值型变量,1:云服务器中转,2:直接发送;
    • 云服务器中转:云服务器中转将使用海为云服务器进行转发,当需要发送设备信息至钉钉群和企业微信群自定义机器人时,请选择此模式。
    • 直接发送:为设备端直接发送信息,当为局域网内使用时,建议使用此模式。

2. 数据组配置

数据组配置用于配置需向第三方应用推送的内容。请点击“添加数据组”弹出数据组窗口。勾选【远程上报】并选择【第三方应用消息推送】,选择已添加的服务器(服务器名称)。

  • 推送内容:推送至指定服务器的数据内容;
  • 回调消息:接收消息推送至服务器后,服务器返回的结果数据(仅支持脚本式进行数据处理);

2.1 记录方式

第三方应用消息推送支持按不同的方式发送数据,有间隔记录、固件时间段记录、触发式记录、变化式记录四种方式。

加载失败

间隔记录

设定指定间隔时间推送内容数据至指定服务器

加载失败

固定时间段记录

设定在指定时间段中,以指定频率推送内容数据至指定服务器

加载失败

触发式记录

绑定开关型变量,当变量触发时,推送内容数据至指定服务器。变化类型有:开到关、关到开、切换三种

加载失败

变化式记录

绑定的数值型变量,当变量值发生发生变化时,推送内容数据至指定服务器


2.2 推送内容

推送内容为需要像服务器发送的数据内容,我们提供【配置式】和【JS 脚本式】两种方式供用户选择。

  • 配置式

采用树状结构,支持对象,数组等方式,用户可自定义数据名称以及时间戳,是一种可灵活调整的设计方法。

图片跑丢了
加载失败

【增加对象】:增加一个对象。对象内可以存放多个数据格式,每个数据格式具有独自的名称和值。对象使用大括号{}包裹数据。

【增加数组】:增加一个数组。数组内可以存放多个数据格式,但是名称只有一个。数组使用中括号"[]"包裹数据。

加载失败

【增加数值】:点击增加数值弹出【数值编辑器】,可增加一个数值、字符串、表达式或时间戳。

当选择“固定值”和“字符串”时,可以选择使用固定值或者取自变量值。 当选择“表达式”时,可以使用简单的数值四则运算或字符串拼接。

注意:一个数值最多可使用255个字。
加载失败

【批量增加数值】:点击打开变量选择器,可选择多个变量,添加多个数值。

【删除】:删除所选的字段。

加载失败

【范本】:在范本中粘贴JSON文本,系统将会排编成相应的JSON格式架构,节约自行排布格式的时间。

加载失败

【预览】:使用方便易懂的JSON格式展示出【内容配置(表格)】中所配置的内容。

  • JS 脚本式

可编写 JS 脚本,完全由用户自定义内容,具有极高自由度。

加载失败

【编译】:对编写的脚本内容进行编译检测。

【测试】:对编写的脚本内容进行语法格式检测。

【示例】:提供【发布】和【订阅】两种不同格式的脚本示例。

【内容编辑】:用于编写JS脚本的区域。


2.3 回调消息

当我们的终端设备向服务器推送数据的时候,服务器也会返回相应的响应数据,我们可以在【回调】消息中处理这些数据,可以直接使用赋值方式赋值给变量,回调信息处理的写法可以点击【示例】查看

图片跑丢了
温馨提示

回调消息仅支持脚本式进行数据处理


二、推送示例

作为通用数据推送功能,支持多方消息推送,下面介绍通过钉钉群聊和企业微信群聊中的机器人向群聊推送指定数据信息。

1. 获取推送 Webhook 地址

在将数据信息推送到钉钉或企业微信群聊中时,需要通过配置自定义机器人来获取相应的 Webhook 地址。

什么是 Webhook?

webhooks 是一个 api 概念,是微服务 api 的使用范式之一。

简单来说,WebHook 就是一个接收数据的 URL,即在组态工程中数据信息推送过程中需要推送的“目的地”。

1.1 钉钉群聊

钉钉目前作为许多企业常用的办公通讯软件,群聊可以支持多方数据介入,这里主要使用【自定义】机器人方式进行数据推送。

1.1.1 添加自定义机器人配置

在已有的钉钉群中,点击右上角【设置】按钮,在弹窗中点击【机器人】,创建新的群聊机器人。

图片跑丢了

点击【添加机器人】,滚动下拉选择【自定义】。

图片跑丢了

根据提示填写机器人的相关信息,为了数据推送的安全性,在添加自定义机器人的时候,需要进行安全设置,这里选择关键词方式(详细信息请查看钉钉官方文档),点击【完成】,即可完成添加。

图片跑丢了

配置完成后,会自动生成一个地址即当前机器人的 Webhook 地址。

图片跑丢了
更多

机器人更详细的配置请参考钉钉官方文档


1.2.企业微信群聊

1.2.1 添加群聊机器人配置

在已有的企业微信群聊中,点击右上角配置按钮,在弹窗中点击【添加群机器人】,创建群聊机器人。

图片跑丢了

自定义配置机器人相关配置信息。

图片跑丢了

配置完成后,会自动生成一个地址即当前机器人的 Webhook 地址。

图片跑丢了
更多

机器人更详细的配置请参考企业微信官方文档

2. 工程配置

2.1 添加服务器

打开 SCADA,新建工程,在左侧【工程浏览器】中新增服务器,服务器选择【第三方应用消息推送】,将上面获取到的 Webhook 地址,填写到【推送地址】中,方式选择【POST】,点击【确定】完成服务器的添加。

图片跑丢了

2.2 数据配置

点击工程浏览器的【数据组】,添加数据组,勾选数据上报,选择已添加的服务器,并配置推送的内容,因安全校验原因,需要在content中添加机器人关键词。

图片跑丢了

提示

本示例使用 JS 脚本式推送文本类型到钉钉群聊,消息格式可参考:

企业微信
{
"msgtype": "text",
"text": {
"content": "消息推送"
}
}
钉钉
{
"at": {
"atMobiles": ["180xxxxxx"],
"atUserIds": ["user123"],
"isAtAll": false
},
"text": {
"content": "消息推送"
},
"msgtype": "text"
}

因钉钉和企业微信的推送消息支持多种类型,且不同的消息类型的格式有差异,请以各自官方文档说明为准。