苏州丹鹤文档 苏州丹鹤文档
  • 系统运行
  • 系统部署
  • 使用说明
  • 小程序和App
  • 硬件SDK说明
  • 规则引擎
  • 智能音箱
  • 消息通知
  • 设备

    • 新建设备
    • Mqtt设备接入
    • TCP设备接入
    • 监控设备接入
    • Modbus设备接入
    • 联动控制告警
    • OTA升级
    • 规则脚本
    • 数据桥接
  • 组态

    • 组态使用
  • 工单

    • 保养管理
    • 巡检管理
    • 维修管理
    • 工单任务
    • 设备列表
  • 能源

    • 能源监控
    • 能源配置
    • 能耗分析
    • 用能分析
  • 网关配置

    • BacnetIP采集示例
    • Modbus采集示例
    • 平台转发数据
  • DTU配置

    • DTU设置边缘采集
    • 参数配置⼊⻔教程
    • DTU连接平台设置MQTT、TCP
  • Docker部署

    • DTU设置边缘采集
  • 二次开发

    • 平台主题
    • Modbus方案
    • 网关模块
    • 协议管理模块
    • 服务端模块
    • 设备数据处理
    • Mqtt服务端
  • 其它

    • 使用Emqx5
    • 三方登录
    • 使用TDengine
    • 可视化平台
    • ZLMediakit录像部署
    • 网络抓包
    • 常见问题
    • 相关文档
返回官网 (opens new window)
  • 系统运行
  • 系统部署
  • 使用说明
  • 小程序和App
  • 硬件SDK说明
  • 规则引擎
  • 智能音箱
  • 消息通知
  • 设备

    • 新建设备
    • Mqtt设备接入
    • TCP设备接入
    • 监控设备接入
    • Modbus设备接入
    • 联动控制告警
    • OTA升级
    • 规则脚本
    • 数据桥接
  • 组态

    • 组态使用
  • 工单

    • 保养管理
    • 巡检管理
    • 维修管理
    • 工单任务
    • 设备列表
  • 能源

    • 能源监控
    • 能源配置
    • 能耗分析
    • 用能分析
  • 网关配置

    • BacnetIP采集示例
    • Modbus采集示例
    • 平台转发数据
  • DTU配置

    • DTU设置边缘采集
    • 参数配置⼊⻔教程
    • DTU连接平台设置MQTT、TCP
  • Docker部署

    • DTU设置边缘采集
  • 二次开发

    • 平台主题
    • Modbus方案
    • 网关模块
    • 协议管理模块
    • 服务端模块
    • 设备数据处理
    • Mqtt服务端
  • 其它

    • 使用Emqx5
    • 三方登录
    • 使用TDengine
    • 可视化平台
    • ZLMediakit录像部署
    • 网络抓包
    • 常见问题
    • 相关文档
返回官网 (opens new window)
  • 文档

    • 系统运行
    • 系统部署
    • 使用说明
    • 小程序和App
    • 硬件SDK说明
    • 规则引擎
    • 智能音箱
    • 消息通知
  • 设备

    • 新建设备
    • Mqtt设备接入
    • TCP设备接入
    • 监控设备接入
    • Modbus设备接入
    • 联动控制告警
    • OTA升级
    • 规则脚本
    • 数据桥接
      • 一、数据桥接简介
      • 二、桥接输入侧
      • 三、桥接输出侧
      • 四、数据库存储
  • 组态

    • 新建设备
  • 工单

    • 保养管理
    • 巡检管理
    • 维修管理
    • 工单任务
    • 设备列表
  • 能源

    • 能源监控
    • 能源配置
    • 能耗分析
    • 能源监控
  • 网关配置

    • BacnetIP采集示例
    • Modbus采集示例
    • 平台转发数据
  • DTU配置

    • DTU设置边缘采集
    • DTU连接平台设置MQTT、TCP
  • Docker部署

    • 项目部署
  • 二次开发

    • 平台主题
    • 物模型格式
    • 告警和场景格式
    • 消息流转
    • Modbus方案
    • 网关模块
    • 协议管理模块
    • 服务端模块
    • 设备数据处理
    • Mqtt服务端
  • 其他

    • 使用Emqx5
    • 三方登录
    • 使用TDengine
    • 可视化平台
    • ZLMedia录像部署
    • 网络抓包
    • Wap2App打包
    • IEC 104协议
    • 常见问题
    • 视频监控常见问题
    • 相关文档
  • 在线文档
  • 设备
