跳到主要内容

da1469x_custom_ble_service示例中的属性许可中的混淆

da1469x.

6个月前

张贴了普拉斯坦娜0分 9回复
0旋转

你好对话框,

我正在测试示例“ble_central”和“da1469x_custom_ble_service”以在GATT客户端和服务器之间实现一些通信。在自定义服务示例中,在peripheral_task.c中,分别有两个与A和THE特征定义的服务。在这里,我为这两个服务的特征设置了一些随机权限。请找到下面附带的日志文件。

ÿÿð@BLE中央应用程序启动BLE中央应用程序启动@BLE中央应用程序启动@ble中央应用程序启动@ble中央应用程序启动@ vt_gap_connected:conn_idx = 0000 supple_evt_gattc_discover_svc:conn_idx = 0000 uuid = 0x1800 start_h = 0001 end_h = 0007 handle_evt_gattc_discover_svc:conn_idx = 0000UUID = 0x1801 start_h = 0008 end_h = 0008 handle_evt_gattc_discover_svc:conn_idx = 0000 UUID = 11111111-0000-0000-0000-111111111111 start_h = 0009 end_h = 000D handle_evt_gattc_discover_svc:conn_idx = 0000 UUID = 22222222-0000-0000-0000-222222222222 start_h = 000Eend_h = 0016 handle_evt_gattc_discover_completed:conn_idx = 0000 type = 0 status = 0 shower_t_gattc_discover_char:conn_idx = 0000 uuid = 0x2a00句柄= 0002 value_handle = 0003属性= 02(-----)supple_evt_gattc_discover_char:conn_idx = 0000 uuid = 0x2a01句柄= 0004 value_handle = 0005属性= 02(-----)supple_evt_gattc_discover_char:conn_idx = 0000 uuid = 0x2a04句柄= 0006 value_handle = 0007属性= 02(-----)hange_evt_gattc_discover_completed:conn_idx = 0000类型= 2 status = 0 shower_evt_gattc_read_completed:conn_idx = 0000把手= 0003 status = 0 43 75 75 73 74 6f 6d 20 42 4c 45 20 53 6f 6d 20 42 4c 45 20 53 65 72 76 69定制ble servi 63 65 ce handle_evt_gattc_discover_completed:conn_idx = 0000type = 2 status = 0 shower_evt_gattc_discover_char:conn_idx = 0000 uuid = 11111111-0000-0000-0000-00000000/0000-0000-000000000001句柄= 000a value_handle = 000b属性= 22(-R --- i--)supple_evt_gattc_discover_completed:conn_idx = 0000类型= 2状态= 0 handle_evt_gattc_discover_desc:conn_idx = 0000 UUID = 0x2901手柄= 000C handle_evt_gattc_discover_desc:conn_idx = 0000 UUID = 0x2902手柄= 000D handle_evt_gattc_discover_completed:conn_idx = 0000类型= 3个状态= 0 handle_evt_gattc_discover_char:conn_idx = 0000 UUID = 22222222-0000-0000-0000-000000000001 handle=000f value_handle=0010 properties=0a (-R-W----) handle_evt_gattc_discover_char: conn_idx=0000 uuid=22222222-0000-0000-0000-000000000002 handle=0012 value_handle=0013 properties=02 (-R------) handle_evt_gattc_discover_char: conn_idx=0000 uuid=22222222-0000-0000-0000-000000000003 handle=0015 value_handle=0016 properties=02 (-R------) handle_evt_gattc_discover_completed: conn_idx=0000 type=2 status=0 handle_evt_gattc_discover_desc: conn_idx=0000 uuid=0x2901 handle=0011 handle_evt_gattc_discover_completed: conn_idx=0000 type=3 status=0 handle_evt_gattc_discover_desc: conn_idx=0000 uuid=0x2901 handle=0014 handle_evt_gattc_discover_completed: conn_idx=0000 type=3 status=0 handle_evt_gap_disconnected: conn_idx=0000 address=06:06:06:01:01:01 reason=8 handle_evt_gap_connected: conn_idx=0000 handle_evt_gattc_discover_svc: conn_idx=0000 uuid=0x1800 start_h=0001 end_h=0007 handle_evt_gattc_discover_svc: conn_idx=0000 uuid=0x1801 start_h=0008 end_h=0008 handle_evt_gattc_discover_svc: conn_idx=0000 uuid=11111111-0000-0000-0000-111111111111 start_h=0009 end_h=000d handle_evt_gattc_discover_svc: conn_idx=0000 uuid=22222222-0000-0000-0000-222222222222 start_h=000e end_h=0016 handle_evt_gattc_discover_completed: conn_idx=0000 type=0 status=0 handle_evt_gattc_discover_char: conn_idx=0000 uuid=0x2a00 handle=0002 value_handle=0003 properties=02 (-R------) handle_evt_gattc_discover_char: conn_idx=0000 uuid=0x2a01 handle=0004 value_handle=0005 properties=02 (-R------) handle_evt_gattc_discover_char: conn_idx=0000 uuid=0x2a04 handle=0006 value_handle=0007 properties=02 (-R------) handle_evt_gattc_discover_completed: conn_idx=0000 type=2 status=0 handle_evt_gattc_read_completed: conn_idx=0000 handle=0003 status=0 43 75 73 74 6f 6d 20 42 4c 45 20 53 65 72 76 69 Custom BLE Servi 63 65 ce handle_evt_gattc_discover_completed: conn_idx=0000 type=2 status=0 handle_evt_gattc_discover_char: conn_idx=0000 uuid=11111111-0000-0000-0000-000000000001 handle=000a value_handle=000b properties=22 (-R---I--) handle_evt_gattc_discover_completed: conn_idx=0000 type=2 status=0 handle_evt_gattc_discover_desc: conn_idx=0000 uuid=0x2901 handle=000c handle_evt_gattc_discover_desc: conn_idx=0000 uuid=0x2902 handle=000d handle_evt_gattc_discover_completed: conn_idx=0000 type=3 status=0 handle_evt_gattc_discover_char: conn_idx=0000 uuid=22222222-0000-0000-0000-000000000001 handle=000f value_handle=0010 properties=0a (-R-W----) handle_evt_gattc_discover_char: conn_idx=0000 uuid=22222222-0000-0000-0000-000000000002 handle=0012 value_handle=0013 properties=02 (-R------) handle_evt_gattc_discover_char: conn_idx=0000 uuid=22222222-0000-0000-0000-000000000003 handle=0015 value_handle=0016 properties=02 (-R------) handle_evt_gattc_discover_completed: conn_idx=0000 type=2 status=0 handle_evt_gattc_discover_desc: conn_idx=0000 uuid=0x2901 handle=0011 handle_evt_gattc_discover_completed: conn_idx=0000 type=3 status=0

