BLE Central 测试客户端
源码位置: samples/bluetooth/ble/central/client 查看源码
功能说明
本示例将 arcs_evb 作为 BLE Central/GATT Client,通过串口命令执行扫描、
连接、服务发现、特征值读取、通知订阅和连接稳定性监测。它用于辅助执行
TC-BLE-nRF-001 至 TC-BLE-nRF-005;BLE 外设配网场景 TC-BLE-nRF-006 不在本示例范围内。
硬件准备
一块
arcs_evb开发板。一个进入广播状态的 BLE 外设,例如耳机或测试设备。
开发板串口连接到主机。
编译
./build.sh -C -S samples/bluetooth/ble/central/client -DBOARD=arcs_evb -w
烧录与串口
先确认开发板串口设备名,例如 /dev/ttyACM0,然后烧录完整固件:
./tools/burn/cskburn -C arcs -s /dev/ttyACM0 -b 3000000 0x0 build/arcs.bin
使用 921600 波特率打开可交互串口终端:
picocom -b 921600 /dev/ttyACM0
按回车出现 Shell 提示符后,执行 help 应能看到 ble 命令。若日志中出现
Shell init failed,应先检查串口设备配置和可用堆内存。
使用方法
出现 BLE central client ready 后,可执行以下命令。单独执行 ble 会显示帮助:
ble scan [seconds]
ble list
ble connect <index|address>
ble services
ble read <handle>
ble notify <value_handle> <cccd_handle> on|off
ble status
ble monitor [seconds]
ble disconnect
典型测试流程
执行
ble scan 10,等待扫描结束后用ble list检查设备名、地址、RSSI 和广播包中的服务 UUID。执行
ble connect <address>,地址使用ble list显示的格式,例如ble connect 57:4E:C9:6B:48:26。也可继续使用设备 index。程序会从扫描缓存中 读取该设备的 public/random 地址类型,然后检查连接耗时和连接参数。执行
ble services,记录服务、Characteristic、Descriptor UUID 和 handle, 并检查广播声明的服务是否存在于实际 GATT 数据库。使用
ble read <handle>读取可读特征值。使用
ble notify <value_handle> <cccd_handle> on订阅通知,触发外设状态变化 后检查通知数据;使用off取消订阅。执行
ble monitor开始默认 300 秒稳定性监测。完整持续时间内未断连输出stability monitor PASS,监测期间断连输出stability monitor FAIL。
测试判定
本示例输出原始测试数据,不会根据特定产品名称、UUID 或 RSSI 自动判定所有测试项。 测试人员应结合目标产品设计和测试用例要求确认结果。RSSI 会受距离、遮挡、天线方向 和环境干扰影响。
限制
GATT Client 仅支持 BLE 协议栈位于本地核的构建;IPC Client 构建返回
-ENOTSUP。同一连接一次只执行一个服务发现、读取或订阅写操作。
服务发现事件最多显示 40 个属性,读取和通知数据最多显示 512 字节;超出时日志会 标记截断。