LabVIEW与Node-RED通过MQTT实现工业物联网系统集成实战
如果你正在做工业自动化或物联网项目可能会遇到这样的困境LabVIEW擅长硬件控制和数据采集但Web界面和业务流程编排却很麻烦Node-RED能快速搭建可视化流程却难以直接对接硬件设备。这时候MQTT协议就成了连接两者的关键桥梁。很多人以为MQTT只是又一个消息队列但实际上它在工业物联网场景中的价值远超想象。通过MQTTLabVIEW和Node-RED不需要直接通信只需要连接到同一个MQTT代理Broker使用相同的主题Topic就能实现数据交换。这种松耦合架构让硬件控制与业务流程彻底解耦大幅提升了系统的可维护性和扩展性。本文将带你从零搭建完整的LabVIEW MQTT Node-RED集成环境。不同于简单的概念介绍我会重点演示实际项目中容易踩坑的细节如何选择合适的MQTT客户端库、如何设计合理的主题结构、如何处理数据格式转换以及如何确保通信的可靠性。无论你是工业自动化工程师还是物联网开发者这套方案都能让你的项目架构更加清晰。1. 为什么LabVIEW MQTT Node-RED是黄金组合1.1 传统工业自动化架构的痛点在传统方案中LabVIEW通常通过串口、Modbus、OPC UA等方式直接与硬件设备通信然后通过TCP/IP或Web服务与上层系统交互。这种架构存在几个明显问题紧耦合业务流程变更需要修改LabVIEW代码重新部署到工控机扩展困难新增设备或功能需要改动现有架构可视化薄弱LabVIEW的UI开发效率低跨平台体验差维护成本高业务逻辑与硬件控制代码混杂调试困难1.2 MQTT带来的架构革新MQTT采用发布/订阅模式完美解决了上述问题LabVIEW (发布者) → MQTT Broker ← Node-RED (订阅者) ↳ 其他设备 (订阅者/发布者)这种架构的优势在于解耦LabVIEW只负责硬件数据采集和控制Node-RED专注业务流程灵活扩展新增设备只需订阅相应主题不影响现有系统可靠性MQTT提供 QoS 等级确保关键消息不丢失跨平台任何支持MQTT的设备都能接入同一系统1.3 适用场景与局限性最适合的场景工业数据采集与监控系统SCADA智能楼宇自动化控制实验室设备集中管理物联网网关数据转发需要谨慎使用的场景毫秒级实时控制MQTT有网络延迟大数据流传输建议用专用工业协议无网络环境需考虑离线方案2. MQTT核心概念快速掌握2.1 基础架构三要素MQTT Broker代理消息中转中心负责接收、过滤和转发消息常用开源方案EMQX、Mosquitto、HiveMQ生产环境建议选择支持集群的高可用版本Topic主题消息的分类标识采用层级结构示例factory/line1/temperature、lab/device001/status通配符单级、#多级QoS服务质量QoS 0最多一次可能丢失消息QoS 1至少一次可能重复消息QoS 2恰好一次可靠但性能开销大2.2 数据格式设计要点在LabVIEW与Node-RED间传输数据时格式设计直接影响开发效率// 推荐格式结构化JSON { timestamp: 2024-01-15T10:30:00Z, deviceId: sensor_001, value: 25.6, unit: °C, status: normal } // 避免使用非结构化字符串 25.6 // 难以解析和扩展3. 环境准备与工具选型3.1 MQTT Broker选择与部署开发测试推荐Mosquitto# Ubuntu/Debian 安装 sudo apt-get update sudo apt-get install mosquitto mosquitto-clients # 启动服务 sudo systemctl start mosquitto sudo systemctl enable mosquitto # 测试连接 mosquitto_sub -h localhost -t test/topic mosquitto_pub -h localhost -t test/topic -m Hello MQTT生产环境推荐EMQX支持集群部署、百万级连接提供Web管理界面和监控功能更好的性能和可靠性3.2 LabVIEW MQTT客户端选型选项1DSC模块MQTT库官方优点稳定性好官方支持缺点需要额外购买DSC模块授权选项2开源MQTT库推荐MQTT Client Toolkit by Fabrice基于LabVIEW原生TCP/IP无需额外依赖社区活跃更新及时本文使用开源方案演示更适合大多数开发场景。3.3 Node-RED环境搭建# 使用Node.js官方源安装 curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash - sudo apt-get install -y nodejs # 安装Node-RED sudo npm install -g --unsafe-perm node-red # 启动Node-RED node-red访问http://localhost:1880即可打开Node-RED编辑器。4. LabVIEW MQTT客户端配置详解4.1 安装MQTT客户端库下载MQTT Client Toolkit from VIPM或GitHub使用VIPM包管理器安装推荐或在LabVIEW中直接导入VI库4.2 创建MQTT连接管理器# LabVIEW代码示例MQTT连接配置 # 文件MQTT_Connection_Setup.vi # 前端面板控件 # - Broker地址字符串输入默认tcp://localhost:1883 # - 客户端ID字符串输入默认LabVIEW_Client_001 # - 连接状态布尔指示灯 # 程序框图逻辑 # 1. MQTT Create Client.vi → 创建客户端实例 # 2. MQTT Connect.vi → 连接到Broker # 3. 错误处理连接失败时提示具体错误信息关键配置参数说明Broker地址格式为tcp://主机名:端口SSL连接使用ssl://客户端ID每个客户端必须唯一避免冲突Keep Alive心跳间隔默认60秒Clean Session是否清理会话持久订阅需设为False4.3 实现数据发布功能# LabVIEW代码示例发布传感器数据 # 文件Publish_Sensor_Data.vi # 输入参数 # - 主题字符串如factory/sensor/temperature # - 数据变体支持字符串、数值、数组等 # - QoS枚举0/1/2 # 数据处理逻辑 # 1. 将LabVIEW数据转换为JSON字符串 # 2. 使用MQTT Publish.vi发布消息 # 3. 添加时间戳和错误处理 # JSON转换示例 # 输入温度值(25.6)、设备ID(sensor_001)、状态(normal) # 输出{timestamp:2024-01-15T10:30:00Z,value:25.6,deviceId:sensor_001,status:normal}4.4 实现消息订阅功能# LabVIEW代码示例订阅控制指令 # 文件Subscribe_Control_Command.vi # 配置参数 # - 订阅主题字符串如factory/device/control # - QoS枚举通常与发布端一致 # 消息处理逻辑 # 1. MQTT Subscribe.vi建立订阅 # 2. 注册消息到达回调函数 # 3. 在回调中解析JSON指令并执行相应操作 # 回调函数示例 # 输入消息主题、消息内容(JSON字符串) # 处理解析JSON → 判断指令类型 → 执行控制操作 # 输出执行结果状态5. Node-RED MQTT流程设计5.1 安装MQTT节点Node-RED默认包含MQTT节点如需高级功能可安装额外节点包# 在Node-RED安装目录下执行 npm install node-red-dashboard # 仪表板节点 npm install node-red-contrib-mqtt-broker # 内置Broker节点5.2 创建MQTT输入流程{ id: sensor-data-flow, type: tab, label: 传感器数据处理, nodes: [ { id: mqtt-in, type: mqtt in, name: 订阅温度数据, topic: factory/sensor/temperature, qos: 1, broker: broker-config, x: 100, y: 100 }, { id: json-parse, type: json, name: 解析JSON数据, property: payload, action: parse, x: 300, y: 100 }, { id: data-process, type: function, name: 数据处理逻辑, func: // 数据验证和转换\nif (msg.payload.value 100) {\n msg.payload.status overrange;\n} else {\n msg.payload.status normal;\n}\n// 添加处理时间戳\nmsg.payload.processedAt new Date().toISOString();\nreturn msg;, x: 500, y: 100 }, { id: dashboard-chart, type: ui_chart, name: 温度趋势图, group: dashboard-group, order: 1, width: 0, height: 0, property: payload.value, chartType: line, legend: true, x: 700, y: 100 } ] }5.3 创建控制指令发布流程{ id: control-flow, type: tab, label: 设备控制流程, nodes: [ { id: dashboard-button, type: ui_button, name: 设备启停控制, group: dashboard-group, order: 1, topic: factory/device/control, payload: {\command\:\start\,\target\:\device_001\}, x: 100, y: 200 }, { id: mqtt-out, type: mqtt out, name: 发布控制指令, topic: factory/device/control, qos: 1, retain: false, broker: broker-config, x: 300, y: 200 } ] }5.4 数据持久化与报警配置// Node-RED函数节点数据持久化逻辑 // 文件data-persistence.js // 连接到MySQL/InfluxDB等数据库 const database require(mysql); // 或 require(influx) // 数据处理函数 module.exports function(msg) { // 验证数据完整性 if (!msg.payload.timestamp || !msg.payload.value) { node.error(无效数据格式, msg); return null; } // 构建插入语句 const query { sql: INSERT INTO sensor_data (timestamp, device_id, value, status) VALUES (?, ?, ?, ?), values: [ new Date(msg.payload.timestamp), msg.payload.deviceId, msg.payload.value, msg.payload.status || normal ] }; // 执行数据库操作 dbConnection.execute(query, (error, results) { if (error) { node.error(数据库写入失败: error.message, msg); } else { node.log(数据持久化成功: msg.payload.deviceId); } }); // 检查报警条件 if (msg.payload.status overrange || msg.payload.value 100) { // 触发报警流程 msg.alarm { level: warning, message: 设备 ${msg.payload.deviceId} 数值超限, value: msg.payload.value }; return [msg, null]; // 输出到报警分支 } return msg; // 正常数据输出 };6. 完整项目实战温度监控系统6.1 系统架构设计温湿度传感器 → LabVIEW数据采集 → MQTT发布 (sensors/temperature) ↳ MQTT发布 (sensors/humidity) MQTT Broker (EMQX) ← Node-RED订阅处理 → 数据持久化 (MySQL) ↳ 实时显示 (Dashboard) ↳ 超限报警 (Email/短信) ↳ 控制指令发布 (control/commands) LabVIEW控制端 ← MQTT订阅 (control/commands) → 执行设备控制6.2 LabVIEW端完整代码实现# 文件Temperature_Monitoring_Main.vi # 主循环结构 # 初始化阶段 # 1. MQTT客户端初始化 → 连接Broker # 2. 订阅控制主题factory/control/commands # 3. 启动数据采集循环 # 数据采集循环每5秒执行 # 1. 读取传感器数据模拟或实际硬件 # 2. 封装JSON格式{timestamp:当前时间,value:温度值,deviceId:sensor_001} # 3. 发布到主题sensors/temperature # 4. 错误处理和重连机制 # 控制指令回调 # 1. 解析接收到的JSON指令 # 2. 根据指令类型执行相应操作 # 3. 发布执行结果到factory/control/response # 退出处理 # 1. 取消订阅 # 2. 断开MQTT连接 # 3. 释放资源6.3 Node-RED端完整流程配置{ flows: [ { id: temperature-flow, nodes: [ { id: temp-mqtt-in, type: mqtt in, topic: sensors/temperature, qos: 1, broker: default-broker, name: 温度数据输入 }, { id: temp-validator, type: function, name: 数据验证, func: if (msg.payload typeof msg.payload.value number) {\n msg.valid true;\n} else {\n msg.valid false;\n node.error(无效温度数据, msg);\n}\nreturn msg; }, { id: temp-alert, type: function, name: 报警检查, func: if (msg.valid msg.payload.value 80) {\n msg.alert {\n level: critical,\n message: 温度过高: ${msg.payload.value}°C,\n device: msg.payload.deviceId\n };\n return [msg, msg]; // 输出到两个分支\n}\nreturn [msg, null]; }, { id: temp-dashboard, type: ui_chart, name: 温度趋势图, group: monitoring-group, chartType: line }, { id: alert-notification, type: e-mail, name: 邮件报警, server: smtp.company.com, port: 587, to: operatorcompany.com } ] } ] }6.4 系统集成测试步骤启动MQTT Broker# 使用EMQX ./emqx start # 或使用Mosquitto mosquitto -c mosquitto.conf启动Node-REDnode-red运行LabVIEW程序打开Temperature_Monitoring_Main.vi配置Broker地址为实际IP点击运行按钮验证数据流查看Node-RED调试窗口是否有数据到达检查Dashboard图表是否正常更新测试报警触发功能7. 常见问题与深度排查7.1 连接类问题问题现象可能原因排查方法解决方案LabVIEW连接超时Broker服务未启动检查Broker进程状态启动Broker服务频繁断开重连网络不稳定或Keep Alive设置过短抓包分析MQTT心跳包调整Keep Alive时间认证失败用户名密码错误检查Broker认证配置修正凭据或禁用认证7.2 数据传输类问题问题现象可能原因排查方法解决方案Node-RED收不到数据主题不匹配或QoS不一致使用MQTT客户端订阅相同主题测试统一主题名称和QoS等级数据格式解析错误JSON格式错误或编码问题打印原始消息内容检查确保使用UTF-8编码消息丢失QoS等级为0或网络抖动启用MQTT日志查看消息流使用QoS 1或2确保可靠性7.3 性能优化问题问题现象可能原因排查方法解决方案LabVIEW界面卡顿消息处理阻塞UI线程检查回调函数执行时间使用队列或异步处理Node-RED内存占用高消息堆积或内存泄漏监控Node-RED内存使用优化流程及时清理消息网络带宽占用大消息频率过高或数据量大统计网络流量降低采样频率或压缩数据7.4 高级调试技巧使用MQTT.fx进行中间调试订阅LabVIEW发布的主题验证数据格式向Node-RED订阅的主题发布测试消息监控QoS等级和Retain标志是否正确启用详细日志# Mosquitto调试模式启动 mosquitto -v # EMQX启用调试日志 ./emqx console # 交互式控制台网络抓包分析# 使用tcpdump抓取MQTT流量 tcpdump -i any -w mqtt.pcap port 1883 # 使用Wireshark分析pcap文件过滤mqtt协议8. 生产环境最佳实践8.1 安全配置要点Broker安全加固# mosquitto.conf 安全配置 allow_anonymous false # 禁用匿名访问 password_file /etc/mosquitto/passwd # 密码认证 listener 1883 0.0.0.0 # 监听所有接口 # SSL/TLS配置生产环境必须 listener 8883 certfile /etc/mosquitto/certs/server.crt keyfile /etc/mosquitto/certs/server.key主题命名安全避免使用通用主题如test、data采用项目前缀projectA/sensors/temperature设备级隔离tenant/deviceID/data-type8.2 高可用架构设计MQTT Broker集群LabVIEW客户端 → 负载均衡器 → EMQX节点1 ↳ EMQX节点2 ↳ EMQX节点3 Node-RED实例1 → 共享订阅 → 所有Broker节点 Node-RED实例2 → (负载均衡)数据持久化策略重要数据MySQL/PostgreSQL关系型存储时序数据InfluxDB/TDengine专门优化缓存层Redis集群提升读取性能8.3 监控与运维关键监控指标Broker连接数、消息吞吐量系统资源使用率CPU、内存、网络消息延迟和丢失率客户端连接状态自动化运维脚本#!/bin/bash # MQTT系统健康检查脚本 check_broker() { if pgrep -x mosquitto /dev/null; then echo MQTT Broker: RUNNING return 0 else echo MQTT Broker: STOPPED return 1 fi } check_node_red() { if curl -s http://localhost:1880/health /dev/null; then echo Node-RED: HEALTHY return 0 else echo Node-RED: UNHEALTHY return 1 fi } # 执行检查 check_broker check_node_red9. 扩展应用场景9.1 多协议网关集成LabVIEW作为协议转换网关集成Modbus、OPC UA、CAN总线等工业协议Modbus设备 → LabVIEW协议转换 → MQTT发布 → Node-RED处理 OPC UA服务器 ↳ 数据标准化 ↳ 云端持久化 CAN总线设备 ↳ 实时监控9.2 边缘计算架构在边缘节点部署轻量级方案传感器 → LabVIEW边缘处理 → 本地MQTT Broker → 本地Node-RED ↳ 异常数据上传云端 ↳ 条件触发云端同步9.3 移动端监控集成通过MQTT WebSocket支持移动端访问// 浏览器端MQTT客户端 const client mqtt.connect(ws://broker.example.com:8083/mqtt) client.subscribe(sensors/temperature, (err) { if (!err) { console.log(订阅成功) } }) client.on(message, (topic, message) { updateDashboard(JSON.parse(message.toString())) })这套LabVIEW MQTT Node-RED组合拳的真正价值在于它让硬件控制与业务逻辑实现了彻底解耦。LabVIEW专注于自己擅长的硬件交互Node-RED发挥可视化流程编排的优势MQTT则提供可靠的消息桥梁。下次当你面临工业自动化项目时不妨尝试这种架构你会发现系统维护和功能扩展变得前所未有的简单。建议将本文中的配置示例和代码片段保存为模板在实际项目中根据具体需求调整。特别是主题命名规范和安全配置这些细节往往决定了项目的长期可维护性。

