我们已经购买BLED112以通过BT连接我们的目标。 一个Android应用程序通过BT& amp; USB(HID)。 我们使用了一些蓝牙通信来编写程序并将数据发送到加密狗。 现在有人可以将BT数据转换为HID信号。 有人试过吗? 是否有任何我们需要编写的BGScript代码来实现它?
如果想法完全错误,请告诉我。
答案 0 :(得分:0)
参考上面的评论,
我们正在编写一个Android应用程序,它可以通过BLE接口或GATT将数据发送到BLED112。我的问题是如何将该数据(基本上是一个命令)转换为HID(关键事件),如果我的理解错误,请纠正我?
如果我正确理解用例,我认为,在开发的初始阶段,您将需要使用BlueGiga提供的BLE-GUI实用程序。
使用该实用程序,您可以看到BLED112 Dongle和BLE112模块之间的通信。 BLED112应该模拟Android应用程序会做什么?
首先,您需要知道存储在BLED112中的GATT结构,以便写入或读取BLED112。 其次,BLE112的工作方式是基于事件的实现。通过BLE112的API参考文档将帮助您了解事件生成条件和在Android应用程序更新特征值时生成的代码,或由android应用程序读取的代码。您将获得连接,断开连接,读取,写入,启用通知,启用指示等事件
在BLE112方面,根据客户端(Android App)和服务器(BLE112)之间用于数据传输的服务和特性,您需要在事件回调处理程序中编写合适的实现。 / p>
有一种名为Human Interface Device的标准服务,它有一个保留的UUID:0x1812。
一旦您将BLE112配置为GATT设备上的HID,您的Android应用程序将看到一个UUID服务:0x1812。解析服务描述符并获取捆绑到服务中的特征。您可以根据gatt.xml
中设置的访问参数来读取或写入该服务例如,如果是键盘,您可以根据按下的键发送键的(make和break)扫描码。无论如何,如何获得扫描码都超出了这个问题的范围,遗憾的是我曾经使用PS2键盘,所以我真的不知道如何从USB键盘获取扫描码。
因此,您按下了按键的扫描码,并且您知道要将其写入的特征。写下来,应用程序应启用该特性的通知,以便在按下该键并将值写入特征时通知它。要让应用程序启用特征的通知或指示,请研究开发人员指南,该指南介绍如何为基于Bluegiga的BLE设备编写gatt.xml。我将给你一个提示:在xml中,在特性配置中你必须写notify =“true”。
关于解析Android中的服务和特性,不幸的是我不是Android开发人员,而是嵌入式开发人员,我知道如何实现BLE112模块部分,而我不知道android如何解析数据。但是,网上有很多问题和讨论,你可能比我更了解,因为你有一个Android背景。