跳到主要内容

数据可通过多种协议采集至平台,也可通过多种方式传递给第三方。

通过MQTT订阅获取数据

信息

该方式适用于具备MQTT协议使用经验的第三方。

  1. 登录平台,选择 数据管理 > 事件流程
  2. 单击 新建事件流程,输入名称后单击 保存
  3. 单击刚创建的事件流程,拖拽一个 mqtt in 节点并配置参数:
    • 平台MQTT代理地址:emqx:1883
    • 主题:需获取数据的文件路径(例如 factory/workshop/order)。
  1. 对获取到的数据进行处理,或直接使用 mqtt out 节点将数据传输至第三方MQTT。
  1. 部署流程,当订阅主题数据发生变化时,数据将自动推送至第三方。

通过API获取数据

信息

该方式适用于不支持MQTT协议、需要事件驱动型数据的第三方。

  1. 登录平台,选择 数据管理 > 事件流程
  2. 单击 新建事件流程,输入名称后单击 保存
  3. 单击刚创建的事件流程,拖拽一个 mqtt in 节点并配置参数:
    • 平台MQTT代理地址:emqx:1883
    • 主题:需获取数据的文件路径(例如 factory/workshop/order)。
  1. 拖拽一个 function 节点至画布,编写脚本将获取到的数据按第三方接收API的要求格式化。
// 若负载为字符串类型,则解析为JSON
if (typeof msg.payload === "string") {
msg.payload = JSON.parse(msg.payload);
}

// 设置请求头
msg.headers = {
"Content-Type": "application/json"
};

return msg;
  1. 使用 HTTP request 节点通过API将数据发送至第三方。
  1. 部署流程,当订阅主题数据发生变化时,数据将自动推送至第三方。

直接从平台数据库获取数据

信息

该方式适用于需要查询历史数据的场景。

  1. 登录平台,选择 数据管理 > 事件流程
  2. 单击 新建事件流程,输入名称后单击 保存
  3. 单击刚创建的事件流程,拖拽一个 inject 节点。
  4. 拖拽一个 PostgreSQL 节点至画布,连接平台PostgreSQL数据库:
    • Connection
      • 主机:postgresql
      • 端口:5432
      • 数据库:postgres
      • SSL:false
    • Security
      • 用户名:postgres
      • 密码:postgres
提示

若未安装 PostgreSQL 节点,可在节点管理中搜索 node-red-contrib-postgresql 进行安装。

  1. 编写SQL语句查询平台数据库中的数据:
信息

表名可从 数据建模 下对应文件的明细中获取。

SELECT * FROM 表名;
  1. 添加 HTTP requestmqtt out 节点,将查询到的数据传输至第三方。