相关新闻

云南旅行社服务质量实战测评与避坑指南

云南旅行社服务质量实战测评与避坑指南

1. 项目背景与核心价值作为一个在旅游行业摸爬滚打8年的老司机,我每年都要带团队实地考察全国各地的旅行社服务质量。去年我们用整整三个月时间,在云南深度测试了37家地接社的服务体系,最终整理出这份含金量十足的实战测评报告。不同于网络上…

2026/7/23 11:09:15阅读更多 →
从“橱窗和窗户分不清”到月流水30万+:一个50岁书法老师的数字化生存实录

从“橱窗和窗户分不清”到月流水30万+:一个50岁书法老师的数字化生存实录

本文不卖课、不教做号,只讲一个真实的技术外溢案例。 如果你有一门手艺/一套方法论/一个产品,却不知道怎么让更多人知道——这篇值得看完。“你脑子里那套‘理所应当’的东西,就是别人愿意付费的资产。”前言:为什么一个技术社区要…

2026/7/23 11:09:15阅读更多 →
BQ28Z610阻抗跟踪算法:从核心原理到RSOC平滑、均衡配置实战

BQ28Z610阻抗跟踪算法:从核心原理到RSOC平滑、均衡配置实战

1. 项目概述与核心价值在电池管理系统(BMS)的开发与调试中,最令人头疼的问题莫过于电量计的“跳变”和“不准”。你是否有过这样的经历:设备明明显示还有30%的电,一运行某个高负载应用,电量瞬间掉到10%甚至…

