1. BLE 广播示例
源码位置: samples/bluetooth/ble/peripheral/broadcaster 查看源码
1.1. 功能说明
本示例演示如何使用 LISA Bluetooth 组件实现 BLE 广播功能。 主要功能包括:
自定义广播数据(Flags, Local Name)。
自定义扫描响应数据(Manufacturer Specific Data)。
自定义 GAP 配置(MAC 地址,设备名称)。
1.2. 硬件连接
无需外部连接,使用板载 BLE 功能。
1.3. 示例内容
初始化 NVS 和 射频校准。
初始化 LISA Bluetooth 组件。
系统自动开始广播。
1.4. 编译
重要提示:在编译前,请先确认您使用的开发板型号。SDK 目前支持以下开发板:
arcs_evb - ARCS EVB 评估板
arcs_mini - ARCS Mini 开发板
根据您的开发板型号,选择对应的编译命令:
在示例目录下执行编译:
# 使用 arcs_evb 开发板
./build.sh -C -DBOARD=arcs_evb
# 或使用 arcs_mini 开发板
./build.sh -C -DBOARD=arcs_mini
Note
如果在 SDK 根目录执行,需要指定示例路径:
# 使用 arcs_evb 开发板
./build.sh -C -S samples/<示例路径> -DBOARD=arcs_evb
# 或使用 arcs_mini 开发板
./build.sh -C -S samples/<示例路径> -DBOARD=arcs_mini
Note
确保已安装对应的工具链。
1.5. 预期输出
[I][sample] === BLE Broadcaster Example ===
[I][lisa_bt] BLE Stack Initialized
[I][lisa_bt] Advertising started
...
1.6. 核心 API
API |
说明 |
|---|---|
|
初始化蓝牙协议栈 |
|
获取自定义广播数据(弱符号覆盖) |
|
获取自定义扫描响应数据(弱符号覆盖) |
|
自定义 GAP 配置(弱符号覆盖) |
1.7. 关键代码
/* 自定义广播数据 */
const uint8_t* lisa_bt_get_adv_data(uint8_t *len)
{
*len = sizeof(user_adv_data);
return user_adv_data;
}
/* 自定义 GAP 配置 */
void lisa_bt_gap_config(ble_gap_cfg_t *cfg)
{
// Set custom MAC address
uint8_t mac[6] = {0x11, 0x22, 0x33, 0x44, 0x55, 0x66};
memcpy(cfg->addr.addr, mac, 6);
// ...
}
1.8. 注意事项
MAC 地址: 示例中使用了固定的 MAC 地址,实际产品中应从 NVS 或其他存储中读取。
广播数据: 广播数据长度有限制(通常 31 字节),请注意不要溢出。