CH579 CH573 CH582 蓝牙从机设置白名单


1. 白名单机制

  • 白名单(white list)是BLE协议中最简单、直白的一种安全机制。
  • 所谓的白名单,就是一组蓝牙地址。
  • 通过白名单,可以只允许特定的蓝牙设备(白名单中列出的)扫描(Scan)、连接(connect)我们。
  • 也可以只扫描、连接特定的蓝牙设备(白名单中列出的)。

2.2 LE Clear White List Command,将controller中的白名单清空

/*******************************************************************************
* @fn LL_ClearWhiteList
*
* @brief Clear white list
*
* input parameters
*
* @param None
*
* output parameters
*
* @param None.
*
* @return Command Status.
*/

extern bStatus_t LL_ClearWhiteList( void );

该命令的格式为:

OCF

Command parameters

Return Parameters

0x0010

Status

Status,命令执行的结果,0为success。

2.3 LE Add Device To White List Command,将指定的设备添加到白名单

/*******************************************************************************
* @fn LL_AddWhiteListDevice
*
* @brief Add a device address into white list ( support 16 MAX )
*
* input parameters
*
* @param addrType - Type of device address
* @param devAddr - first address of device address
*
* output parameters
*
* @param None.
*
* @return Command Status.
*/
extern bStatus_t LL_AddWhiteListDevice( u8 addrType, u8 *devAddr );

该命令的格式为:

OCF 

Command parameters

Return Parameters

0x0011

Address_type(1 byte)
Address(6 bytes)

Status

Address_type,设备的地址类型[1],0为Public Device Address,1为Random Device Address。

Address,设备的地址。

Status,命令执行的结果,0为success。

2.4 LE Remove Device From White List Command,将指定的设备从白名单中移除的命令

/*******************************************************************************
* @fn LL_RemoveWhiteListDevice API
*
* @brief Remove a device address from white list
*
* input parameters
*
* @param addrType - Type of device address
* @param devAddr - first address of device address
*
* output parameters
*
* @param None.
*
* @return Command Status.
*/
extern bStatus_t LL_RemoveWhiteListDevice( u8 addrType, u8 *devAddr);

该命令的格式为:

OCF

Command parameters

Return Parameters

0x0012

Address_type(1 byte)
Address(6 bytes)

Status

Address_type,设备的地址类型[1],0为Public Device Address,1为Random Device Address。

Address,设备的地址。

Status,命令执行的结果,0为success。

最后需要说明的是,当controller处于以下三个状态的时候,以上命令除"LE Read Resolving List Size Command"外,均不能执行:

正在advertising;

正在scanning;

正在connecting。

3. 白名单使用策略有关的命令

BLE设备在发起Advertising、Scanning或者Connecting操作的时候,可以通过Set Advertising Parameters、Set Scan Parameters或者LE Create Connection Command,设置Advertising、Scanning或者Connecting的过滤策略(Filter_Policy),具体如下:

(24条消息) 9.BLE---安全机制之白名单_weixin_30883311的博客-CSDN博客

相关