2026/7/23 11:07:15阅读更多 →
AiBrain Command Center-S

AiBrain Command Center-S

AiBrain Command Center-SAiBrainBox-B(单兵/小队节点)AiBrainBox-E(无人平台节点)AiBrain Command Center(排/连/营级指挥节点)AiBrainOS(Lattice式分布式自治系统)分级指挥体系&am…

2026/7/23 12:39:29阅读更多 →
MIGM-Shortcut:AI图像生成4倍加速技术解析

MIGM-Shortcut:AI图像生成4倍加速技术解析

1. 项目概述:MIGM-Shortcut如何实现AI图像生成4倍加速在文本生成图像领域,掩码图像生成模型(MIGM)近年来展现出惊人的创作能力,但其生成速度始终是制约商业化应用的瓶颈。传统MIGM模型需要20-30步迭代才能生成高质量图像,而上海AI…

2026/7/23 12:39:29阅读更多 →
低成本论文降AI方案:TextHumanizer与StyleTransferPro实战

低成本论文降AI方案:TextHumanizer与StyleTransferPro实战

1. 项目概述:低成本论文降AI方案解析去年帮学弟修改毕业论文时,我发现Turnitin等主流查重系统开始标记AI生成内容。当时用Grammarly改写三遍仍被识别,最终在GitHub某个学术工具讨论区发现了这套组合方案。实测用47.5元成本,成功将…

