当前文档版本为 v0.4.1,您可以访问当前页面的 开发中 版本以获取最近可能的更新。

Bluetooth: Peripheral Identity

1 功能概述

此项目演示了蓝牙从机,与多个主机建立连接的功能。

2 环境要求

  • board: 支持 BLE 的蓝牙设备

  • uart(option): 用来显示串口log

  • 测试软件: nRF Connect

验证多连接功能时,需要多个支持蓝牙的设备。

3 编译和烧录

项目位置:zephyr\samples_panchip\bluetooth\peripheral_identity

目前可使用ZAL工具或quick build脚本进行编译和下载。

脚本位置:quick_build_samples\bluetooth\peripheral_identity.bat

打开脚本后默认会编译项目,编译完成时,可输入字符进行后续下载等操作:

Input the keyword to continue:
  'b' build                         编译项目
  'r' make clean and rebuild        重新编译项目
  'f' flash download                下载
  'e' erase chip                    擦除芯片
  'o' open project by VS Code       打开 `VS Code`,可查看源码,执行编译下载等
  others exit                       退出
wait input:

4 演示说明

  1. 烧录完成后,设备自动启动蓝牙广播,可以在手机或抓包工具上获取如下信息:

    • Device Name: Zephyr Peripheral

  2. 当手机或其它主设备与其建立连接后,串口log 会显示连接信息,如下:

    Connected (1): 52:A7:8D:29:A4:5B (random)
    
  3. 并且,设备会使用新的一组地址进行广播,如下:

    New id: 1
    Using current id: 1
    Advertising successfully started
    

    广播数据的格式与第一阶段一致。

    重复步骤1-2,可以实现建立多个连接。

5 其它说明

5.1 配置

prj.conf 中的如下两个宏,会影响最大支持的连接个数。

CONFIG_BT_MAX_CONN=8
CONFIG_BT_ID_MAX=8