数据可通过多种协议采集至平台,也可通过多种方式传递给第三方。
通过MQTT订阅获取数据
信息
该方式适用于具备MQTT协议使用经验的第三方。
- 登录平台,选择 数据管理 > 事件流程。
- 单击 新建事件流程,输入名称后单击 保存。
- 单击刚创建的事件流程,拖拽一个
mqtt in节点并配置参数:- 平台MQTT代理地址:
emqx:1883 - 主题:需获取数据的文件路径(例如
factory/workshop/order)。
- 平台MQTT代理地址:
- 对获取到的数据进行处理,或直接使用
mqtt out节点将数据传输至第三方MQTT。
- 部署流程,当订阅主题数据发生变化时,数据将自动推送至第三方。
通过API获取数据
信息
该方式适用于不支持MQTT协议、需要事件驱动型数据的第三方。
- 登录平台,选择 数据管理 > 事件流程。
- 单击 新建事件流程,输入名称后单击 保存。
- 单击刚创建的事件流程,拖拽一个
mqtt in节点并配置参数:- 平台MQTT代理地址:
emqx:1883 - 主题:需获取数据的文件路径(例如
factory/workshop/order)。
- 平台MQTT代理地址:
- 拖拽一个
function节点至画布,编写脚本将获取到的数据按第三方接收API的要求格式化。
// 若负载为字符串类型,则解析为JSON
if (typeof msg.payload === "string") {
msg.payload = JSON.parse(msg.payload);
}
// 设置请求头
msg.headers = {
"Content-Type": "application/json"
};
return msg;
- 使用
HTTP request节点通过API将数据发送至第三方。
- 部署流程,当订阅主题数据发生变化时,数据将自动推送至第三方。
直接从平台数据库获取数据
信息
该方式适用于需要查询历史数据的场景。
- 登录平台,选择 数据管理 > 事件流程。
- 单击 新建事件流程,输入名称后单击 保存。
- 单击刚创建的事件流程,拖拽一个
inject节点。 - 拖拽一个
PostgreSQL节点至画布,连接平台PostgreSQL数据库:- Connection
- 主机:
postgresql - 端口:
5432 - 数据库:
postgres - SSL:
false
- 主机:
- Security
- 用户名:
postgres - 密码:
postgres
- 用户名:
- Connection
提示
若未安装 PostgreSQL 节点,可在节点管理中搜索 node-red-contrib-postgresql 进行安装。
- 编写SQL语句查询平台数据库中的数据:
信息
表名可从 数据建模 下对应文件的明细中获取。

SELECT * FROM 表名;
- 添加
HTTP request或mqtt out节点,将查询到的数据传输至第三方。