天天看點

【IoT】BLE 廣播的基礎資料定義:廣播名字類型和裝置類型标志

BLE 實際廣播 AD 資料區滿足 LTV 格式,下面介紹的類型就是指資料 LTV 中的 T 字段。

1、廣播名字類型

廣播中的 name_type 字段:

typedef enum
{
    BLE_ADVDATA_NO_NAME,            /**< Include no device name in advertising data. */
    BLE_ADVDATA_SHORT_NAME,         /**< Include short device name in advertising data. */
    BLE_ADVDATA_FULL_NAME           /**< Include full device name in advertising data. */
} ble_advdata_name_type_t;
           

廣播名字類型有三種形式:

1.1、廣播資料中無裝置名字;

1.2、廣播資料中包含短的裝置名字;

1.3、廣播資料中包含完整的裝置名字。

2、裝置類型标志

廣播中的 flags 字段:

#define BLE_GAP_ADV_FLAG_LE_LIMITED_DISC_MODE         (0x01)   /**< LE Limited Discoverable Mode. */
#define BLE_GAP_ADV_FLAG_LE_GENERAL_DISC_MODE         (0x02)   /**< LE General Discoverable Mode. */
#define BLE_GAP_ADV_FLAG_BR_EDR_NOT_SUPPORTED         (0x04)   /**< BR/EDR not supported. */
#define BLE_GAP_ADV_FLAG_LE_BR_EDR_CONTROLLER         (0x08)   /**< Simultaneous LE and BR/EDR, Controller. */
#define BLE_GAP_ADV_FLAG_LE_BR_EDR_HOST               (0x10)   /**< Simultaneous LE and BR/EDR, Host. */
#define BLE_GAP_ADV_FLAGS_LE_ONLY_LIMITED_DISC_MODE   (BLE_GAP_ADV_FLAG_LE_LIMITED_DISC_MODE | BLE_GAP_ADV_FLAG_BR_EDR_NOT_SUPPORTED)   /**< LE Limited Discoverable Mode, BR/EDR not supported. */
#define BLE_GAP_ADV_FLAGS_LE_ONLY_GENERAL_DISC_MODE   (BLE_GAP_ADV_FLAG_LE_GENERAL_DISC_MODE | BLE_GAP_ADV_FLAG_BR_EDR_NOT_SUPPORTED)   /**< LE General Discoverable Mode, BR/EDR not supported. */
           

一般情況下,将廣播類型設定為有限可發現模式,并且設定不支援經典藍牙,有限可發現模式的廣播頻率比一般可發現模式的廣播(BLE_GAP_ADV_FLAGS_LE_ONLY_LIMITED_DISC_MODE)快,具體字段定義需要滿足實際産品要求。

繼續閱讀