【问题标题】:Linux, BlueZ, Initiating an hid BlueTooth ConnectionLinux,BlueZ,启动隐藏蓝牙连接
【发布时间】:2014-11-27 11:59:34
【问题描述】:

用例

  • Ubuntu 机器正在模拟键盘
  • Ubuntu 机器(虚拟键盘)模拟连接到要控制的远程设备

问题

在正常情况下,HID Desc 通过 SDP 报告,因此,当设备连接到键盘时,它已经知道要使用的 HID Desc,在我的用例中,虚拟键盘(Ubuntu 机器)启动连接,因此,它不是使用 SDP 触发的,话虽如此,我应该如何向设备发送要使用的 HIDReport 描述符?是否有可能以这种方式将键盘连接到设备?我可以将 HID 报告描述推送到设备(待控制)吗?

实施

  1. 将设备与 Ubuntu 机器配对(手动完成)
  2. 在 PSM 0x11 和 0x13 上启动 L2CAP 连接
  3. 握手

到目前为止一切正常,这是我希望向设备报告 HID 描述符的时候,但具体应该如何完成呢?

【问题讨论】:

    标签: linux bluetooth hid bluez


    【解决方案1】:

    据我了解,HID 主机只读取一次服务描述符。之后,您可以自己发起连接,但您必须遵守您之前通过 SDP 告诉主机的内容。

    我还没有找到稍后将信息推送到 HID 主机的方法。

    如果您需要更改某些内容,则必须清除主机的设备内存(例如 Windows 中的“卸载设备”)并重新连接(主机启动连接),从更新的 SDP 记录中读取新信息。

    如果您不需要更改 HID 描述符,我相信您甚至不需要在初始连接后运行 sdpd。永远。

    【讨论】:

    • 使用 HID 启动协议,我可以避免同时使用 SDP 吗?配对完成后,我可以直接从键盘连接到主机吗? (没有 SDP)?
    • 我不认为你可以。需要 SDP 来传递其他信息,例如要使用的 L2CAP 端口号以及设备是否支持引导协议。当然你可以尝试连接一些默认端口,看看主机是否在监听这些端口。
    猜你喜欢
    • 2016-05-18
    • 1970-01-01
    • 2013-01-27
    • 2017-03-20
    • 2018-08-02
    • 1970-01-01
    • 1970-01-01
    • 2015-02-02
    相关资源
    最近更新 更多