Agent Skills
返回列表
BLE 蓝牙设备控制

BLE 蓝牙设备控制

IT 运维与安全 更新于 2026.08.29

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_a3d04062/ble-device-control。

技能介绍

要解决什么问题

在 Linux、macOS 或 Windows 上让 Agent 直接操作真实蓝牙低功耗(BLE)外设时,常见痛点是:命令语法分散在 airctl --help 里、连接状态未检查就读写 GATT、用户输入的 MAC、UUID 或写入载荷未校验便拼进 shell,以及通知流式输出导致 LLM 会话无法结束。本技能把 airctl 的常用路径固化为可复用的工作流,而不是临时猜命令。

技能如何工作

执行任何 airctl 操作前,技能要求先核对 前置条件(CLI 是否可用、包来源是否为 AirCtl),再按 决策树 选择场景:按设备名扫描并连接、读/写特征值、连接后保活,或为 Agent 做 快照轮询(airctl ble events --last N,避免无 --last 的常驻流)。

核心能力包括:

  • 输入校验:设备地址(MAC)、别名(仅字母数字与下划线)、UUID(短码或完整 128 位)、Handle(正整数)、写入数据(hex: / text: / base64: 或无前缀按 hex 处理)、扫描过滤用的设备名(禁止 shell 元字符)。
  • GATT 操作:scan → connect → characteristics → read / write,支持短 UUID(如 2A19)与完整 UUID。
  • 保活策略:优先订阅带 notify/indicate 的特征;否则周期性读只读特征;读写特征需谨慎。
  • 常见 UUID 对照表 与 错误处理表(未配对、特征不存在、未连接、守护进程未启动等)。

适用边界与注意点

技能依赖本机蓝牙适配器与平台栈(如 Linux 上 BlueZ 5.55+)。需要配对的外设必须先由系统在 OS 层完成配对,否则会出现 “Insufficient Authentication”。不会在未获用户确认的情况下自动执行 pip install;别名中必须用下划线而非连字符。文档未列出的子命令应先 airctl --help 核实,禁止跳过决策树步骤。

使用场景

  • 在实验室用设备广播名扫描心率带,连接后读取 `2A38` Body Sensor Location 验证固件是否暴露正确特征
  • 产线或台架上对未写死的 MAC 外设执行 `airctl ble write`,向 Alert Level 写入 `hex:01` 触发告警等级
  • 需要 Agent 持续感知 BLE 通知时,先 `notify` 订阅再循环 `ble events --last N` 拉取快照,避免流式命令挂死会话
  • 长时间抓包或脚本调试时,按特征 `properties` 选择 notify 订阅或周期性只读,防止外设中途掉线

适合人员

  • 嵌入式固件工程师,需要在真机上反复扫描、连接并读写心率/电量等标准 UUID 做联调
  • 硬件测试工程师,要按决策树先列 `characteristics` 再读电池百分比或厂商名,并处理未配对导致的鉴权错误
  • 编写自动化 Agent 的集成开发者,要把 MAC、UUID、写入载荷校验后再调用 airctl,避免 shell 注入
  • 运维或安全审计人员,在授权范围内对现场 BLE 设备进行连接状态检查与特征只读探测