您好,对话开销。
我有没有对话的可穿戴套件,我有很少的问题。
我想在广告数据包中宣传传感器数据。但正如我所知,广告数据包最多可达31个字节。
在可穿戴套件的当前固件中广告它的名称和支持的服务。如果我将通过禁用服务并添加一些新数据来改变每100毫秒的广告adv_data - 它仍然使用adnfroid和iOS应用程序吗?我的意思是下一个
现在我们有:
static const uint8_t adv_data [] = {
0x0c,gap_data_type_local_name,'d','我','a','l','o','g','','w','r','b','l','l','l','l','l'
0x01
#if dws_ble_service.
+ 0x02
#endif / * dws_ble_service * /
#if hcs_ble_service.
+ 0x02
#endif / * hcs_ble_service * /
#if bas_ble_service.
+ 0x02
#endif / * bas_ble_service * /
#if hrs_ble_service.
+ 0x02
#endif / * hrs_ble_service * /
#if suota_ble_service.
+ 0x02
#endif / * suota_ble_service * /
那
gap_data_type_uuid16_list_inc,
#if dws_ble_service.
0xa7,0x2e,// = 0x2ea7(dws uuid)
#endif / * dws_ble_service * /
#if bas_ble_service.
0x0f,0x18,// = 0x180f(BAS UUID)
#endif / * bas_ble_service * /
#if hcs_ble_service.
0xc5,0xc8,// = 0xc8c5(HCS UUID)
#endif / * hcs_ble_service * /
#if hrs_ble_service.
0x0d,0x18,// = 0x180d(HRS UUID)
#endif / * hrs_ble_service * /
#if suota_ble_service.
0xF5,0xFE,// = 0xFEF5(对话框uuid)
#endif / * suota_ble_service * /
};
100毫秒后,我想改变它:
static const uint8_t adv_data [] = {
0x0c,gap_data_type_local_name,'d','我','a','l','o','g','','w','r','b','l','l','l','l','l'
0x08,gap_data_type_manufacturer_spec,0xd2,0x00,ID_Sensor_1,Data1,Data2,Data3,Data4,
};
100毫秒后,我想改变它:
static const uint8_t adv_data [] = {
0x0c,gap_data_type_local_name,'d','我','a','l','o','g','','w','r','b','l','l','l','l','l'
0x08,GAP_DATA_TYPE_MASUFAFTURER_SPEC,0xD2,0x00,ID_SENSOR_2,DATA1,DATA2,DATA3,DATA4,
};
依此类推,何时将在循环中宣传所有传感器值。
它会以这种方式工作吗?

嗨斯巴达,
广告PDU包含31个字节,但用户可以将最多28bytes附加到广告字符串中。根据蓝牙LE规范,最大广告数据长度为28个字节(保留31.保留31.保留31减3,以设置广告数据类型标志 - 不得在使用此功能的广告数据中设置。如果制造商特定数据无法拟合到广告数据包中,则可以使用扫描响应数据。活动扫描仪(通过扫描请求)可以从广告商请求高达31个字节的附加信息。为此,您可以将传感器数据升级到Scan_rsp_data []阵列中。应该使用API来修改广告数据和扫描响应数据是被调用为WRBL_TASK的BLE_GAP_ADV_DATA_SET()。在您的情况下,您可以将传感器数据附加到扫描响应数据中,或者在100ms时(我假设在计时器到期时)停止广告并更新广告数据。
还请阅读广告概念教程来自我们的支持网站。
谢谢,PM_DIALOG.
非常感谢快速回复。会尝试。
嗨斯巴达,
如果您需要进一步澄清,请告诉我,或者您是否有任何其他后续问题。
谢谢,PM_DIALOG.
所以我有麻烦,因为我有没有发送扫描请求的被动扫描仪。所以我的问题仍然是最新的