首页 > 解决方案 > Gatttool 丢失通知

问题描述

我正在使用一个 BLE 设备,该设备当前在订阅通知特性时会发送顺序值。每个返回的值都以递增之间的每个十六进制值开始f083和结束。0000

当我在 iOS(移动或桌面)上使用 LightBlue 连接到设备时,我得到了预期的结果。但是,如果我在 Android 上连接 LightBlue 或在 Ubuntu 上使用 gatttool,我会丢失大量数据包。您仍然可以在结果中看到顺序值,但是存在巨大差距。

值得注意的是,当我在 Ubuntu 或 Android 上连接时,我必须手动指定 MTU,而 iOS 会自动执行此操作。但是,我可以确认 iOS 上的 MTU 与 Android 在 gatttool 上输入的值相匹配。有什么方法可以查看 gatttool 日志或更多信息吗?

如果有帮助,我将使用以下内容在 gatttool 上进行连接:

$ gatttool -b 18:04:ED:39:96:77 -I
[18:04:ED:39:96:77][LE]> connect
Attempting to connect to 18:04:ED:39:96:77
Connection successful
[18:04:ED:39:96:77][LE]> mtu 31
MTU was exchanged successfully: 31
[18:04:ED:39:96:77][LE]> char-write-req 0x00015 0100
Characteristic value was written successfully
Notification handle = 0x0014 value: f0 83 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 00 00 
Notification handle = 0x0014 value: f0 83 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 00 00 

这里的任何帮助将不胜感激。

iOS 输出

17:45:34.854 - Characteristic (FFF4) notified: <f0830707 07070707 07070707 07070707 07070707 07070707 07070000> 
17:45:34.855 - Characteristic (FFF4) notified: <f0830808 08080808 08080808 08080808 08080808 08080808 08080000> 
17:45:34.882 - Characteristic (FFF4) notified: <f0830909 09090909 09090909 09090909 09090909 09090909 09090000> 
17:45:34.914 - Characteristic (FFF4) notified: <f0830a0a 0a0a0a0a 0a0a0a0a 0a0a0a0a 0a0a0a0a 0a0a0a0a 0a0a0000> 
17:45:34.943 - Characteristic (FFF4) notified: <f0830b0b 0b0b0b0b 0b0b0b0b 0b0b0b0b 0b0b0b0b 0b0b0b0b 0b0b0000> 
17:45:34.944 - Characteristic (FFF4) notified: <f0830c0c 0c0c0c0c 0c0c0c0c 0c0c0c0c 0c0c0c0c 0c0c0c0c 0c0c0000> 
17:45:34.974 - Characteristic (FFF4) notified: <f0830d0d 0d0d0d0d 0d0d0d0d 0d0d0d0d 0d0d0d0d 0d0d0d0d 0d0d0000> 
17:45:35.002 - Characteristic (FFF4) notified: <f0830e0e 0e0e0e0e 0e0e0e0e 0e0e0e0e 0e0e0e0e 0e0e0e0e 0e0e0000> 
17:45:35.032 - Characteristic (FFF4) notified: <f0830f0f 0f0f0f0f 0f0f0f0f 0f0f0f0f 0f0f0f0f 0f0f0f0f 0f0f0000> 
17:45:35.064 - Characteristic (FFF4) notified: <f0831010 10101010 10101010 10101010 10101010 10101010 10100000> 
17:45:35.094 - Characteristic (FFF4) notified: <f0831111 11111111 11111111 11111111 11111111 11111111 11110000> 
17:45:35.095 - Characteristic (FFF4) notified: <f0831212 12121212 12121212 12121212 12121212 12121212 12120000> 
17:45:35.124 - Characteristic (FFF4) notified: <f0831313 13131313 13131313 13131313 13131313 13131313 13130000> 
17:45:35.153 - Characteristic (FFF4) notified: <f0831414 14141414 14141414 14141414 14141414 14141414 14140000> 
17:45:35.184 - Characteristic (FFF4) notified: <f0831515 15151515 15151515 15151515 15151515 15151515 15150000> 
17:45:35.214 - Characteristic (FFF4) notified: <f0831616 16161616 16161616 16161616 16161616 16161616 16160000> 
17:45:35.244 - Characteristic (FFF4) notified: <f0831717 17171717 17171717 17171717 17171717 17171717 17170000> 
17:45:35.244 - Characteristic (FFF4) notified: <f0831818 18181818 18181818 18181818 18181818 18181818 18180000>