kerwincui
2024-10-24
目录

数据桥接

# 一、数据桥接简介

数据桥接作为连接 yanfan 与外部数据系统的桥梁,支持对接多种类型的外部系统,如 MQTT 服务器、 HTTP 服务器,以及MySQL、SQLServer、Oracle、PostgreSQL等数据库。 通过数据桥接,用户能够实时地将消息从 yanfan 传输至外部数据系统,或者从外部数据系统拉取数据并发布到 MQTT 服务器的指定主题。

结合规则脚本的编写,用户无需额外编写代码,即可快速完成所有业务数据的处理与分发。用户可以选择通过指定的 HTTP 接口接入数据,或者订阅 MQTT 主题来接收数据。 在数据经过规则处理后,再通过数据桥接将数据发送到外部应用系统中。

桥接输入侧支持:

  • 基于产品维度的设备上下线,设备上报,平台下发等事件触发
  • 基于数据流维度:HTTP 接入,MQTT 主题订阅方式接入数据

桥接输出侧支持:

  • 内置MQTT重发布(默认)
  • 外部MQTT服务器主题发布输出
  • 第三方 HTTP OpenAPI 接口输出
  • MySQL、SQLServer、Oracle、PostgreSQL 等数据库的SQL插入操作

注意:输入和输出可同时使用,更加灵活的转发数据和处理数据流

# 二、桥接输入侧

1、HTTP接入

目前开放三个固定的api接口来接入数据,分别是:“/bridege/get”,“/bridege/post”,“/bridege/put” 目前使用的认证方式的jwt token认证,用户通过创建系统授权来生成token,然后再请求时携带认证头信息即可完成接入。

    数据桥接--新增
        桥接方向选择输入--点击Http桥接--选择接入路由
    规则脚本--新增 
        脚本数据选择HTTP接入--点击选择HTTP桥接接入点--修改脚本内容即可
1
2
3
4

2、MQTT接入

    数据桥接--新增
        桥接方向选择输入--点击Mqtt桥接--输入服务器配置和桥接主题即可
    规则脚本--新增
        脚本数据选择MQTT接入--点击选择Mqtt桥接接入点--修改脚本内容即可
1
2
3
4

# 三、桥接输出侧

1、内置MQTT重发布

数据接入后,可以经过脚本处理,修改重新发布的主题,数据格式,数据计算方式,然后重新发布到内部MQTT服务器,重新交到业务系统处理相关数据。

2、外部MQTT服务器主题发布输出

  1. 新建mqtt桥接配置: 规则引擎-->数据桥接-->新增

桥接配置参数说明:

桥接名称:桥接配置名称(一般无限制)

桥接方向:输出 MQTT服务地址:要桥接的地址(地址+端口),例:yanfan.cn:1883 / 101.33.237.12:1883

客户端ID:连接mqtt的clientId,例:S&D1LN0D9DN5X6&205&1

用户名:连接mqtt的用户名

密码:连接mqtt的密码

桥接路由:桥接方向为 输出,桥接路由可为空

新增配置之后,可以点击连接测试按钮创建mqtt客户端,根据状态判断配置是否有效

  1. 创建mqtt输出脚本: 规则引擎-->规则脚本-->新增
  1. 测试脚本--建立mqtt桥接规则脚本之后,选择规则脚本对应的产品设备,使用mqttx工具模拟设备上报
    我们通过桥接功能将本地设备上报的数据桥接到yanfan演示站点数据
    可以看到,通过mqtt桥接功能,设备上报的数据在两个平台都接收到。

    3、第三方 HTTP OpenAPI 接口输出

