KDocs 研发资料库
  • IOT(BLE-AD-MCU)资料链接入口汇总
  • BLE硬件设计指南
  • BLE 认证汇总
  • AD系列入门到进阶开发指导文档
  • AC75开发指导文档
  • AW31开发指导文档
  • AW33开发指导文档
  • AC63NN开发指导文档
  • HID相关资料入口
  • HID问题汇总

HID开发指南V1.0

📎 原始文档:https://www.kdocs.cn/l/cq7CCaOsVHek

HID开发指南

只介绍原理标准,不涉及代码修改

1. HID含义

HID协议是独立于通信协议的一套描述人机接口的协议。
HID可以构建在IIC、 USB、 传统蓝牙、 BLE、 Wi Fi等通信协议上。
通信协议只是提供一个传输通道来传送HID数据包。
请不要把HID和蓝牙HID混为一谈,不同的概念的。

2. HID标准

官网 https://www.usb.org/hid (HID最先在USB上实现,所以资料在USB官网上) HID-hut1_ 12v2 . pdf 描述HID 的配置方式
[HID descriptor Tool.zip](HID descriptor Tool.zip) 帮助构建一些常用的产品模型定义
官网的文档, 已经很久没有更新, 目前很多系统都对这套标准进行了扩充微软可以参考微软设备中心介绍:
https://docs.microsoft.com/zh-cn/windows-hardware/design/
安卓可以参考Linux 内核文件:
linux-master/include/linux/hid. h
苹果靠抄机

3. HID兼容性

做HID产品,最优先考虑兼容性问题。
市面上基本没有一款产品,能同时用在苹果、Windows、 Android上。
如果做通用性产品,大部分产品会有模式设置,要连苹果,首先要设置成苹果模式。
连安卓,又得重启设置成安卓模式。
参考市面上的游戏手柄就知道了:
image 兼容性问题,请不要来问我们, 自己找市面上类似产品测试,是否一样存在。

4.芯片选型

如果做的是BLE HID产品。
所有实现了 BLE协议的芯片系列,软件无差异,均可做。
跟BLE4.2和BLE5.0,没有关系。
芯片功耗,跟软件没有关系,跟芯片架构有关
5.略解BLE HID通道(注意不是HID协议)蓝牙官网文档HI DS_SPEC_V 10. pdf BLE HID profile定义:
image

6.略解HID协议

截图只是一个H D 的例子,对实际产品功能开发没有任何参考意义
image HID协议数组的定义,可在 HID-hut1_ 12v2 . pdf 文档中找到相应的定义。
涉及到的术语有(用途页,用途,集合,量化值,物理值,逻辑值,类型值等)具体含义自己百度
官网文档,字段有几百种定义,可随意组合定义。只要手机电脑实现了对应的读取,就能实现功能。至于某个手机电脑对某个字段有没有读取,无从得知。
由于组合定义的随意性,引起的兼容性问题也很大。
这种兼容性问题,请不要询问我们这边,您有空,可以试试到底有多少种组合。
开发HID,一定要找参考样机,有参考样机的前提下,可以提供支持。
没有参考样机,则请自己摸索,或者请找微软、苹果、 安卓的原厂工程师支持您。