蓝牙碰一碰广播与蓝牙靠近发现广播的AD Structure2结构大致类似,主要区别在于Huawei Spec Data中的Business字段之后:蓝牙靠近发现定义了多个TV/TLV字段,而蓝牙碰一碰定义了一个TypeList以及一组Value信息。广播字段说明详见广播包结构(拉起FA)。 图6 蓝牙碰一碰广播的AD Structure2结构 广播...
有效数据部分:包含若干个广播数据单元,称为 AD Structure。如图中所示,AD Structure 的组成是:第一个字节是长度值 Len,表示接下来的 Len 个字节是数据部分。数据部分的第一个字节表示数据的类型 AD Type,剩下的 Len - 1 个字节是真正的数据 AD data。其中 AD type 非常关键,决定了 AD Data 的数据代表的是...
数据的类型 AD Type,剩下的 Len - 1 个字节是真正的数据 AD data。其中 AD type 非常关键,决 定了AD Data 的数据代表的是什么和怎么解析 无效数据部分:因为广播包的长度必须是 62 个 byte,如果有效数据部分不到 62 自己,剩下的就 用0 补全。这部分的数据是无效的,解释的时候,忽略即可。 AD type分类 F...
有效数据部分 包含若干个广播数据单元,称为 AD Structure 。如图所示,AD Structure 的组成是: 长度Len ,表示这个 AD Structure 的长度(除去 len本身 1) 类型AD Type 标记这段广播数据代表什么, 比如设备名, uuid 等。 数据AD data 无效数据部分 广播包的长度必须是 31 个 byte,如果有效数据部分不到 31 自己,...
adv_mode为GAP_ADV_TYPE_ADV_IND或GAP_ADV_TYPE_ADV_SCAN_IND时,需设置扫描响应数据,其他情况则无需设置。 static const uint8_t s_adv_data_set[] = { 0x03, BLE_GAP_AD_TYPE_COMPLETE_LIST_16_BIT_UUID, 0x01, 0x00, }; static const uint8_t s_adv_rsp_data_set[] = { 0x0b, BLE_GAP...
Service UUID: 广播数据中一般都会把设备支持的 GATT Service 广播出来,用来告诉外面本设备所支持的 Service。有三种类型的 UUID:16 bit, 32bit, 128 bit。广播中,每种类型类型有有两个类别:完整和非完整的。这样就共有 6 种 AD Type。 非完整的 16 bit UUID 列表: TYPE = 0x02; ...
< Service Solicitation: list of 128-bit Service UUIDs #define GAP_ADTYPE_SERVICE_DATA 0x16 //!< Service Data - 16-bit UUID #define GAP_ADTYPE_PUBLIC_TARGET_ADDR 0x17 //!< Public Target Address #define GAP_ADTYPE_RANDOM_TARGET_ADDR 0x18 //!< Random Target Address...
#define BLE_GAP_AD_TYPE_SOLICITED_SERVICE_UUIDS_16BIT 0x14 /**< List of 16-bit Service Solicitation UUIDs. */ #define BLE_GAP_AD_TYPE_SOLICITED_SERVICE_UUIDS_128BIT 0x15 /**< List of 128-bit Service Solicitation UUIDs. */
/*! service UUID list */ 9, /*! length */ DM_ADV_TYPE_16_UUID, /*! AD type */ UINT16_TO_BYTES(ATT_UUID_HEART_RATE_SERVICE), UINT16_TO_BYTES(ATT_UUID_RUNNING_SPEED_SERVICE), UINT16_TO_BYTES(ATT_UUID_DEVICE_INFO_SERVICE), ...
各个AD Type的值在QN9020 SDK里也可以看到: /// GAP Advertising Flags enum { /// Flag GAP_AD_TYPE_FLAGS = 0x01, /// Use of more than 16 bits UUID GAP_AD_TYPE_MORE_16_BIT_UUID, /// Complete list of 16 bit UUID GAP_AD_TYPE_COMPLETE_LIST_16_BIT_UUID, ...