【NUCLEO-WBA52CG STM32无线产品家族新系列】+4、p2p server
[复制链接]
p2p server示例是 Point-to-Point communication using BLE (as GATT server)的意思,开启广播等待客户端(如手机)连接,连接成功后可以向客户端发送通知数据或者接收客户端发来的数据。
首先了解下蓝牙GATT:
GATT 是蓝牙最重要的profile,GATT是Generic Attribute Profile Specification(通用属性配置文件规范)的缩写,GATT是建立连接后通信规范。GATT 规定了蓝牙设备双方传输数据时的通信规则和数据格式,通信双方以C/S模式进行通信,何为C/S那 就是 server 和client 。其中包含GATT配置的设备作为server(GATT服务端)外设peripheral,另外读取它信息的设备叫做client(GATT客户端)也叫做中心设备(master)。(注意一个gatt的外设只能连接一个master)一个中心设备(例如手机)却可以连接多个外设。
得益于STM32WBA52系列完善的SDK,实际应用中复杂的蓝牙协议无需我们深入研究,通过官方的示例,能清晰的了解到其基本用法。用户应用相关的接口采用回调形式,在p2p_server_app.c中实现,接收客户端消息处理调用了P2P_SERVER_Notification:
更新通知数据发送到客户端,调用P2P_SERVER_UpdateValue即可:
通过蓝牙调试助手连接后,可以看到提供的服务和特征值:
按下按钮B1会打印日志并发送消息到客户端:
客户端日志接收到通知消息:
|