2026/7/23 12:39:29阅读更多 →
K8s 部署 Kafka (KRaft) + SASL/SCRAM-SHA-512 踩坑与终极实战指南

K8s 部署 Kafka (KRaft) + SASL/SCRAM-SHA-512 踩坑与终极实战指南

这是一份基于前面排坑与实践沉淀的 Kafka (KRaft 模式) SASL/SCRAM-SHA-512 安全认证 的完整 Helm 部署教程。架构包含了声明式的用户管理、动态注册脚本、全流程对齐的 SCRAM 加密机制以及高可用存储配置。📖 教程目录项目目录结构完整配置文件values.yamltemplat…

2026/7/23 12:39:29阅读更多 →
太好了!千问App给新用户发8元红包啦!下载后只要输入 千问新人福利uqo6UY 即可领取8元通用立减券,简单又好用,快来领取吧!

太好了!千问App给新用户发8元红包啦!下载后只要输入 千问新人福利uqo6UY 即可领取8元通用立减券,简单又好用,快来领取吧!

千问官方给的最新福利券,只要是新用户下载千问官方App然后输入千问新人福利uqo6UY 这个最新口令最后就可以直接领取8元新用户无门槛优惠券这个8元的立减券可以免费喝一杯奶茶,可用于点外卖、打车等生活服务场景,这炎热的夏季,让我…

