你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【STM32WB55评测】评测二 p2p通信

[复制链接]
MingXJ 发布时间:2023-7-6 23:52
评测二 p2p通信
          众所周知,站在GATT层,分ClientServer角色,站在GAP层,分CentralPeripheral角色。而p2p通信就是GATT ClientServer特征的一系列操控。STM32WB55刚好定义了一组LED_Button service,它的构成见官方文档《AN5289 - Building a Wireless application7.4章节:
p2p_service.PNG
1 p2p对端通信服务UUID
可读可写是LED特征,通知是Button特征。
一、        准备工作
     STM32WB55 Nucleo board用STM32CubeProgrammer烧录STM32Cube_FW_WB_V1.16.0\Projects\P-NUCLEO-WB55.Nucleo\Applications\BLE\BLE_p2pServer\Binary\BLE_p2pServer_reference.hex,STM32WB55 Dongle进入boot后同样用STM32CubeProgrammer(细节上一篇评测有讲,不赘述)或直接外置Jlink烧录STM32Cube_FW_WB_V1.16.0\Projects\P-NUCLEO-WB55.USBDongle\Applications\BLE\BLE_p2pClient\Binary\BLE_p2pClient_reference.hex,注:dongle的Jink板子并未丝印,需要查看原理图上CN1的PA13/PA14/GND/3V3就能SWD编程。
IMG_20230625_235812.jpg
图2 dongle的SWD编程接口
手机安装ST BLE Toolbox。
% v7 s& @+ T% |, i+ T' a6 |5 F
二、        runtime
1.      手机做client
     手机端往UUID=0000FE41-8e22-4541-9d4c-21edae82ed19写0100把对端server的LED1熄灭,写0101把对端server的LED1点亮;同理开发板SW1按下往UUID=0000FE42-8e22-4541-94dc-21edae82ed19发通知0100或0100,第1个字节代表第1个server。这里测出一个问题,为了录屏,我用旧手机当client(小米6+安卓9),发现APP的LED&Button进入页没有显示LED图标,必须要按下按钮收到通知LED图标才出现,新手机上APP没有此现象;再个就是旧手机不容易扫描到,经常设备看不到p2pserver,新手机好很多,可能是APP未对旧系统适配。
Screenshot_2023-07-06-22-57-50-695_com.st.bluems.jpg
图3 旧版APP进入并未显示有LED控制图标(未适配)
blink_app.gif
图4 手机LED&Button特征操作
2.      dongle做client
      这里的操作就多了,彼此可以互通信,dongle的SW1可控Nucleo board的LED1,反过来Nucleo的SW1可控制dongle的LED1,连接心跳彼此的绿灯都在同步闪烁指示,同时Nucleo的SW2可以设置连接参数,按一下可切换连接间隔在10ms或1s,并且10ms->1s立马切换,1s->10ms要等彼此绿灯闪10次即等10s才切换成功,经测试验证和readme.txt描述现象一致,相应日志也能看到:
  1. >>== HCI_LE_CONNECTION_UPDATE_COMPLETE_SUBEVT_CODE
    - n& C. O( g4 G) `
  2.      - Connection Interval:   1000.00 ms
    3 L2 o! C* ^$ T2 z2 h( d1 ^4 E; g
  3.      - Connection latency:    0
    / o6 j5 v  c- @
  4.      - Supervision Timeout: 5000 ms# `6 u' ~4 h3 \3 r) o
  5.   w6 K# R5 P  b# O1 A
  6. BLE_SVC_L2CAP_Conn_Update(), Successfully 0 H+ x* i3 Z1 l% A
  7. 3 E  `5 k5 A* a/ a( D
  8. >>== HCI_LE_CONNECTION_UPDATE_COMPLETE_SUBEVT_CODE
    5 l+ q; u: L1 b; n
  9.      - Connection Interval:   50.00 ms
    0 x; u7 j5 g; c
  10.      - Connection latency:    0% y$ R, @9 t4 m
  11.      - Supervision Timeout: 5000 ms
复制代码
串口输出.PNG
图5 连接过程server日志
blink_cs.gif
6 dongle&Nucleo board互通

# C5 P. E! p2 `# P
收藏 评论0 发布时间:2023-7-6 23:52

举报

0个回答

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版