|
对于初学BLE的学生来说,很多东西都需要学习,比如GATT服务。还好官方提供了丰富的学习例程,通过练习这些例程理解并掌握BLE。4 E; a9 J8 ~" G: {5 z 倒觉得,边跑demo,边去理解广播,GATT服务,读写测试等等,应该更快。 官方例程如图1所示:
图1 按照学习计划,找一个比较好理解的例程先学习。比如BLE_HeartRate。" N; {% e1 Z$ G ! S7 }/ Q' o* N, p7 q- o7 t/ H6 u) V3 D# ] 通过阅读Readme,了解这个example 要实现的功能。初步理解为板卡打开广播,手机连接到板卡,能够读取到HeartRate的数据。 这里的数据应该都是模拟值,连接到实际传感器后,修改相关函数即可。 |1 O; G, N l. W' c0 [ ' k% ]; O, p, S% Q, j 打开例程,编译,Debug。还是习惯使用MDK,如图2所示:
图2; s( [' I# [) e% L0 b% h) G" j9 z. ` / g' E7 F2 M% D1 } z' J0 ~ 打开手机的 ST BLE ToolBox,如图3所示:
图3 9 S1 p4 G: ?9 k/ I* L. N j& \ 折腾半天,依然无法搜索到板卡的项目名称。后来使用nRF connect 能搜索到,如图4所示:
图4: w1 |2 J8 b8 ]9 M& C! S A 6 s9 I9 ] A0 w1 r' X- i9 L 使用官方的app 应该UI图像会更直观,没办法,搜不到。只能使用nRF connect ,验证板卡广播没有问题。考虑应该是ble toolbox 和手机的兼容问题。; k7 J6 ?1 I e* M# ^ 连接的数据如图5所示:
图5( }/ F& i5 G' x2 u1 f: x5 q 7 l6 Z% K; B( |4 _" B* Z5 H4 H% q 从图5的数据可以看到Heart Rate UUID = 0x180D,Heart Rate Measurement = 0x2A37,都是正确的。6 q* v) d6 l% X: s; V2 h2 `/ ? UUID 全称是 Universally Unique Identifier(通用唯一识别码),在 BLE 里,每一个 Service(服务) 和 Characteristic(特征值) 都必须有一个 UUID,用来标识它的身份。( R9 D' `7 _1 ?% e 从图中也可以看出,connected not bonded,就是连接了,没有绑定,下次扫描到还需要重新连接。: V+ g/ K. R, V" V 下一个功能学习换个手机,更新下系统试试官方的app。$ D9 Z$ Q6 b1 q a; o$ u5 B & k9 F& S( q7 S. @$ i N% L |
【STM32WB55MM-DK | Zephyr】1、创建zephyr_shell工程
低功耗蓝牙无线升级:STM32WB OTA 固件更新技术解析
STM32WB Zigbee 自定义集群开发实战:AN5491 应用笔记深度解读
吃透:STM32WB 上 Zigbee 睡眠终端设备开发攻略
STM32 无线 MCU HSE 频率与启动时间精确调谐实战指南
深度解读:STM32WB 2.4GHz 低成本 PCB 蛇形天线设计实战指南
经验分享 | STM32WB 双核无线 MCU 开发全流程实战指南
STM32WB 基于 Custom Template 实现 BLE 私有协议 实操开发指南
详解STM32单片机的堆栈
STM32单片机进行除零运算,为何程序不崩溃?
微信公众号
手机版