BLED112 的蓝牙数据到 HID
Bluetooth data to HID for BLED112
我们已经购买了 BLED112 以通过 BT 连接我们的目标。
android 应用通过 BT 和 USB (HID) 与目标进行交互。
我们已经使用了一些蓝牙通信来编写程序并将数据发送到加密狗。
现在这里有人可以将 BT 数据转换为 HID 信号吗?
有人试过吗?
是否有任何我们需要编写的 BGScript 代码来实现?
如果想法完全错误,请告诉我。
参考上面的评论,
We are writing an Android App which can send data to BLED112 over BLE interface or GATT. My question is how can I convert that data (basically a command) to an HID (key event), correct me if my understanding is wrong?
如果我正确理解用例,我认为在开发的初始阶段,您将需要使用 BlueGiga 提供的 BLE-GUI 实用程序。
使用该实用程序,您可以看到 BLED112 Dongle 和 BLE112 模块之间的通信。 BLED112 应该模拟 android 应用程序会做什么?
首先,您需要了解存储在 BLED112 中的 GATT 结构,以便写入或读取 BLED112。
其次,BLE112的工作方式是基于事件的实现。阅读 BLE112 的 API 参考文档将帮助您了解当 android 应用程序更新特征值时或由 android 应用程序读取时修改的事件生成条件和生成的代码.您获得连接、断开、读取、写入、启用通知、启用指示等事件。
在 BLE112 端,根据客户端(Android 应用程序)和服务器(BLE112)之间的数据传输将使用什么服务和该服务的哪些特性,您需要编写合适的实现在事件回调处理程序中。
有一个称为人机接口设备的标准服务,它有一个保留的 UUID:0x1812。
一旦您将 BLE112 配置为 HID over GATT 设备,您的 android 应用将看到 UUID 为 0x1812 的服务。解析服务描述符并获取捆绑到服务中的特征。您可以根据 gatt.xml
中设置的访问参数读取或写入该服务
举个例子,如果是键盘,您可以根据按下的键发送键的(通断)扫描码。无论如何,如何获取扫描码超出了这个问题的范围,遗憾的是我曾在 PS2 键盘上工作过,所以我真的不知道如何从 USB 键盘获取扫描码。
所以,您有按下的键的扫描码,并且知道要将其写入的特征。编写它,应用程序应该为该特性启用通知,以便在按下键并将值写入特性时通知它。要让应用程序启用特性的通知或指示,请研究讨论如何为基于 Bluegiga 的 BLE 设备编写 gatt.xml 的开发人员指南。我给你一个提示:在xml中,在特征配置中你必须写notify="true"。
关于Android中服务和特性的解析,不幸的是我不是android开发人员,而是嵌入式开发人员,我知道BLE112模块部分是如何实现的,而我不了解 android 如何解析数据。但是,网上有很多关于它的问题和讨论,你可能比我更了解,因为你有 android 背景。
我们已经购买了 BLED112 以通过 BT 连接我们的目标。 android 应用通过 BT 和 USB (HID) 与目标进行交互。 我们已经使用了一些蓝牙通信来编写程序并将数据发送到加密狗。 现在这里有人可以将 BT 数据转换为 HID 信号吗? 有人试过吗? 是否有任何我们需要编写的 BGScript 代码来实现?
如果想法完全错误,请告诉我。
参考上面的评论,
We are writing an Android App which can send data to BLED112 over BLE interface or GATT. My question is how can I convert that data (basically a command) to an HID (key event), correct me if my understanding is wrong?
如果我正确理解用例,我认为在开发的初始阶段,您将需要使用 BlueGiga 提供的 BLE-GUI 实用程序。
使用该实用程序,您可以看到 BLED112 Dongle 和 BLE112 模块之间的通信。 BLED112 应该模拟 android 应用程序会做什么?
首先,您需要了解存储在 BLED112 中的 GATT 结构,以便写入或读取 BLED112。 其次,BLE112的工作方式是基于事件的实现。阅读 BLE112 的 API 参考文档将帮助您了解当 android 应用程序更新特征值时或由 android 应用程序读取时修改的事件生成条件和生成的代码.您获得连接、断开、读取、写入、启用通知、启用指示等事件。
在 BLE112 端,根据客户端(Android 应用程序)和服务器(BLE112)之间的数据传输将使用什么服务和该服务的哪些特性,您需要编写合适的实现在事件回调处理程序中。
有一个称为人机接口设备的标准服务,它有一个保留的 UUID:0x1812。
一旦您将 BLE112 配置为 HID over GATT 设备,您的 android 应用将看到 UUID 为 0x1812 的服务。解析服务描述符并获取捆绑到服务中的特征。您可以根据 gatt.xml
中设置的访问参数读取或写入该服务举个例子,如果是键盘,您可以根据按下的键发送键的(通断)扫描码。无论如何,如何获取扫描码超出了这个问题的范围,遗憾的是我曾在 PS2 键盘上工作过,所以我真的不知道如何从 USB 键盘获取扫描码。
所以,您有按下的键的扫描码,并且知道要将其写入的特征。编写它,应用程序应该为该特性启用通知,以便在按下键并将值写入特性时通知它。要让应用程序启用特性的通知或指示,请研究讨论如何为基于 Bluegiga 的 BLE 设备编写 gatt.xml 的开发人员指南。我给你一个提示:在xml中,在特征配置中你必须写notify="true"。
关于Android中服务和特性的解析,不幸的是我不是android开发人员,而是嵌入式开发人员,我知道BLE112模块部分是如何实现的,而我不了解 android 如何解析数据。但是,网上有很多关于它的问题和讨论,你可能比我更了解,因为你有 android 背景。