你好对话框,
我正在测试示例“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
这些是我所设定的冒充特征权限。
常量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,初始化特性,NULL,NULL,event_sent_cb),};常量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,世界你好,NULL,set_var_value_cb,NULL),CHARACTERISTIC_DECLARATION(22222222-0000-0000-0000-000000000002,CHARACTERISTIC_ATTR_VALUE_MAX_BYTES,CHAR_WRITE_PROP_DIS,CHAR_READ_PROP_EN,CHAR_NOTIF_NONE,你好对话框,get_var_value_cb,NULL,NULL),CHARACTERISTIC_DECLARATION(22222222-0000-0000-0000-000000000003,0,CHAR_WRITE_PROP_DIS,CHAR_READ_PROP_DIS,CHAR_NOTIF_NONE,NULL,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客户端和服务器之间交换数据。
提前致谢。
问候,
普拉斯坦娜
设备:
嗨普拉斯坦尼亚,
让我检查一下,我会回复你。
谢谢,PM_DIALOG.
你好pm_dialog,
有关此问题是否有任何更新。我已经检查了两个可读取的两个特征,其中读取禁用,另一个写入禁用。写属性正常工作,我发现有读取权限有问题。你找到了同样的吗?
2.此外,我有时没有定义的状态。例如,当我试图读取特征值,我正在为“handle_evt_gattc_read_completed:conn_idx = 0000句柄= 000A状态= 67”的输出。在这里你可以看到状态为67.这是什么行为意味着由于没有宣布在ble_att.h文件值67在枚举att_error_t没有错误值。
问候,
普拉斯坦娜
嗨普拉斯坦尼亚,
因此,如果我理解正确的问题,问题只在自定义服务1中,其中错误的属性似乎没有正确看起来。
请尝试使用通用BLE移动应用程序连接并检查权限吗?
此外,除了特征数据库之外,您是否可以共享您在示例中完成的修改?您是否使用了对话框提供的示例,或者您完成了任何更改吗?
谢谢,PM_DIALOG.
你好pm_dialog,
我也使用NRF Connect应用程序检查。即使我禁用了读取特性,我也可以在应用程序中看到read属性。读的财产似乎有问题。我们可以读取禁用或启用的读取。
除了更改权限之外,我没有在自定义服务示例中修改代码。
普拉斯纳,
我们正在研究本教程,并将在本周末发布更新的版本。一旦新版本可供下载,我会通知您。
谢谢,PM_DIALOG.
你好pm_dialog,
感谢更新。
问候,
普拉斯坦娜
你好对话框,
新版本可用时是否有任何更新?
问候,
普拉斯坦娜
嗨,大家好,
我会在内部检查状态并很快恢复给您。
谢谢,PM_DIALOG.
嗨普拉斯坦尼亚,
如以下论坛票证所示,该示例未更新:
https://support.dialog-semiconductor.com/forums/post/dialog-smartbond-bluetooth-low-energy-%E2%80%93-software/gatt-connection-timeout
谢谢,PM_DIALOG.