RIGOL示波器操作技能

SKILL研究检索
研究检索 未标注权限 许可证不明确
安装这个技能

通过 SCPI 命令经 LXI 网口远程操作示波器进行自动化测试。型号/IP 从 test_config.json 读取,SCPI 命令库由编程手册 PDF 一次性解析为 JSON(如 RIGOL_DS2302A.json),按提示词语义查找并执行命令,结果按通用技能格式输出 JSON。

一句话选型结论

按资料字段整理

RIGOL示波器操作技能是研究检索类的 Agent Skill,安装方式未标注,权限级别未标注,许可证不明确,有可直接复制的安装命令。技能本质是给模型读的说明书,效果取决于模型与客户端;装完先用一个小任务验证,再放进正式流程。

分类研究检索 安装方式未标注 权限级别未标注权限 许可证许可证不明确
累计安装 未标注 本周 未标注
GitHub 星标 未标注 仓库 未标注
下载量 未标注 技能市场下载数
权限级别 未标注权限 安装前请确认风险范围
许可证 许可证不明确 未说明

安装

未标注
在支持 Skills 的客户端里执行,装完问一句「你有哪些技能」验证
skillhub install user_337487bc/oscilloscope-operate-skill
  1. 1
    确认客户端支持

    确认你的客户端支持 Skills(Claude、Codex、Cursor 等),并升级到较新的版本。

  2. 2
    拿到技能文件

    执行上面的命令安装;也可以把仓库里的 SKILL.md 手动放进客户端的 skills 目录。

  3. 3
    刷新技能列表

    重新打开客户端,或刷新技能列表,让新放进来的技能被加载。

  4. 4
    验证是否生效

    问一句「你有哪些技能」,确认列表里出现它,再拿一个小任务试跑。

技能档案

研究检索
字段来自技能仓库与公开索引,中文说明由本站标注
作者 / 维护方user_337487bc仓库 未标注 · 版本 未标注
宿主客户端未标注技能可被这些客户端加载
安装方式未标注安装包 community
权限级别未标注权限安装前请确认风险范围
许可证未说明许可证不明确,商用前请自行确认条款
仓库可用性available技能仓库当前是否可访问
最近核验未标注上游最后核验时间 · 数据更新 1791625000
正文体量8.1 KBSKILL.md 原文大小,越大说明说明书写得越细

典型使用场景

3 类
按分类整理的常见用法,具体以 SKILL.md 为准
查资料并整理出处

让模型按主题查资料,并把引用来源整理成清单。

网页与文献要点提炼

把长文、论文、网页压成能直接看的要点。

竞品与行业汇总

按关键词汇总竞品动态与行业信息。

选择建议

装之前先看这几条
按条目字段给出的判断,不替你决定用不用

值得选的地方

  • 有可直接复制的安装命令,不用自己翻文档找入口。

先想清楚的地方

  • 没有标注权限级别,实际能做什么要装好后确认。
  • 许可证不明确,商用或二次分发前先到仓库确认条款。
  • 没有做站内核验,内容以作者仓库为准。
  • 技能只是说明书,实际效果取决于模型与客户端,装完先用小任务试一遍。

更适合

  • 需要在研究检索场景里给模型补一套做法的人。
  • 愿意先读一遍 SKILL.md、确认它会让模型做什么的人。

不太适合

  • 对许可证要求很严、必须明确可商用的人。
  • 只想装完就自动变强、不打算看说明书的人。

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
技能权限级别安装方式累计安装宿主客户端安装命令
RIGOL示波器操作技能当前 未标注权限 未标注 未标注 未标注 有
寻找技能 浏览器控制 GitHub 仓库 3120.0 万 Codex、Claude、Cursor 有
自我改进 Agent 接触敏感数据 ClawHub 市场 1646.4 万 OpenClaw 有
灵魂追踪 联网访问 GitHub 仓库 758.9 万 Codex、Claude、Cursor 有
自我完善 联网访问 ClawHub 市场 682.9 万 OpenClaw 有
微软代工厂 调用外部服务 GitHub 仓库 661.4 万 Codex、Claude、Cursor 有

SKILL.md 全文

8.1 KB
模型实际读到的说明书原文,来自技能仓库

Oscilloscope Operate Skill

