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

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

4 R  N& d0 ^8 y3 Y9 \* m& 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) H. [5 h3 |% Q5 q5 {
  2.      - Connection Interval:   1000.00 ms
    ' v+ c' C4 l0 O5 C- t
  3.      - Connection latency:    0
    " E8 A- I  i. r: y" T
  4.      - Supervision Timeout: 5000 ms
    ; j) [' \. J* B; A7 d

  5. ' O! {) E: ?) j
  6. BLE_SVC_L2CAP_Conn_Update(), Successfully   A" R4 b/ h% H) o/ ^" a  i

  7. . F/ ?: @' z( `: g* X
  8. >>== HCI_LE_CONNECTION_UPDATE_COMPLETE_SUBEVT_CODE. S! \! i& w: g0 q- Q: }" Q
  9.      - Connection Interval:   50.00 ms
    9 k) F# d' M. t/ J/ F: Q9 Q
  10.      - Connection latency:    00 a: H& ~1 H- @6 m" H$ A
  11.      - Supervision Timeout: 5000 ms
复制代码
串口输出.PNG
图5 连接过程server日志
blink_cs.gif
6 dongle&Nucleo board互通

$ D, F, B( ~& S4 b2 s: l
收藏 评论0 发布时间:2023-7-6 23:52

举报

0个回答

所属标签

相似分享

官网相关资源

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