一:测试准备工作
官方源码位置:
D:\STM32Cube\STM32Cube_FW_WBA_V1.10.0\Projects\NUCLEO-WBA65RI\Applications\BLE\BLE_p2pServer
手机需要下载软件: ST BLE Toolbox
下载网址如下:
https://www.st.com/en/embedded-software/stbletoolbox.html
二: P2P Server 例程概述
P2P(Peer to Peer,点对点)Profile 是 ST 定义的一个基于 GATT 的低功耗蓝牙配置文件,使用 ST 自定义的 128 位 UUID。P2P Server 设备作为 GATT 服务器,向中央设备(如手机、P2P Client 设备)暴露一个 P2P 服务,该服务包含两个特征值,用于实现双向数据通信。
P2P 服务定义:
P2P 服务的 UUID 为 0000FE40-cc7a-482a-9d4c-21edae82ed19,该服务下包含两个特征值:
LED 特征值:UUID 为 0000FE41-8e22-4541-9d4c-21edae82ed19,属性为 Write without Response 与 Read,数据长度为 2 字节,用于由远程设备控制板载蓝色 LED。
SWITCH 特征值:
UUID 为 0000FE42-8e22-4541-9d4c-21edae82ed19,属性为 Notify,数据长度为 2 字节,用于向远程设备发送按键状态通知。
LED 特征值数据格式:
LED 特征值共 2 字节:第 0 字节为 LED 选择,取值 0x01 表示蓝色 LED;第 1 字节为 LED 电平,取值 0x00 表示熄灭,0x01 表示点亮。
SWITCH 特征值数据格式:
SWITCH 特征值共 2 字节:第 0 字节为按键选择,取值 0x01 表示按键 1;第 1 字节为按键状态,取值 0x00 或 0x01。
三: 编译下载与手机测试
3.1 编译与下载
在 IDE(Keil / STM32CubeIDE)中打开生成的工程
编译工程,确认无错误
使用 ST-Link 将程序下载到开发板
复位开发板,设备开始广播(蓝色 LED 可指示广播状态)
3.2 手机端连接测试
在手机上安装并打开 ST BLE ToolBox 应用
点击扫描,在列表中找到名为 p2pS_XX 的设备(XX 为蓝牙地址末字节)
点击连接,建立 BLE 连接
进入 P2P Server 服务界面,开启 SWITCH_C 特征值的 Notify(点击通知图标)
点击 LED 按钮,观察开发板蓝色 LED 的亮灭变化
四:实验现象:
实物测试图片如下所示:



编译烧录后用 ST BLE Toolbox 连接设备:手持手机靠近板卡,LED 变绿;逐渐走远,依次变为蓝、红;快速来回移动可实时看到颜色切换。整个过程直观展示了 BLE 信道质量随距离/遮挡的变化,也验证了板卡的射频灵敏度与稳定性。
五:常用调试手段
虚拟串口日志:把 printf 重定向到 VCP(如 LPUART1),在 Keil MDK 内置终端实时查看协议栈与应用日志;
SWD 断点调试:在 BLE 回调、数据处理处下断点,单步查看变量与寄存器,定位逻辑问题;
协议栈事件回调:打印 GAP 连接/断开、GATT 读写、通知使能等事件,理清状态机流转;
手机 App 观察:用 ST BLE Toolbox 查看广播包内容、GATT 服务/特征列表、MTU,直接读写特征验证;
空中抓包:如需深入分析空口报文,可配合 BLE Sniffer(如 STM32CubeMonitor-RF + 兼容硬件)抓取广播与连接报文。
总结
STM32WBA65RI 是一块「性能、无线、安全、功耗」都很均衡的 BLE + 多协议开发板:对开发者,它意味着免费完备的工具链、开箱即用的演示和清晰的进阶路径;对产品,它覆盖可穿戴健康监测、电子锁、智能家居、定位信标等主流物联网场景。本文从点灯到 RSSI 信道探测应用完整跑通全流程,整体体验顺畅,强烈推荐给关注 BLE 6.0 与多协议物联网开发的工程师。
使用官方的代码和APP可以快速验证,硬件和软件是否正常。
我要赚赏金