通过 SCPI 命令 + LXI 网口 远程操作示波器的自动化测试技能。

  • 示波器型号与 IP 优先从全局配置(.openclaw/workspace/test_config/test_config.json)读取(示波器.model / 示波器.ip_address)
  • 回退规则:若全局 test_config.json 不存在,或存在但没有 示波器 配置 / model 或 ip_address 缺失,则自动回退读取本技能自带的 config/test_config.json
  • SCPI 命令库由一个一次性别解析步骤从编程手册 PDF 生成(纯文本解析,不用 LLM,节省 token)
  • 运行时按提示词语义在命令库中查找匹配命令;找不到则明确提示「不支持」
  • 连接通过 PyVISA,VISA 后端优先系统 VISA(NI-VISA),缺失时自动回退纯 Python 的 pyvisa-py;资源串 TCPIP0::<ip>::INSTR

入口脚本: oscilloscope_operate.py

依赖

  • PyVISA(Python 包):pip install pyvisa
  • VISA 后端(二选一):
  • 系统级 NI-VISA 驱动(推荐):https://www.ni.com/visa/
  • 或 pyvisa-py(纯 Python,TCPIP 够用,无需系统驱动):pip install pyvisa-py
    > 均未安装时无法枚举/打开资源;代码会自动优先系统 VISA,缺失则回退 @py。
  • 解析手册 PDF(一次性)还需 pdfplumber(首选)或 PyMuPDF(备选)

依赖自检:

python skills/oscilloscope-operate-skill/scripts/check_dependency.py

配置要求

示波器型号与 IP 的配置按以下优先级读取:

  1. 全局配置:workspace/test_config/test_config.json(或 workspace/test_config.json)
  2. 技能自带配置:skills/oscilloscope-operate-skill/config/test_config.json

> 只要全局配置存在且包含可用的 示波器.model + 示波器.ip_address,就用全局;
> 否则(全局不存在 / 全局缺 示波器 / model、ip 任一为空)自动回退到技能自带 config。

配置内容格式:

{
  "示波器": {
    "model": "RIGOL DS2302A",
    "ip_address": "192.168.2.35"
  }
}

命令行 --model / --ip 可覆盖配置文件值。

用法

0) 生成命令库(一次性,按手册型号各跑一次)

python skills/oscilloscope-operate-skill/scripts/scpi_manual_to_json.py \
  --pdf "C:/Users/admin/Downloads/MSO2000ADS2000AProgrammingGuideCN.pdf" \
  --model RIGOL_DS2302A
  • 输出:skills/oscilloscope-operate-skill/data/RIGOL_DS2302A.json
  • 纯正则/文本结构解析(优先 pdfplumber,回退 PyMuPDF),不消耗 LLM token
  • 后续有新型号示波器,用其手册再跑一次,生成 <厂家>_<型号>.json

1) 查询设备信息(调试用)

python skills/oscilloscope-operate-skill/scripts/oscilloscope_operate.py --query "*IDN?"

2) 按语义查找命令(不执行)

python skills/oscilloscope-operate-skill/scripts/oscilloscope_operate.py --find "打开通道1"

3) 按语义查找并执行

python skills/oscilloscope-operate-skill/scripts/oscilloscope_operate.py --do "读取波形数据"

4) 直接发送命令

python skills/oscilloscope-operate-skill/scripts/oscilloscope_operate.py --send ":CHANnel1:DISPlay ON"

命令行参数

参数 说明
--query <cmd> 查询命令(如 *IDN?),执行并返回结果
--send <cmd> 直接发送一条 SCPI 命令(写或查询自动判定)
--find <意图> 按语义查找候选命令,不连接设备
--do <意图> 按语义查找最佳命令并执行
--model <型号> 覆盖配置中的型号
--ip <IP> 覆盖配置中的 IP
--timeout <ms> VISA 超时(默认 8000ms)

命令库 JSON 结构

{
  "vendor": "RIGOL",
  "model": "RIGOL_DS2302A",
  "source_pdf": "...",
  "extractor": "pdfplumber",
  "page_count": 385,
  "command_count": 423,
  "commands": [
    {
      "command": ":CHANnel<n>:DISPlay",
      "command_short": ":CHANnel<n>:DISPlay",
      "is_query": false,
      "command_format": {
        "set": [":CHANnel<n>:DISPlay <bool>"],
        "query": [":CHANnel<n>:DISPlay?"],
        "raw": ":CHANnel<n>:DISPlay <bool> \n:CHANnel<n>:DISPlay?"
      },
      "function": "打开或关闭指定的模拟通道,或查询指定模拟通道的状态。",
      "parameters": {
        "raw": "名称 类型 范围 默认值 ...",
        "parameters": [
          {"name": "<n>", "type": "离散型", "range": "{1|2}", "default": "—"},
          {"name": "<bool>", "type": "布尔型", "range": "{{1|ON}|{0|OFF}}", "default": "1|ON"}
        ]
      },
      "return_format": "查询返回1 或0。",
      "notes": "",
      "example": "",
      "related_commands": ""
    }
  ]
}

