乐于分享
好东西不私藏

开源工业数采工具:插件热插拔、OPC UA/MQTT内置、开箱即用

开源工业数采工具:插件热插拔、OPC UA/MQTT内置、开箱即用

工业物联网有个尴尬的现状——数据采集这一层,要么花几万块买组态软件,要么用 Kepware 这种按点位收费的商业中间件,要么自己从零写通信协议栈。

开源方案有没有?有,但大多停留在 demo 阶段,跑通一个 Modbus 就敢发出来。

今天这个不一样。

这是什么?

Snet.Iot.Daq——一款基于 .NET 10 WPF 架构的工业物联网插件化数据采集转发工具。

一句话说清楚:你有一堆 PLC、仪表、传感器需要采集数据,这个工具帮你把数据读出来,存下来,转发到 OPC UA / MQTT / Kafka / RabbitMQ,全程零代码,拖拽配置。

而且它内置了 OPC UA Server 和 MQTT Broker——不用再单独装一个 MQTT 服务,不用再配一个 OPC UA 网关,一个软件全搞定。

三层架构:清晰的边界

┌─────────────────────────────────┐│   Snet.Iot.Daq (WPF 桌面应用)    │  ← UI 层:MVVM + Material Design├─────────────────────────────────┤│   Snet.Iot.Daq.Core (类库)       │  ← 核心层:业务逻辑 / 数据模型 / 服务├─────────────────────────────────┤│   Shunnet.top 工业通信库          │  ← 底层:插件框架 / 通信协议 / 工具└─────────────────────────────────┘

关键设计决策:Core 层不依赖 WPF。

这意味着什么?Core 层可以被 Avalonia、MAUI、甚至 Linux 控制台程序复用。作者已经在架构层面预留了跨平台适配器。现在只发布 Windows 版本,但底层不锁死。

这在工业软件里是少见的远见——大部分 WPF 工具连 UI 和业务逻辑都混在一起,改都改不动。

功能矩阵:不只是"采集"

我把功能分成3类来看:

1. 采集层:插件化,协议无限扩展

能力
说明
插件热插拔
运行时加载/卸载采集插件,不需要重启程序
NuGet 插件市场
应用内在线浏览、下载、一键安装
双插件类型
DAQ(数据采集类)+ MQ(消息队列类)
自动组包
离散地址智能合并批量读取,降低通信开销
字节级协议解析
可视化配置字节/位/编码/数据格式,支持自定义协议
设备软启动
软件启动自动开始采集,无需手动干预

"自动组包"这个功能,懂的人会心动。

PLC 采集有个经典问题:你要读的地址是 D100、D102、D105,分散的。如果逐个读,三次请求三次响应,慢得要命。自动组包把它们合并成一次请求读 D100-D105,取完再拆开分配,通信效率直接翻倍。

2. 传输层:OPC UA + MQTT 内置

这是这个项目最大的卖点。

组件
能力
OPC UA Server
支持认证、证书、地址空间管理、持久订阅
MQTT Broker
支持客户端管理、认证、最大连接数控制

注意:不是 OPC UA Client,是 Server。

区别巨大。Client 是去连别人的 OPC UA 服务,Server 是自己就是一个 OPC UA 服务端——别的系统来连它。

这意味着什么?你的 MES、ERP、SCADA 想读 PLC 数据,直接通过 OPC UA 协议连到 Daq 就行。Daq 在中间做了一层数据汇聚和协议转换。

架构变成这样:

PLC/设备 ──Modbus/S7/自定义──→ Daq ──OPC UA──→ MES/ERP/SCADA                                    └─MQTT──→ 云平台/数据中台                                    └─Kafka──→ 大数据流处理

一个软件,解决"设备协议五花八门,上层系统想统一接口"这个工业物联网的核心痛点。

3. 数据层:SQLite + 实时图表

功能
说明
SQLite 内置
采集数据本地存储,无需安装数据库服务
ScottPlot 实时图表
多曲线实时绘制,支持皮肤切换、历史数据
系统监控仪表盘
CPU/GPU/RAM 实时监控

SQLite 在工业现场的优势:单文件、无服务、零维护、断电不丢数据。对于边缘采集网关来说,这是最优解。

适用场景

场景
怎么用
工厂自动化数据采集
PLC 数据集中采集,转发到 MES/ERP
PLC / 设备监控系统
多品牌 PLC 统一监控界面
IoT 边缘采集网关
工业现场到云平台的数据中转
OPC UA / MQTT 数据中转
协议转换+数据汇聚节点
自定义协议设备接入
字节级解析器配置非标协议

最典型的部署方式: 一台工业平板电脑装 Daq,接几台 PLC,通过 OPC UA 给车间 MES 供数据,通过 MQTT 给云端推数据。一台机器搞定一个车间的数据采集。


GitHub:/shunnet/Daq

声明:如以上内容有误或侵犯到你公司、机构、单位或个人权益,请联系我们说明理由,我们会配合,无条件删除处理。

End

往期推荐

基于 OpenClaw 研发的物联网AI智能体Box,IoT龙虾助手、设备管理、PLC设备接入、本地AI识别、摄像头管理等等应有尽有
ThingsKit 物联网平台,项目交付首选IoT平台,支持源代码与镜像包交付
Node-RED:开源的物联网与工业4.0的视觉化编排规则引擎,大厂都在用
一个超漂亮的数据可视化大屏开源项目(MIT协议),IoT数据大屏应用首选
他居然把「物联网平台」塞进「1000多块钱的边缘网关」里面,开箱即用!海量协议接入、设备管理、规则引擎、本地组态与告警、云边协同...

关注「赛博吴同学」

每日分享物联网、AI干货 | 开源项目 | 实战教程 | 实用工具