|
对于初学BLE的学生来说,很多东西都需要学习,比如GATT服务。还好官方提供了丰富的学习例程,通过练习这些例程理解并掌握BLE。3 K% H" Q& G7 O* Z: L 倒觉得,边跑demo,边去理解广播,GATT服务,读写测试等等,应该更快。 官方例程如图1所示:; ^6 U: D7 b: l. \4 f
图1* {0 y: C* N" P) S. O1 P 7 {! X1 p, r: X& K 按照学习计划,找一个比较好理解的例程先学习。比如BLE_HeartRate。2 u) w) _2 }! D# v4 H , ~ X+ G# T$ @$ M, x) ?7 ? 通过阅读Readme,了解这个example 要实现的功能。初步理解为板卡打开广播,手机连接到板卡,能够读取到HeartRate的数据。4 f- j- X h+ R 这里的数据应该都是模拟值,连接到实际传感器后,修改相关函数即可。 6 Z3 O9 K M) B# Q1 L 打开例程,编译,Debug。还是习惯使用MDK,如图2所示:; s& g0 g7 t3 _. F5 Z$ k; h: b
图2 C: S0 G( Y- q3 W+ _$ @ 打开手机的 ST BLE ToolBox,如图3所示:
图3 折腾半天,依然无法搜索到板卡的项目名称。后来使用nRF connect 能搜索到,如图4所示:
图4 使用官方的app 应该UI图像会更直观,没办法,搜不到。只能使用nRF connect ,验证板卡广播没有问题。考虑应该是ble toolbox 和手机的兼容问题。; d4 W6 ?; k3 M: E3 c5 \7 [- N# f/ j 连接的数据如图5所示:
图5 & k$ e3 Q1 @6 J5 {. C 从图5的数据可以看到Heart Rate UUID = 0x180D,Heart Rate Measurement = 0x2A37,都是正确的。 UUID 全称是 Universally Unique Identifier(通用唯一识别码),在 BLE 里,每一个 Service(服务) 和 Characteristic(特征值) 都必须有一个 UUID,用来标识它的身份。" r; a3 k6 W9 D1 ^4 y 从图中也可以看出,connected not bonded,就是连接了,没有绑定,下次扫描到还需要重新连接。' a& ^# |1 ~1 y2 M% r8 v4 c% l4 z) Q 下一个功能学习换个手机,更新下系统试试官方的app。 2 X% [) l1 ~& c+ ^ |
低功耗蓝牙无线升级:STM32WB OTA 固件更新技术解析
STM32WB Zigbee 自定义集群开发实战:AN5491 应用笔记深度解读
吃透:STM32WB 上 Zigbee 睡眠终端设备开发攻略
STM32 无线 MCU HSE 频率与启动时间精确调谐实战指南
深度解读:STM32WB 2.4GHz 低成本 PCB 蛇形天线设计实战指南
经验分享 | STM32WB 双核无线 MCU 开发全流程实战指南
STM32WB 基于 Custom Template 实现 BLE 私有协议 实操开发指南
详解STM32单片机的堆栈
STM32单片机进行除零运算,为何程序不崩溃?
从照明到楼宇:STM32WBx5 BLE Mesh 落地指南
微信公众号
手机版