测试流程

1. 读取 test_config.json → 示波器型号/ip_address
2. 加载 data/<型号>.json 命令库
3. ┌─ --find/--do:按提示词语义打分查找候选命令
   │   命中 → 取最佳命令(优先 set 格式)
   │   未命中 → result.passed=false,提示"不支持"
   └─ --query/--send:直接使用给定命令
4. 打开 VISA 会话 TCPIP0::<ip>::INSTR
5. 执行命令(查询用 query(),写用 write())
6. 保存结果 JSON → test_output/oscilloscope-operate-skill/
7. 关闭会话

输出

结果文件:test_output/oscilloscope-operate-skill/<时间戳>.json

{
  "skill": "oscilloscope-operate-skill",
  "time": "2026-09-18 11:41:02",
  "oscilloscope": {"model": "RIGOL DS2302A", "ip_address": "192.168.2.200"},
  "command": "*IDN?",
  "visa_resource": "TCPIP0::192.168.2.200::INSTR",
  "response": "RIGOL TECHNOLOGIES,DS2302A,DS2A000000001,00.03.04.SP2",
  "error": null,
  "result": {"passed": true, "messages": "命令执行成功:*IDN? -> RIGOL TECHNOLOGIES,..."}
}
字段 说明
oscilloscope 使用的型号与 IP
command 实际发送的命令
matched_command --do 模式下命中的命令库命令
candidates --find/--do 的候选命令(含得分)
supported 语义查找是否命中(false = 不支持)
visa_resource 使用的 VISA 资源串
response 查询返回值
error 错误信息(失败时)
result.passed 整体结果:true 成功 / false 失败
result.messages 结果描述

> 保持通用技能结果约定:result: {passed, messages} 为必备字段。

注意事项

  • 设备未连接时:连接失败会在 result.messages 明确给出原因(如未装 PyVISA / 未装 NI-VISA 驱动 / 连接超时)。
  • 命令不支持时:--find/--do 未命中返回 supported=false 且 result.passed=false,提示"不支持"。
  • 命令库与型号绑定:不同型号手册生成的 JSON 不同,运行时按 示波器.model 自动匹配 data/<型号>.json。
  • 手册 PDF 解析为一次性操作;日常测试只做「查命令 + 连设备 + 执行」。

变更记录

  • v1.0.1(2026-09-18):配置来源改为「全局优先 + 技能自带回退」。新增 _load_config_with_fallback():优先读 workspace/test_config/test_config.json;当全局不存在,或存在但缺 示波器 配置 / model、ip_address 任一为空时,自动回退读取技能自带 config/test_config.json。VISA 后端在系统 VISA 缺失时自动回退 pyvisa-py。新增实机验证的辅助脚本 read_screen_waveform.py(读屏幕波形 BYTE)与 save_screen_image.py(:DISPlay:DATA? 保存屏幕 BMP)。
  • v1.0.0(2026-09-18):首版。支持从编程手册 PDF 一次性解析生成 SCPI 命令库 JSON(RIGOL_DS2302A.json,423 条命令),支持按语义查找/执行命令,PyVISA+LXI 连接,.result{passed,messages} 结果输出。以 *IDN? 作为调试基准命令。

常见问题

5 问
答案由本站依据条目字段整理
RIGOL示波器操作技能怎么安装?

在支持 Skills 的客户端里执行:skillhub install user_337487bc/oscilloscope-operate-skill。安装方式为未标注。装完刷新技能列表或重开客户端。

RIGOL示波器操作技能支持哪些客户端?

资料没有标注宿主客户端,但只要客户端支持 Skills(Claude、Codex、Cursor 等),一般都能加载。

RIGOL示波器操作技能权限高吗,安全吗?

权限级别为未标注权限。安装前先看它会读取或写入哪些内容。

RIGOL示波器操作技能收费吗?

本站不代收费用,也没有标注具体价格。是否收费取决于技能本身和所用的模型或客户端,正式使用前按作者说明确认。

RIGOL示波器操作技能用什么许可证?

许可证标注为 未说明(许可证不明确)。商用或二次分发前请到仓库确认条款原文。

热门专题

按场景挑技能
全部专题 →

技能内容以作者仓库为准;分类、权限级别与许可证状态的中文说明为中文整理,最近核验 未标注。