你好,
你能给我解释一下,128位服务uuid的完整列表和不完整列表有什么区别吗?
如果播发使用ADV\u TYPE\u INCOMPLETE\u LIST\u 128BIT\u SERVICE\u id,则所有128BIT服务uuid都应包含在播发中或不包含在播发中。
下面是我为增加设备名称长度所做的更改。
原始-->用户数据“\x11\x07\xb7\x5c\x49\xd2\x04\xa3\x40\x71\xa0\xb5\x35\x85\x3e\xb0\x83\x07”
修改-->用户数据“\x0c\x06\xb7\x5c\x49\xd2\x04\xa3\x40\x71\xa0\xb5\x35”//删除了最后5个字节
它工作正常,但我想知道它是否符合标准?
请澄清一下,对不对?
设备:
嗨RatheeshT,
放置在广告字符串中的标志指示外围设备支持哪些服务,因此“128位服务uuid的完整列表”意味着在该特定广告字符串中声明设备支持的所有128位服务,另一方面,如果设备支持多个服务,但是广告字符串中没有足够的空间,则BLE规范向外围设备提供选项,以声明它包括由广告字符串指示的更多服务。通常,Central基于广告字符串以连接到外围设备或不连接到外围设备(他们检查广告字符串以了解他们是否对广告字符串中提供的服务感兴趣),因此,如果他们发现一个带有完整服务列表的广告字符串,他们可以很容易地决定是否应该连接,另一方面,如果使用了不完整标志,这意味着它将由central决定是否连接到外围设备以检查可用的服务。
所以你上面所说的是不正确的,因为主机(da14580)不能匹配UUID仅仅因为你声明这是一个不完整的UUID,不完整的UUID指的是设备提供的服务,而不是128位的UUID是否完整。
谢谢你的对话
嗨,MT\u dialog,
我理解你的观点,但我想增加我的设备广告名称如下
#define USER_DEVICE_NAME“DIALOG-1”到define USER_DEVICE_NAME“DIALOG-1DCA02”。即名称大小从8增加到13。(这就是我减少UID长度的原因)
我已在主机和设备中更改了用户\u播发\u数据(用户\u播发\u数据“\x0c\x06\xb7\x5c\x49\xd2\x04\xa3\x40\x71\xa0\xb5\x35”)
我的问题是:
1.我需要增加我的设备名称长度,如何才能做到这一点?
2.用户数据的每个字节都有不同的含义,或者每个字节表示不同的服务?如果是的意思是请提供链接,以了解更多。
嗨RatheeshT,
1.如果我答对了您的问题,如果您将设备的名称放在user\u device\u name definition的user\u config.h文件中,那么如果播发字符串中有足够的空间,那么设备的名称将放在播发字符串中,如果不合适,则将放在扫描响应数据中,如果它不适合扫描响应数据,它将根本不会被放置,因此您将不得不从广告字符串或扫描响应数据字符串中取出一些字节。
2.是的,在广告字符串上,字符串中的数据按其长度和标志进行标记,您可以在蓝牙核心规范中找到有关标志和数据的更多信息。
谢谢你的对话