SS

shunnet/skills

Developer tools
20 stars Quality 37 Trend 31

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 / BLoc XAML 标记扩展,运行时热切换
  • 🧩 MVVM 架构 — BindNotify 表达式属性基类 + InjectionWpf DI容器 + 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 构建管理界面——覆盖从数据采集、消息传输到人机交互的完整链路。

🌍 相关链接

🔗 链接 说明
🌐 官网 官方网站
📚 NuGet NuGet 包仓库
💻 GitHub 源代码仓库
🔌 Daq 工具 插件化数采工具
📝 博客 技术博客

🙏 感谢使用 Snet 工业物联网技能集

View this README on GitHub

Recommended Tools

Try a different keyword or remove a filter.

Install

npx skillfish add shunnet/skills