当前位置: 首页 > 知识库问答 >
问题:

如何通知GATT特性发送新的传感器值GATT客户端(自定义BLE服务)

尹弘壮
2023-03-14

我试图通知一个GATT特征,其中外部BLEGATT客户端已注册到(纯BLE/无移动设备库)。我可以通过外部GATT客户端(在微控制器上运行)成功注册通知。但是,在Movesense上更新特性时,似乎没有通知事件到达GATT客户端。当新的传感器数据通过asyncPUT()可用时,特征值被写入通知回调:

WB_RES::Characteristic newCharValue;
...
asyncPut(WB_RES::LOCAL::COMM_BLE_GATTSVC_SVCHANDLE_CHARHANDLE(),
         AsyncRequestOptions::Empty,
         mSvcHandle,
         mCharHandle,
         newCharValue);

GATT服务是基于CustomGATTSvcClient示例创建的。特征属性为READ、WRITE、NOTIFY。特征值是在句柄从发布成功分配并获得回调后写入的。

共有1个答案

司徒墨竹
2023-03-14

该问题与另一台设备的构建工具链有关。

 类似资料:
  • 运行后,Android部分返回connection be success(BluetoothGattCallback::onConnectionStateChange的参数为STATE_CONNECTED),但是linux中的程序(btgatt-server)没有得到任何响应,仍然阻止等待接受。(第485行)。 我还使用了另一个示例代码:l2cap-ble.c,结果完全相同。 有人能帮我吗?我的目

  • 我在为我的BLE设备开发Android软件时遇到了麻烦。我的软件可以找到我的设备和GATT服务,但在我的服务中找不到任何特征。 我查看了android-sdk-4.4.2源代码,发现了一些代码。https://android.googlesource.com/platform/external/bluetooth/bluedroid//android-sdk-4.4.2\u r1https://a

  • 我试图构建一个Android应用程序,作为一个BLE外设,也作为GATT客户端。 以下是我试图实现的步骤: 但是,如何在Android设备上通知我可以建立连接,以便调用函数连接到GATT服务器? 我也通过启动广告后获取远程设备进行了尝试。 我错过了什么?

  • 我扩展插件/gatt_example. c在Bluez源尝试BLE通知功能没有成功。我正在使用Bluez源中包含的电池服务示例。它具有1个具有READ和NOTIFY属性的特性。我添加dbus方法来调用attrib_db_update()来从蓝牙守护进程外部更新特征值。 现在,我可以连接哪个客户端(带有Android 4.3的Nexus4和iPhone(不含LightBlue的应用程序))并启动通知

  • 我试图读取一个特点后,关贸总协定连接和服务发现成功。但接收错误15(0x0f,GATT_INSUFFICIENT_ENCRYPTION),然后137(0x0089)在gatt回调。在此错误之后,gatt立即断开连接。 我的设备是三星S4,4.4.2。

  • 首先,BLE外设模拟器的源代码对于任何研究Web蓝牙的人来说都是一个巨大的资源。 有一份经批准的关贸总协定服务清单。 当我修改Android源代码以使用自定义的GATT服务(只需在Android代码中指定自己的UUID即可轻松完成)时,从网页到运行GATT服务器的Android应用程序的配对失败。 Web蓝牙留档确实声明,“如果设备通告的服务UUID与服务UUID集有非空交集,请添加设备以产生结果