在蓝牙低功耗生态里,键盘、鼠标、游戏手柄这类人机交互设备之所以能稳定、低延迟连接手机、电脑、平板,核心依赖一套成熟的协议框架——HID Over GATT Profile,简称HOGP。这套规范把传统USB HID的交互逻辑完整迁移到BLE GATT之上,既保留了即插即用的兼容性,又发挥了BLE低功耗、广连接的优势。
目录
一、先搞懂:HOGP里的主机不是一种,而是两类
1.1 两类主机的核心定位
1.2 两类主机的GATT角色与拓扑
1.3 主机与设备、服务的关系
二、主机能力全景:必须做、可选做、禁止做的事
2.1 核心流程要求总览
2.2 GATT子过程要求:主机底层通信的底线
三、启动主机Boot Host:极简流程,只为开机能用
3.1 服务发现:只找核心,不做多余操作
3.2 特征发现:只认启动协议相关特征
3.3 数据交互:固定格式,即收即用
四、全功能主机Report Host:完整流程,适配所有设备
4.1 前置准备:MTU交换与服务发现
4.2 特征发现:遍历所有特征与描述符
4.3 报告映射与数据翻译:HOGP的核心灵魂
4.4 核心特征行为详解
4.5 主机间信息共享
五、HID ISO增强:低延迟场景的主机升级
5.1 两种工作模式
5.2 模式切换流程
5.3 ISO数据包结构与序列号
5.4 报告间隔与延迟优化
六、安全要求:主机必须遵守的安全底线
6.1 设备侧安全
6.2 主机侧安全
七、测验
而整个HOGP体系里,HIDHost是绝对的核心调度者,它负责发现设备、建立连接、解析数据、切换模式、保障安全,相当于BLE HID场景里的指挥官。很多蓝牙驱动、嵌入式固件、手机系统级蓝牙适配的坑,大多出在对主机行为理解不到位。
本文就以HOGP规范里关于主机的完整定义为蓝本,把角色划分、服务发现、特征交互、模式切换、安全要求、ISO增强等内容串成一套可落地的知识体系,真正吃透HID Host的设计逻辑。
一、先搞懂:HOGP里的主机不是一种,而是两类
很多刚接触BLE HID的开发者容易踩一个误区:把HID Host当成一个统一角色。实际上规范把主机明确拆成两种,二者互斥、能力边界清晰,就像电脑上有通用驱