Skip to content

低功耗蓝牙 (BLE)

MeowKeyboard 无线版基于 CH592F 的 BLE5.4 协议栈,实现 HID over GATT,支持标准 HID 设备配对与使用。

概览

项目说明
芯片CH592F (RISC-V, BLE5.4)
角色外设 (Peripheral)
连接数单连接
设备名称MeowKeyboard

GATT 服务列表

服务 UUID名称说明
0x1800GAP通用访问,设备名、外观等
0x1801GATT通用属性,服务变更等
0x180ADevice Information设备信息(型号、厂商、固件版本等)
0x180FBattery Service电池电量
0x1812HID键盘、鼠标、多媒体输入
0x1813Scan Parameters扫描参数(主机写、从机通知)

HID 服务 (0x1812)

特性列表

特性UUID方向说明
HID Information0x2A4AbcdHID、Country、Flags
Report Map0x2A4BHID 报告描述符
HID Control Point0x2A4C写无响应Suspend/Exit Suspend
Report0x2A4D读/写/通知复合报告(键盘/鼠标/多媒体等)
Protocol Mode0x2A4E读/写Boot/Report 模式
Boot Keyboard Input0x2A22通知Boot 键盘输入
Boot Keyboard Output0x2A32读/写Boot 键盘 LED
Boot Mouse Input0x2A33通知Boot 鼠标输入

HID 报告 ID

Report ID用途方向大小
0键盘输入设备→主机8B
0LED 输出主机→设备1B
1鼠标输入设备→主机4B
2多媒体输入设备→主机2B
4电池电量 (HID Report Ref)设备→主机1B

键盘、鼠标、多媒体报告与 USB HID 格式一致,详见 HID 通讯协议

Report 协议模式

固件使用 Report Protocol Mode,主机需通过 Protocol Mode 特性选择 Report 模式,并通过 Report 特性读写各 Report ID 对应数据。


Device Information (0x180A)

特性UUID说明
System ID0x2A23系统标识
Model Number0x2A24型号字符串
Serial Number0x2A25序列号
Firmware Revision0x2A26固件版本
Hardware Revision0x2A27硬件版本
Software Revision0x2A28软件版本
Manufacturer Name0x2A29厂商名称
PnP ID0x2A50PnP 标识

Battery Service (0x180F)

特性UUID方向说明
Battery Level0x2A19读/通知电量百分比 (0–100)

主机可订阅 Battery Level 通知以获取电量更新。


Scan Parameters (0x1813)

特性UUID方向说明
Scan Interval Window0x2A4F主机写入扫描间隔/窗口
Scan Parameter Refresh0x2A31通知从机通知刷新请求

用于主机控制从机广播参数,符合 BLE 规范。


配对与绑定

配置项说明
Pairing ModeWait For Req等待主机发起配对
Bonding启用保存绑定信息
MITM禁用无中间人保护
IO CapabilitiesNoInputNoOutput无显示/输入能力(默认 Just Works)

绑定信息存储在 DataFlash SNV 区 (0x7E00~0x7EFF),由 WCH BLE 库管理,详见 DataFlash 布局

多设备配对

支持与多台主机配对绑定,断开后可自动重连。通过 FN 键可触发「清除绑定」等操作。


广播与连接参数

广播

参数单位
广播间隔最小480.625ms → 30ms
广播间隔最大800.625ms → 50ms
广播超时60

连接

参数单位
连接间隔81.25ms → 10ms
从机延迟20连接事件
监督超时50010ms → 5s

BLE 协议栈配置 (ble_config.h)

配置项默认值说明
BLE_SNVTRUE启用 SNV 存储绑定
BLE_SNV_ADDR0x77000 - FLASH_ROM_MAX_SIZESNV 地址 (DataFlash 末段)
BLE_SNV_BLOCK256SNV 块大小
BLE_SNV_NUM1SNV 块数量
BLE_BUFF_MAX_LEN27单包最大长度 (ATT_MTU=23)
BLE_TX_NUM_EVENT1单连接事件最多发包数
PERIPHERAL_MAX_CONNECTION1从机最大连接数

低功耗与唤醒

配置项说明
HID 空闲超时60s无 HID 活动后的处理
按键唤醒启用按键可唤醒休眠
USB 唤醒启用USB 插入可唤醒

空闲一段时间后可进入低功耗,具体策略见固件 kbd_mode_config.h


相关文档