Snet 工业物联网生态的基于AI智能体的四个核心技能,覆盖从"使用现有协议"到"开发自定义插件"再到"WPFUI应用"的完整流程
Overview
🔄 覆盖从「 采集转发 」→「 插件开发 」→「 桌面应用 」的完整 Snet 生态 🌐 官方网站 · 📚 NuGet · 💻 GitHub · 🔌 Daq 工具 - 🏭 — 西门子/Modbus/三菱/欧姆龙/OPC UA/罗克韦尔/台达/基恩士/松下/倍福/汇川/英威腾/麦格米特/科伺/东方马达/宇电 - 🗄️ — SqlServer/MySQL/Oracle/SQLite + TEP 非标设备 - 📡 — MQTT/Kafka/RabbitMQ/RocketMQ/NetMQ/Netty - 🎮 — 无需真实 PLC 即可测试 - ⚡ — 配置 AddressMqParam,框架自动完成 读取→格式化→MQ生产 AI 先用大白话问用户(🏷️ 牌子型号、🔌 怎么连的、📍 IP多少、📊 读什么数据、📨 发到哪里),确认后再生成代码。 帮助用户直接使用 Snet 框架完成消息生产与消费,覆盖 6 种主流消息中间件。 - 📨 — MQTT(Client/Broker/WebSocket)、Kafka、RabbitMQ、RocketMQ、NetMQ、Netty - 🔗 — Produce/Consume/OnDataEventAsync 用法一致,切换中间件不改业务逻辑 - 🔄 — AddressMqParam 配置 + config/mq/ 注册,采集数据自动转发 - 🛠️ — 端口/认证/ResponseType/实例注册等常见问题速查 AI 先用大白话问用户(📨 用什么中间件、📍 Broker 地址、🔑 认证、📬 主题、📤 发还是收),确认后再生成代码。 用户描述设备 → AI 按契约生成插件代码 → 打包 ZIP 上传 Daq 工具
README
📦 SKILLS
🛠️ Snet 工业物联网技能集
🌐 中文 · 🇺🇸 English
🔄 覆盖从「采集转发」→「插件开发」→「桌面应用」的完整 Snet 生态
🌐 官方网站 · 📚 NuGet · 💻 GitHub · 🔌 Daq 工具
📋 技能一览
| 技能 | 目录 | 定位 | 🗣️ 用户说一句话 → |
|---|---|---|---|
| 🔌 DAQ-Skill | DAQ-Skill/ |
🏭 使用库 — 数据采集与转发 | “连接西门子S7-1500,IP 192.168.0.1,读取DB1.0,MQTT转发到broker” |
| 📡 MQ-Skill | MQ-Skill/ |
📨 使用库 — 消息中间件收发 | “通过MQTT连接 127.0.0.1:1883,订阅 factory/line1 并打印消息” |
| 🧩 PluginDev-Skill | PluginDev-Skill/ |
⚙️ 开发插件 — 自定义 IDaq/IMq 插件对接 Daq 工具 | “开发一个温湿度传感器插件,TCP发送 01 03 00 00 00 02,解析响应字节” |
| 🖥️ WpfUI-Skill | WpfUI-Skill/ |
🪟 界面开发 — WPF 桌面应用 | “创建一个监控面板,深色主题,中英文切换,LED状态灯,属性编辑器” |
🔌 DAQ-Skill — 工业物联网数据采集
一句话: 用户描述需求 → AI 自动生成完整可运行代码
🎯 用途
帮助用户直接使用 Snet 框架完成数据采集与转发,无需开发插件。
✨ 能力
- 🏭 35+ 种工业协议 — 西门子/Modbus/三菱/欧姆龙/OPC UA/罗克韦尔/台达/基恩士/松下/倍福/汇川/英威腾/麦格米特/科伺/东方马达/宇电
- 🗄️ 数据库采集 — SqlServer/MySQL/Oracle/SQLite + TEP 非标设备
- 📡 6 种消息中间件转发 — MQTT/Kafka/RabbitMQ/RocketMQ/NetMQ/Netty
- 🎮 内置模拟库 — 无需真实 PLC 即可测试
- ⚡ 自动数据转发 — 配置
AddressMqParam,框架自动完成 读取→格式化→MQ生产
💬 场景示例
🗣️ "连接西门子S7-1500,读DB1.0,MQTT转发到1883端口"
🗣️ "连接Modbus TCP 192.168.0.2:502,读取40001-40010,转发到Kafka"
🗣️ "连接OPC UA,读取所有Tag,通过MQTT转发"
🗣️ "从SqlServer数据库查询温度数据,MQTT转发"
🗣️ 交互流程
AI 先用大白话问用户(🏷️ 牌子型号、🔌 怎么连的、📍 IP多少、📊 读什么数据、📨 发到哪里),确认后再生成代码。
📄 文件: SKILL.md(92KB,15章)
📡 MQ-Skill — 消息中间件应用
一句话: 用户描述消息需求 → AI 自动生成完整可运行的中间件收发代码
🎯 用途
帮助用户直接使用 Snet 框架完成消息生产与消费,覆盖 6 种主流消息中间件。
✨ 能力
- 📨 6 种消息中间件 — MQTT(Client/Broker/WebSocket)、Kafka、RabbitMQ、RocketMQ、NetMQ、Netty
- 🔗 统一 IMq 接口 — Produce/Consume/OnDataEventAsync 用法一致,切换中间件不改业务逻辑
- 🔄 与 DAQ 联动 —
AddressMqParam配置 +config/mq/注册,采集数据自动转发 - 🛠️ 故障排查 — 端口/认证/ResponseType/实例注册等常见问题速查
💬 场景示例
🗣️ "MQTT 连接 127.0.0.1:1883,订阅 factory/line1 打印消息"
🗣️ "Kafka 发送 JSON 到集群 192.168.0.1:9092,topic 为 sensors"
🗣️ "RabbitMQ 用 topic 交换机收发消息"
🗣️ "NetMQ 做发布订阅,地址 tcp://127.0.0.1:8866"
🗣️ 交互流程
AI 先用大白话问用户(📨 用什么中间件、📍 Broker 地址、🔑 认证、📬 主题、📤 发还是收),确认后再生成代码。
📄 文件: SKILL.md(9 章)
🧩 PluginDev-Skill — 插件开发
一句话: 用户描述设备 → AI 按契约生成插件代码 → 打包 ZIP 上传 Daq 工具
🎯 用途
帮助用户开发自定义协议插件,部署到 Snet.Iot.Daq 工具中使用。覆盖 IDaq(数据采集)与 IMq(消息中间件)两类插件。
✨ 能力
- 📋 严格插件契约 — IDaq 8 个抽象方法 / IMq 6 个抽象方法 + 2 个虚属性(CN/CD;AP 虚属性已移除)
- 📡 5 种内置通信类 — TCP/UDP/WebSocket/Serial/HTTP
- 💾 数据缓存 — 进程缓存
ProcessCacheOperate+ 跨进程共享缓存ShareCacheOperate - 🔍 反射调用 —
ReflectionOperate动态加载外部 DLL、调用方法、注册事件 - 📐 数据类规范 — Basics 继承 SCData(DAQ)/独立类(MQ)、ProtocolType 枚举、Attribute 标注
- 🔄 核心数据链 —
采集原始数据 → AddressHandler.ExecuteDispose → 自动类型转换+反射解析+MQ转发 - 📦 打包热插拔 — ZIP → 上传 Daq 工具 → 运行时加载/卸载(MQ 插件需
config/mq/配置注册)
🔑 核心原则
| 🧠 AI 自行决定 | 📏 硬性契约 |
|---|---|
| 采集什么、用什么方式 | 数据怎么封装、方法返回什么 |
💬 场景示例
🗣️ "开发一个温湿度传感器插件,TCP 发送 Modbus 帧,解析温度湿度"
🗣️ "开发一个 HTTP JSON 传感器插件,GET API 返回 JSON 数据"
🗣️ "开发一个文件监控插件,FileSystemWatcher 监控日志文件"
🗣️ 交互流程
AI 先用大白话问用户(🏷️ 设备是什么、🔌 怎么连的、📋 协议规矩是什么、📊 数据长什么样),确认后再生成代码。
📄 文件: SKILL.md(105KB,12章)
🖥️ WpfUI-Skill — WPF 桌面应用开发
一句话: 用户描述界面 → AI 生成完整的 WPF 桌面应用程序
🎯 用途
帮助用户基于 Snet WPF 框架快速构建现代化桌面应用,覆盖窗口管理、MVVM绑定、皮肤切换、多语言、内置控件等。
✨ 能力
- 🪟 WindowBase 窗口基类 — 自定义标题栏、DPI感知、加载动画、Win32 集成
- 🎨 深色/浅色主题 — Material Design + Wpf.Ui 双引擎,一键切换,JSON 持久化
- 🌍 中英文多语言 —
LocExtension/BLocXAML 标记扩展,运行时热切换 - 🧩 MVVM 架构 —
BindNotify表达式属性基类 +InjectionWpfDI容器 + EventCommand - 🎛️ 6 大内置控件 — ButtonControl / ComboBoxControl / TextBoxControl / LedGaugeControl / PageBarControl / PropertyControl
- 🔧 PropertyGrid 属性编辑器 — 40+ 注解,分类/可见性/条件启用/滑块/文件选择器/颜色选择器
- 🖱️ 拖拽控件 — 8向缩放手柄 + 拖拽移动 + 动画拖拽创建
- 💬 消息对话框 — OK / OKCancel / Yes / YesNo,Material Design 风格
- 🔔 系统托盘 — NotifyIcon 最小化到托盘,右键菜单
💬 场景示例
🗣️ "创建一个WPF监控面板,深色主题,中英文切换,左边数据表格,右边属性编辑器"
🗣️ "做一个PLC调试工具,有连接按钮、LED状态灯、参数配置面板"
🗣️ "做一个可拖拽的设备布局编辑器,控件可以拖动和缩放"
🗣️ "做一个多页签的设置窗口,用PropertyGrid编辑配置"
🗣️ 交互流程
AI 先用大白话问用户(🏷️ 窗口需求、🎨 主题偏好、🌍 语言需求、🎛️ 需要哪些控件、📊 数据绑定结构),确认后生成完整 XAML + C# 代码。
📄 文件: SKILL.md(29章)
🔗 技能关系
┌─ 🔌 DAQ-Skill ───────────────────────────────────────┐
│ 使用现成协议库(Snet.Siemens / Modbus / OPC ...) │
│ → 配置连接参数 + 地址 → 采集 → 订阅 → 自动转发 │
└───────────────────────┬───────────────────────────────┘
│
│ ⬇️ 数据转发目标(AddressMqParam)
↓
┌─ 📡 MQ-Skill ────────────────────────────────────────┐
│ 使用现成消息中间件(MQTT / Kafka / RabbitMQ / │
│ RocketMQ / NetMQ / Netty)→ 生产/消费 → 统一 IMq │
└───────────────────────┬───────────────────────────────┘
│
│ ⬇️ 如果现成协议/中间件不满足需求...
↓
┌─ 🧩 PluginDev-Skill ─────────────────────────────────┐
│ 开发自定义插件:IDaq 插件(继承 DaqAbstract, │
│ 实现 8 个方法)+ IMq 插件(继承 MqAbstract, │
│ 实现 6 个方法) │
│ → 用内置通信类(TcpClientOperate等) → Read/Write │
│ → 数据经 ExecuteDispose 处理 → 自动类型转换+转发 │
│ → 打包 ZIP → 上传 Daq 工具 → 热插拔加载 │
└───────────────────────┬───────────────────────────────┘
│
│ ⬇️ 需要桌面应用管理采集...
↓
┌─ 🖥️ WpfUI-Skill ─────────────────────────────────────┐
│ 构建 WPF 桌面监控/管理应用 │
│ → WindowBase 窗口 + MVVM 架构 │
│ → 深色/浅色主题 + 中英文多语言 │
│ → Button/ComboBox/TextBox/LedGauge/PageBar │
│ → PropertyGrid 属性编辑器 + 拖拽控件 │
│ → 消息对话框 + 系统托盘 │
└───────────────────────────────────────────────────────┘
💡 一句话总结: DAQ-Skill 用好现成协议,MQ-Skill 用好现成中间件,PluginDev-Skill 开发新协议/新中间件插件,WpfUI-Skill 构建管理界面——覆盖从数据采集、消息传输到人机交互的完整链路。
🌍 相关链接
🙏 感谢使用 Snet 工业物联网技能集
Recommended Tools
Try a different keyword or remove a filter.
Install
npx skillfish add shunnet/skills