这些是我所设定的冒充特征权限。

const mcs_characteristic_config_t custom_service_1 [] = { /* 初始化特征属性* / CHARACTERISTIC_DECLARATION (11111111-0000-0000-0000-000000000001, CHARACTERISTIC_ATTR_VALUE_MAX_BYTES, CHAR_WRITE_PROP_DIS、CHAR_READ_PROP_DIS CHAR_NOTIF_INDIC_EN,初始化特点,空,空,event_sent_cb),};const mcs_characteristic_config_t custom_service_2 [] = {CHARACTERISTIC_DECLARATION (22222222-0000-0000-0000-000000000001, CHARACTERISTIC_ATTR_VALUE_MAX_BYTES, CHAR_WRITE_PROP_EN、CHAR_READ_PROP_DIS CHAR_NOTIF_NONE, Hello World, NULL, set_var_value_cb, NULL), CHARACTERISTIC_DECLARATION (22222222-0000-0000-0000-000000000002,charactertic_attr_value_max_bytes, CHAR_WRITE_PROP_DIS, CHAR_READ_PROP_EN, CHAR_NOTIF_NONE, Hello Dialog, get_var_value_cb, NULL, NULL), charactertic_declaration (22222222-0000-0000-0000-000000000003, 0, CHAR_WRITE_PROP_DIS, CHAR_READ_PROP_DIS, CHAR_NOTIF_NONE, NULL, NULL, NULL),};

请将附加输出日志的权限进行比较。您可以看到服务1的唯一特征的属性打印为( - --- i--),即使我已禁用read属性。

Coming to the second service characteristics, They are printed as (-R-W----), (-R------) and (-R------) for the three characteristics respectively which are in contrast with the permissions which I actually gave.

仅根据我给出的内容正确打印第二服务的第二个特征权限。

我请求你调查为什么会发生这种情况,并建议我如何做才能避免这种情况。这对我的应用程序非常重要,因为我必须在GATT客户机和服务器之间交换数据。

提前致谢。

问候,

普拉斯坦娜

6个月前

PM_DIALOG.

嗨普拉斯坦尼亚,

让我检查一下,我会回复你。

谢谢,PM_DIALOG.

6个月前

普拉斯坦娜 0分

你好pm_dialog,

关于这个问题有新的进展吗?我用两个特性检查了这个,一个是读禁用,另一个是写禁用。写属性工作正常,我发现读权限有问题。你找到同样的了吗?

2.此外,我有时没有定义的状态。例如,当我尝试读取特征值时,我将输出作为“handle_evt_gattc_read_completed:conn_idx = 0000句柄= 000a status = 67”。在这里,您可以将状态视为67.此行为意味着什么意思是因为BLE_ATT.h文件中的ENUM ATT_ERROR_T中的值67声明了错误值。

问候,

普拉斯坦娜

6个月前

PM_DIALOG.

嗨普拉斯坦尼亚,

因此,如果我理解正确的问题,问题只在自定义服务1中,其中错误的属性似乎没有正确看起来。

你能试着连接一个通用BLE移动应用程序,并检查权限吗?

此外,除了特征数据库之外,您是否可以共享您在示例中完成的修改?您是否使用了对话框提供的示例,或者您完成了任何更改吗?

谢谢,PM_DIALOG.

6个月前

普拉斯坦娜 0分

你好pm_dialog,

我也使用NRF Connect应用程序检查。即使我禁用了读取特性,我也可以在应用程序中看到read属性。读的财产似乎有问题。我们可以读取禁用或启用的读取。

除了更改权限之外,我没有在自定义服务示例中修改代码。

6个月前

PM_DIALOG.

普拉斯纳,

我们正在研究本教程,并将在本周末发布更新的版本。一旦新版本可供下载,我会通知您。

谢谢,PM_DIALOG.

6个月前

普拉斯坦娜 0分

你好pm_dialog,

感谢更新。

问候,

普拉斯坦娜

6个月前

普拉斯坦娜 0分

你好对话框,

新版本可用时是否有任何更新?

问候,

普拉斯坦娜

6个月前

PM_DIALOG.

嗨,大家好,

我会在内部检查状态并很快恢复给您。

谢谢,PM_DIALOG.

5个月前

PM_DIALOG.

嗨普拉斯坦尼亚,

正如在下面的论坛票据中提到的,示例没有更新:

https://support.dialog-semicondiondiondiondiondum/forums/post/dialog-smartbond-bluetooth-low-energy-%2%80%93-software/gatt-connection-timeout.

谢谢,PM_DIALOG.