蓝牙协议栈之蓝牙HID基础知识

蓝牙协议栈之蓝牙HID基础知识
一:定义
HID是Human Interface Device的缩写,由其名称可以了解HID设备是直接与人交互的设备,例如键盘、鼠标与游戏手柄等。
蓝牙HID 是属于蓝牙协议里面的一个profile, 不管在蓝牙2.0 2.1 3.0还是4.0,5.0的蓝牙中 ,都有HID , 而且在4.0以上协议中还多了一个HOG (HID OVER GATT)也就是低功耗HID,涉及的是蓝牙4.0以上的BLE(Bluetooth Low Energy)技术。蓝牙HID是蓝牙的一种技术规范。HID规范运行在蓝牙的L2CAP协议上,并基于GAP规范。

二:蓝牙HID连接要点和流程
HID规范规定基本的键盘和指示功能使用固定格式的数据包,在HID主机端不需要HID剖析器(约占70kB)。允许用固定的PSM和辅助的设备类控制FHS数据包作为服务发现协议的定位,以及键盘与指示设备的连接。USB导入模式被保留用作最低层的终端应用。为了使得用户界面更加友好,要求系统遵从以下规定:

  1. 能够自动探测HID终端设备;
  2. 必须有硬件添加向导;
  3. 键盘必须是加密的,且安全;
  4. 在PC机导入时,HID终端设备暂时不能使用。
    像鼠标、键盘等HID终端设备都是个人区域设备,它们有以下特征:
  5. 通常与HID主机都有一对一的关系;
  6. 不支持同时与一个以上的HID主机同时连接;
  7. 它们也许有一个以上的可能建立连接的HID主机。 当蓝牙HID终端设备与一个HID主机建立一对一的连接关系时,它就被称为虚拟电缆连接。这时HID终端设备与HID主机就建立了以下关系:
  8. HID终端设备与HID主机捆绑。
  9. 如果连接断开,将会自动重新建立连接。
  10. 不会和另一HID主机相连,除非用户明确地去掉该虚拟电缆连接。
    android手机与蓝牙HID设备连接的步骤:
    1.开启蓝牙功能
    2.手机搜索蓝牙HID设备
    3.搜到蓝牙名称,配对HID设备
    4.连接HID设备。

四: 蓝牙HID终端设备的解决方案,作为HID终端设备端有以下两种应用模型:

  1. 与蓝牙核心协议栈一起集成在蓝牙芯片内,以蓝牙硬件模块形式提供。 如需了解更多,可以联系飞易通团队;
  2. 作为一个软件协议栈,蓝牙HID代码也能够集成在客户指定的CPU中。 每个蓝牙HID终端设备(如键盘)都会有它自己的输入控制处理器,该控制器采集用户的输入信号,并转换成某种特定的代码传送给它的HID主机(如PC、PDA等)。如果包含HID规范的协议栈运行在HID终端设备的输入处理器上,那么对系统硬件结构来说,只有一个带HCI接口的蓝牙芯片需要集成进客户的硬件。 由于蓝牙鼠标的应用非常简单,这时蓝牙HID代码可以和鼠标本身的应用程序一起集成在含有蓝牙核心协议栈的蓝牙芯片内。
    蓝牙HID主机端的解决方案:在HID主机侧,蓝牙代码有三种提供方式:
  3. 提供完全的蓝牙HID主机驱动程序,使之成为一个标准的OEM产品;
  4. 以软件协议栈的形式帮助客户整合进他们的蓝牙PS/2接入点设备;
  5. 提供独立于操作系统的API,客户可以将它们整合进自己的驱动程序中。 对标准操作系统(如Windows、Linux)来说,已经有包括HID规范的完整的驱动程序可以提供。
    五,总结
    蓝牙技术的发展给生活带来更多的便利,如想了解更多,请联系飞易通团队!

你可能感兴趣的:(蓝牙)