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

📅 2026/8/4 3:23:04
基木流程模块实战:低代码搭建 TCP 与 MQTT 双向数据转发
基木流程模块实战低代码搭建 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 单向转发是完成这类软件实践时最需要关注的环节。实际落地时可以沿着本文的顺序核对配置、界面状态和运行结果遇到异常时优先回到对应步骤检查参数、环境和输出提示。