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