特征的Tizen启用通知

问题描述 投票:0回答:1

[嗨,我正在尝试为运行Tizen 4.0.0.4的Gear S3手表开发一个应用简短地说,问题就像我不知道如何启用特征通知一样。当我尝试通常的方法时,即将x01 x00写入0x2902描述符我得到-1错误,并且在日志中得到:

bt-gatt-client.c: __bluetooth_get_att_error_code(901) > Error : GDBus.Error:org.bluez.Error.NotPermitted: Write not permitted [/dev_4C_65_A8_DC_A1_F7/service002d/char002e/desc0030]

[我试图在blueZ中查看一下,以了解出了什么问题,但是我才刚开始。

svc,char和desc看起来像这样(它们是来自小米的Temp&Hum传感器的自定义字符):

SRVC:(1/7) uuid: [0000fe95-0000-1000-8000-00805f9b34fb]
CHAR:   (1/6) uuid: [00000001-0000-1000-8000-00805f9b34fb]
DESC:       (1/1) uuid: [00002902-0000-1000-8000-00805f9b34fb]

(对CHAR的权限是写通知)我做平常的工作(在连接等等之后,我没有绑定,因为看来这对设备来说不是必需的,除非Tizen的堆栈在绑定的引擎盖下用blueZ做某种魔术……)。所以我或多或少这样做:在connect回调中,创建客户端后,我称呼三重奏

bt_gatt_client_get_service()
bt_gatt_service_get_characteristic()
bt_gatt_characteristic_get_descriptor()

然后我使用]将0x01 0x00的值设置为char数组>

bt_gatt_set_value()

然后最终致电

bt_gatt_client_write_value()

在bt_gatt_client_write_value()中回调

我得到写失败,错误代码为-1并在日志中来自bluez的上述错误

我必须承认我被卡住了...除了将x01 x00写入CCCD描述符之外,Tizen中还有其他方法可以启用特征通知吗?也许我缺少一些前提条件或类似的东西。老实说,我只是遵循了Sammys页面上的教程,因此我认为它应该可以工作……仅提及使用rpi0和python即可正常工作...谢谢。更新:我忘了提一下,基本上,我可以写其他我没有尝试设置它们的通知的特性,但是总的来说,唯一的问题是现在的CCCD描述符。特权已设置。

[嗨,我正在尝试为运行Tizen 4.0.0.4的Gear S3手表开发一个应用程序,简而言之,问题是我不知道如何启用特征通知。当我尝试通常的...

bluetooth-lowenergy tizen tizen-native-app
1个回答
0
投票

您可以使用“ bt_gatt_client_set_characteristic_value_changed_cb”功能吗?即使您没有在描述符中写入值0x01,也可以监视已更改的特征值。

© www.soinside.com 2019 - 2024. All rights reserved.