1、yanfan配置平台

添加配置
    1.新建脚本与mqtt输出一样,规则引擎-->数据桥接-->新增
1
2
配置参数说明:

桥接名称:配置名称

桥接方向:输出

请求方法:根据要对接平台api说明选择 get/post/put

桥接地址:api访问的完整地址,例:http://localhost:18083/api/v5/metrics

请求头:根据对接平台api说明文档添加,例:认证参数 Authorization,application/json等等

请求参数:根据对接平台api说明文档添加

请求体:根据对接平台api说明文档添加

增加http桥接输出规则脚本: 规则引擎-->规则脚本-->新增

4、输出侧测试--使用mqttx模拟设备上报数据测试

输出侧测试--使用mqttx模拟设备上报数据测试

在后端看到如下日志

1.emqx对接

对接参考文档:https://www.emqx.io/docs/zh/v5.1/admin/api.html#java
1.在mqtt服务器新建API密钥
2.HTTP认证:采用Basic认证:将用户名和密码用MD5在线加密  
3.在yanfan平台创建配置
HTTP认证参数:Authorization: 支持两种认证方式:Basic或Bearer
			accept:application/json
1
2
3
4
5
6

两种认证方式:

在emqx管理界面创建api密钥

yanfan平台创建桥接配置

2.萤石对接

对接参考文档:https://open.ys7.com/help/81
HTTP认证参数:Content-Type: application/x-www-form-urlencoded
		    accessToken
1
2
3

3.海康威视API对接

参考文档:https://ai.hikvision.com/resource-center/document-detail/8aee27227c3046eba42e84d26d88bc96
1.注册账号
2.获取token:https://ai.hikvision.com/resource-center/document-detail/a45858cdd40c43fb8669537e55bf2cae
HTTP认证参数:Content-Type:application/x-www-form-urlencoded
			referer:https://ai.hikvision.com/
			token
1
2
3
4
5
6

在康海平台注册账号之后,在个人控制台获取ak和sk,获取token

# 四、数据库存储

1.新增数据库存储配置:规则引擎-->数据桥接-->新增

数据库存储配置说明: 桥接名称:

桥接方向:一般为输入

数据库类型:目前仅支持关系型数据库

数据源:MySQL/Oracle/SQL server/PostgreSQL

链接地址:ip + 端口,例如:localhost:3306

用户名:登录数据库的用户名

密码:密码

数据库名称:库名

SQL:sql语句,例如:

INSERT INTO database_storage(topic, payload, serial_number, product_id,protocol_code) 
    VALUES ('${topic}', '${payload}', '${serialNumber}', '${productId}','${protocolCode}');  
     
    说明:可在脚本中使用msgContext.setData("test",1);   
    然后sql语句通过${test}调用  
    可在输出侧http body和 sql语句中传入该值
1
2
3
4
5
6

注意:sql语句 values 中使用自定义占位符 '${}' 赋值 单引号 '' 最好不要省略,否则可能会导致sql语句错误

2.新增数据存储规则脚本:规则引擎-->规则脚本-->新增

规则脚本给sql语句传值格式:

以下几个字段在规则脚本中可以省略,因为后端已经封装好,如果sql涉及其他字段需要手动封装

msgContext.setData("topic",NewTopic);
msgContext.setData("payload",NewPayload);
msgContext.setData("serialNumber",serialNumber);
msgContext.setData("productId",productId);
msgContext.setData("protocolCode",protocolCode);
1
2
3
4
5

3.测试数据库存储

上次更新: 2025/04/08, 16:27:55
规则脚本
新建设备

← 规则脚本 新建设备→

Theme by Vdoing | Copyright © 2021-2025 苏州丹鹤
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式