蓝牙自拍杆中的HOGP协议详解与应用实例

蓝牙自拍杆中的HOGP协议详解与应用实例

作者:shenyang
原创声明:本文为原创内容,欢迎收藏与转载,转载请注明出处。


蓝牙自拍杆如今已成为移动拍摄用户的常见配件,背后实现与手机通信的核心协议便是 HOGP(HID over GATT Profile)。本文将从BLE(Bluetooth Low Energy)协议入手,深入讲解HOGP协议的结构、工作机制及自拍杆的实际应用示例,适合对蓝牙开发或BLE协议感兴趣的工程师与开发者学习参考。


一、什么是 HOGP?

HOGP(HID over GATT Profile)是蓝牙低功耗 BLE 协议栈中定义的一种人机接口设备(HID)协议规范,允许诸如鼠标、键盘、游戏手柄等输入设备通过 GATT(Generic Attribute Profile)与主机通信。

HOGP 是 BLE 下 HID 类设备的官方通信标准,也被广泛用于 蓝牙自拍杆 这类仅需发送简单控制命令的低功耗设备。


二、蓝牙自拍杆与HOGP的关系

蓝牙自拍杆的本质是一个 BLE HID 设备,它通过 HOGP 协议将“按钮按下”的事件发送给智能手机,从而触发相机拍照。流程如下:

  1. 自拍杆作为 BLE 外设(Peripheral)广播自己。
  2. 手机作为中央设备(Central)扫描并连接到自拍杆。
  3. 手机通过 GATT 发现服务,识别出设备支持 HOGP。
  4. 用户按下按钮,自拍杆通过 HOGP 的 Input Report 发送控制命令。
  5. 手机接收到命令后,触发拍照行为。

三、HOGP服务的特征值

HOGP 协议下的 HID Service 是通过一组标准特征(Characteristic)组织的。自拍杆一般实现以下关键特征:

特征名UUID说明
HID Control Point0x2A4C控制 HID 状态,如挂起或唤醒
Report Map0x2A4B描述设备支持的输入/输出报告格式(类似HID描述符)
Input Report0x2A4D发送按钮等输入事件(自拍按键)
Output Report0x2A4E主机向设备下发输出命令(如LED指示灯)
HID Information0x2A4A提供HID版本和类别信息
Protocol Mode(可选)0x2A4E设置Boot或Report模式
Battery Level(可选)0x2A19显示设备电池电量

四、自拍杆输入报告数据示例

以下是一个蓝牙自拍杆通过 HOGP 的 Input Report 向手机发送拍照指令的实际数据包示例。

假设格式

  • 报告 ID(1 字节):0x01
  • 按钮状态(1 字节):0x01 表示按下,0x00 表示松开

数据发送示例(按下按钮)

01 01

解释:

  • 0x01:报告 ID
  • 0x01:按钮状态,表示用户按下拍照键

数据发送示例(松开按钮)

01 00

该数据通过 BLE 通知(Notification)方式发送至手机,在手机端由操作系统映射为“拍照键”动作。


五、输出报告示例(反馈控制)

自拍杆支持从手机接收 Output Report,例如控制设备上的 LED:

假设格式

  • 报告 ID:0x02
  • LED 状态:0x01(开启)、0x00(关闭)

数据示例

02 01

表示开启LED反馈;手机应用可用于提示“拍照成功”或“设备配对成功”。


六、蓝牙SIG标准术语说明(附录)

蓝牙SIG 遵循 IEEE 风格手册 Section 13.1 的术语使用规范,定义如下:

术语含义
shall表示强制要求,必须严格遵守
must不再推荐使用,仅用于不可避免的情形
will不再推荐使用,仅用于陈述事实
should表示推荐,非强制性
may表示许可,可选操作
can表示能力或可能性

七、总结

蓝牙自拍杆看似简单,实则背后采用的是 BLE 的 HOGP 协议,具有结构轻量、低功耗、高兼容性的优点。通过合理设计 HID Report Map 和特征值,可以实现几乎所有常见输入控制类产品功能。

如果你正在开发类似的 BLE 外设(如遥控器、手柄等),理解和掌握 HOGP 是关键一步。


如果这篇文章对你有所帮助,欢迎点赞、收藏并关注我,后续将分享更多关于BLE、RTOS、嵌入式开发的干货内容。


评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值