安卓输出

Tue Apr 27 16:56:51 GMT+10:00 2021: Characteristic 0000fff4-0000-1000-8000-00805f9b34fb changed | value: F0 83 1C 1C 1C 1C 1C 1C 1C 1C 1C 1C 1C 1C 1C 1C 1C 1C 1C 1C 1C 1C 1C 1C 1C 1C 00 00
Tue Apr 27 16:56:52 GMT+10:00 2021: Characteristic 0000fff4-0000-1000-8000-00805f9b34fb changed | value: F0 83 1D 1D 1D 1D 1D 1D 1D 1D 1D 1D 1D 1D 1D 1D 1D 1D 1D 1D 1D 1D 1D 1D 1D 1D 00 00
Tue Apr 27 16:56:52 GMT+10:00 2021: Characteristic 0000fff4-0000-1000-8000-00805f9b34fb changed | value: F0 83 1E 1E 1E 1E 1E 1E 1E 1E 1E 1E 1E 1E 1E 1E 1E 1E 1E 1E 1E 1E 1E 1E 1E 1E 00 00
Tue Apr 27 16:56:54 GMT+10:00 2021: Characteristic 0000fff4-0000-1000-8000-00805f9b34fb changed | value: F0 83 1F 1F 1F 1F 1F 1F 1F 1F 1F 1F 1F 1F 1F 1F 1F 1F 1F 1F 1F 1F 1F 1F 1F 1F 00 00
Tue Apr 27 16:56:54 GMT+10:00 2021: Characteristic 0000fff4-0000-1000-8000-00805f9b34fb changed | value: F0 83 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 00 00
Tue Apr 27 16:56:59 GMT+10:00 2021: Characteristic 0000fff4-0000-1000-8000-00805f9b34fb changed | value: F0 83 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 00 00
Tue Apr 27 16:57:01 GMT+10:00 2021: Characteristic 0000fff4-0000-1000-8000-00805f9b34fb changed | value: F0 83 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 00 00
Tue Apr 27 16:57:04 GMT+10:00 2021: Characteristic 0000fff4-0000-1000-8000-00805f9b34fb changed | value: F0 83 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 00 00
Tue Apr 27 16:57:06 GMT+10:00 2021: Characteristic 0000fff4-0000-1000-8000-00805f9b34fb changed | value: F0 83 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 00 00
Tue Apr 27 16:57:08 GMT+10:00 2021: Characteristic 0000fff4-0000-1000-8000-00805f9b34fb changed | value: F0 83 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 00 00
Tue Apr 27 16:57:10 GMT+10:00 2021: Characteristic 0000fff4-0000-1000-8000-00805f9b34fb changed | value: F0 83 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 00 00
Tue Apr 27 16:57:12 GMT+10:00 2021: Characteristic 0000fff4-0000-1000-8000-00805f9b34fb changed | value: F0 83 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 00 00
Tue Apr 27 16:57:13 GMT+10:00 2021: Characteristic 0000fff4-0000-1000-8000-00805f9b34fb changed | value: F0 83 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 00 00

Gatttool 输出

Notification handle = 0x0014 value: f0 83 54 54 54 54 54 54 54 54 54 54 54 54 54 54 54 54 54 54 54 54 54 54 54 54 00 00 
Notification handle = 0x0014 value: f0 83 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 00 00 
Notification handle = 0x0014 value: f0 83 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 00 00 
Notification handle = 0x0014 value: f0 83 57 57 57 57 57 57 57 57 57 57 57 57 57 57 57 57 57 57 57 57 57 57 57 57 00 00 
Notification handle = 0x0014 value: f0 83 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 00 00 
Notification handle = 0x0014 value: f0 83 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 00 00 
Notification handle = 0x0014 value: f0 83 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 00 00 
Notification handle = 0x0014 value: f0 83 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 00 00 
Notification handle = 0x0014 value: f0 83 1b 1b 1b 1b 1b 1b 1b 1b 1b 1b 1b 1b 1b 1b 1b 1b 1b 1b 1b 1b 1b 1b 1b 1b 00 00 
Notification handle = 0x0014 value: f0 83 1c 1c 1c 1c 1c 1c 1c 1c 1c 1c 1c 1c 1c 1c 1c 1c 1c 1c 1c 1c 1c 1c 1c 1c 00 00 
Notification handle = 0x0014 value: f0 83 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 00 00 

标签: bluetooth-lowenergygattbluetooth-gattgatttool

解决方案


推荐阅读