基木流程模块实战:低代码搭建 TCP 与 MQTT 双向数据转发
2026/8/4 3:23:02 网站建设 项目流程

基木流程模块实战:低代码搭建 TCP 与 MQTT 双向数据转发

一、引言

本文围绕“基木流程模块实战:低代码搭建 TCP 与 MQTT 双向数据转发”展开,从实际使用场景出发梳理软件的关键流程、配置取舍和验证方法。文章会结合界面信息说明每一步为什么要这样做,帮助读者在自己的环境中复现并判断结果是否符合预期。

二、实践过程

2.1 目标与布局准备

我们的目标是让 TCP 客户端与 MQTT 客户端能够互相收发消息。先把之前演示的流程全部关闭,然后在基木中新增 TCP 客户端、TCP 服务器、MQTT Broker 和 MQTT 客户端四个组件,并将通讯流程基木面板停靠在右侧。为了方便同时观察所有模块,右键点击菜单把三分屏的航游线调整为列优先布局,随后依次启动 TCP 服务器、客户端、MQTT Broker 与客户端,确保底层通信链路已全部就绪。

2.2 构建 TCP 到 MQTT 的转发流程

首先拖入一个循环流程模块并设为死循环,用来持续监听 TCP 数据。在循环内添加“TCP 接收”节点,选择对应的 TCP 服务器实例,将接收到的消息存入变量 TCP接收。接着拖入“MQTT 发布”节点,选择 MQTT Broker,发布主题设为 test/TCP,消息内容通过美元符号引用变量 TCP接收。这样,每当 TCP 客户端发来数据,就会自动经 broker 发布到 MQTT 网络。

在可视化编程工具中搭建 TCP 到 MQTT 转发流程的界面

2.3 验证 TCP→MQTT 单向转发

在 MQTT 客户端中新增一个订阅,主题同样为 test/TCP,然后启动刚才的流程。为防止因等待超时而中断,可以适当增大流程执行间隔。回到 TCP 客户端发送消息,可以看到 MQTT 客户端立刻收到了相同内容;同时流程中的节点执行指示灯闪烁,右侧的实时变量监控区也同步更新了 TCP接收 的值,直观确认了单向转发通道已正常工作。

2.4 构建 MQTT 到 TCP 的转发流程

为了避免同一个循环内处理双向逻辑时出现阻塞,我们新建一个独立的流程。同样使用循环流程模块,加入“MQTT 接收”节点,选择 MQTT Broker 并匹配主题 test/MQTT,将接收到的消息存入变量 MQTT接收。随后添加“TCP 发送”节点,目标为 TCP 服务器,消息内容引用变量 MQTT接收。至此,来自 MQTT 的消息就可以原样推送给 TCP 客户端。

MQTT 到 TCP 转发流程的 Node-RED 配置

添加 MQTT 接收节点并转发至 TCP 服务器的流程配置界面

2.5 双向互通验证

启动第二条流程后,在 MQTT 客户端中向 test/MQTT 主题发布一条消息,TCP 客户端立即在接收区看到该内容。反过来,从 TCP 客户端发送的消息仍然会出现在 MQTT 客户端中。两边交替发送,对方均能准确接收,流程节点闪烁表明每次触发都已执行成功,实时变量窗口持续更新最新值,双向数据转发全部通过验证。

2.6 用脚本模块扩展自定义逻辑

基木的流程模块还支持嵌入 C# 脚本进行更复杂的处理。例如,在 TCP 接收节点后拖入“脚本”模块,点击“编辑脚本”即可弹出轻量编辑窗口;若希望获得完整的 IntelliSense 和项目管理体验,可以点击“打开工程”直接在 Visual Studio 中编辑自依赖的脚本项目。在脚本中我们可以访问上下文变量、调用系统服务,如将 DateTime.Now 赋值给一个变量。保存并重新运行后,每当 TCP 消息到达,对应的日期时间变量便会同步刷新,为数据清洗、格式转换等需求提供了灵活的扩展点。

在 Visual Studio for Mac 中编辑脚本代码

在 Visual Studio 中编辑脚本模块的代码

脚本模块的代码编辑界面

2.7 工程保存与复用

调试完成后,使用保存按钮将当前流程保存为基木工程文件。之后只需在基木中添加该文件所在目录,就能直接打开并还原整个调试环境,实现一次设计、多处复用的效果。无论是本地验证还是移植到工控机,都可以快速运行相同的流程,大幅简化了跨协议数据转发的部署工作。

三、总结

整体来看,目标与布局准备、构建 TCP 到 MQTT 的转发流程、验证 TCP→MQTT 单向转发是完成这类软件实践时最需要关注的环节。实际落地时,可以沿着本文的顺序核对配置、界面状态和运行结果;遇到异常时,优先回到对应步骤检查参数、环境和输出提示。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询