2026/7/23 12:39:29阅读更多 →
网站性能优化:带宽、CDN与对象存储的关键作用

网站性能优化:带宽、CDN与对象存储的关键作用

1. 为什么网站打开慢不一定是服务器性能问题 很多运维人员遇到网站打开慢的问题时,第一反应就是升级服务器配置。但根据我多年网站优化的经验,服务器性能往往不是瓶颈所在。最近处理的一个电商网站案例就很典型:客户将2核4G的服务器升级到8核…

2026/7/23 12:37:29阅读更多 →
Go语言静态资源打包方案对比与实践指南

Go语言静态资源打包方案对比与实践指南

1. 项目背景与核心需求在Go语言开发中,我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源,还是配置文件、证书等,都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下,但这…

2026/7/23 0:56:31阅读更多 →
Go语言实现高性能LDAP认证服务的架构与实践

Go语言实现高性能LDAP认证服务的架构与实践

1. 项目背景与核心价值LDAP(轻量级目录访问协议)作为企业级身份认证的黄金标准,已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时,发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…

2026/7/23 0:56:31阅读更多 →
【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

更多请点击: https://intelliparadigm.com 第一章:AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”,而是以可解释、可审计、可迭代的方式,赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…

2026/7/23 0:56:31阅读更多 →
Chitchatter完整指南:免费开源的终极点对点安全聊天工具

