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

【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。

2 q; r0 w, }, x" M) v& O
二、        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* k  L6 Y# m5 H/ B
  2.      - Connection Interval:   1000.00 ms
    5 [/ ?8 u) K- v7 N  q  w+ i
  3.      - Connection latency:    0
    9 T! W9 A: Q( X( v7 R4 ~9 N
  4.      - Supervision Timeout: 5000 ms
    / [4 x  |: a3 z( r* \

  5. + d2 Y2 T. I7 `  a( d
  6. BLE_SVC_L2CAP_Conn_Update(), Successfully - J, x2 N6 x( A; N3 n) [. c

  7. ) h; V: ?, ]: y2 p2 b* `
  8. >>== HCI_LE_CONNECTION_UPDATE_COMPLETE_SUBEVT_CODE
    6 U0 X1 I% K- D, \8 z. ^
  9.      - Connection Interval:   50.00 ms( q. o3 D. f3 l1 R2 K! L# j) u
  10.      - Connection latency:    0( ?% [) H8 J, l; o* K5 `
  11.      - Supervision Timeout: 5000 ms
复制代码
串口输出.PNG
图5 连接过程server日志
blink_cs.gif
6 dongle&Nucleo board互通
# T3 z+ Y1 A% d9 _- F7 i: B
收藏 评论0 发布时间:2023-7-6 23:52

举报

0个回答
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版