
【硬核】老瓶装新酒,AI + 网页界面 + LabVIEW 数据采集架构
本项目是一个探索性的全栈混合编程架构方案。它展示了如何将后端硬件数据采集(通过 LabVIEW)与现代化的前端拟态 (Neumorphic) UI 技术(通过 HTML5 + Electron)进行结合。
这种架构打破了 LabVIEW 传统前面板设计的局限,赋予了工业软件与商业级网页相同的灵动动画、实时绘图与跨平台展现能力。
这个架构之前就已经存在了,但是受到了很多技术壁垒制约,对于图形化 LabVIEW 编程者很不友好,需要掌握的太多。但是如今编写网页 AI 太擅长了,开发效率和体验完全不一样了。
✨ 效果展示


从运行效果上看,全部都是绿色 exe 执行,环境依赖性弱,并且生命周期依旧受 LabVIEW 进行管控。
✨ 优点
- 极致的视觉体验:纯原生 HTML5 与 CSS 打造的 Neumorphic 拟态风格,包含极具阻尼感的陷入式按钮交互与流畅的侧边栏切换。(AI 完全编写)
- 高性能前端容器:基于 Electron 将 HTML5 页面封装为独立的本地 EXE 应用程序,免受浏览器环境限制,并且可以通过 LabVIEW 一键静默启动。(AI 完全编写)
- 全双工解耦通信:采用 MQTT 轻量级物联网协议。前后台不共享内存,不存在指针传递导致的崩溃,通信完全基于 JSON 字符串。
- 零外部框架依赖:前端纯手写原生 JavaScript 和 CSS Canvas 实现动态高频波形绘制,无需加载沉重的第三方图表库。(AI 完全编写)
- 硬件天然兼容:LabVIEW 只负责高速采集、通信与文件储存(LabVIEW 天然优势)。
📂 目录结构说明
1. HTML (ElectronApp) 目录结构
ElectronApp/
├── index.html # UI 前端源码(包含所有 HTML 骨架、拟态 CSS 样式与业务逻辑)
├── main.js # Electron 主进程源码(负责窗口管理与底层 MQTT 连接)
├── preload.js # 上下文隔离的安全沙盒网关(ContextBridge)
├── package.json # Node.js 依赖配置与构建脚本
└── LabVIEW对接指南.md # 给 LabVIEW 工程师专门准备的 JSON 通信与解析字典
2. LabVIEW 目录结构

🚀 运行与构建说明
以下构建准备工作完全可交给 AI 提示词进行:
# 1. 开发调试(确保已安装 Node.js)
# 安装项目依赖(Electron 及 MQTT.js)
npm install
# 启动开发窗口
npm start
# 注意:启动前请确保本地或局域网中运行了 MQTT Broker (如 Mosquitto),否则界面会显示“离线 / 异常”。
# 2. 打包生成 EXE
# 执行 electron-builder 进行一键打包
npm run build
# 打包完成后,产物将生成在 dist 目录下:
# · dist/win-unpacked/LabVIEW Core Console.exe:免安装绿色版运行入口(推荐用于 LabVIEW 调用)。
# · dist/LabVIEW Core Console Setup 1.0.0.exe:独立的 Windows 安装包。
📡 数据通信协议概览
架构采用基于 JSON 的标准化消息体,避免 LabVIEW 端产生变体 (Variant) 类型错误。完整格式与 LabVIEW 端的调用示例请参考源码包中的 LabVIEW对接指南.md。
| 方向 | 主题 (Topic) | 说明 |
|---|---|---|
| 下行 (UI 控底层) | electron/to/labview |
发送页面切换、用户点击按钮指令、UI 开关状态等。 |
| 上行 (底层驱 UI) | labview/to/electron |
接收传感器数据、高速采样波形数组等。 |
标准化 JSON 结构
无论是何种业务逻辑,报文均采用固定的五元素键值对:
{
"action": "...",
"page": "...",
"cmd": "...",
"key": "...",
"val": "..."
}
LabVIEW 只需要订阅 electron/to/labview,数据发布只需发送到 labview/to/electron。


🚀 总结
Demo 源码与运行环境均已完成打包与调优。

后台发送暗号:
HTML
可以直接免费获取全套 Demo 源码。

觉得文章不错?点个赞支持一下博主吧!


💬 极客讨论区 (0)
欢迎发表技术见解、解耦思路或留言交流
还没有人发表评论,快来抢占沙发吧!