Chitchatter完整指南:免费开源的终极点对点安全聊天工具

Chitchatter完整指南:免费开源的终极点对点安全聊天工具 【免费下载链接】chitchatter Secure peer-to-peer chat that is serverless, decentralized, and ephemeral 项目地址: https://gitcode.com/gh_mirrors/ch/chitchatter Chitchatter是一款革命性的安…

2026/7/23 0:00:28阅读更多 →
从单点好评到指数级传播:AI副业主理人必须掌握的4层口碑渗透模型(含ROI测算表)

从单点好评到指数级传播:AI副业主理人必须掌握的4层口碑渗透模型(含ROI测算表)

更多请点击: https://intelliparadigm.com 第一章:从单点好评到指数级传播:AI副业主理人必须掌握的4层口碑渗透模型(含ROI测算表) 当AI副业主理人不再仅满足于单次服务交付,而是主动构建可复用、可裂变、可…

2026/7/23 0:00:28阅读更多 →
油泥处理设备哪里能买到

油泥处理设备哪里能买到

油泥处理设备哪里有?这是许多从事油田、炼化、清罐业务的从业者最关心的问题。根据河南三丰环保设备有限公司的行业经验,选购油泥处理设备的核心在于设备能否适配当地环保法规与原料特性,而非单纯看价格。该公司总经理王钦田先生指出&#xf…

2026/7/23 0:00:28阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/22 22:56:18阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/22 18:55:50阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/22 18:55:50阅读更多 →