[Telink][TLSR8251] [泰凌微][SDK3.4] 上手第二步 框架介绍
Telink BLE SDK 给⽤⼾提供了多个 BLE demo。
⽤⼾通过软硬件 demo 的运⾏,可以观察到直观的效果。⽤⼾也可以在 demo code 上进⾏修改,完成⾃⼰的应⽤开发。
BLE Slave Demo
Demo | Stack | Application | MCU Function |
---|---|---|---|
B85m hci | BLE controller | No | BLE controller,only Advertising and one Slave connection |
B85m module | BLE controller + host | Application 在主控 MCU 上 | BLE 透传模组 |
B85m ble remote | BLE controller +host | 遥控器应⽤ | 主控 MCU |
B85m ble sample | BLE controller +host | 最简单的 slave demo,⼴播和连接功能 | 主控 MCU |
B85m feature | BLE controller +host | 各种 feature 的集合 | 主控 MCU |
B85m hci 是⼀个 BLE slave controller,提供了基于 USB/UART 的 HCI,和其他 MCU 的 host 通信,形成⼀个完整的 BLE slave 系统。
B85m module 只作为 BLE 透传模组,与主控 MCU 通过 UART 接⼝通信,⼀般应⽤代码写在对⽅主控 MCU。
B85m module 实现了通过透传模组控制相关状态变化的功能。
注意:
- 由于功能实现复杂,使⽤ B85m module 时必须更换为 32k retention 相关配置并编译使⽤。
B85m remote 是⼀个基于完整 slave ⻆⾊的遥控器 demo,包含低压检测、按键扫描、NEC 格式红外发射、OTA空中升级、应⽤层电源管理、蓝⽛控制、语⾳传输、红外学习等功能。⽤⼾可以根据此⼯程了解到⼀个基本的使⽤案例是什么结构的,以及⼤部分功能在应⽤层是如何实现的。
注意:
- 由于语⾳、红外、红外学习耗费 ram 资源较⼤,打开这些功能时,B85m remote 必须更换为 32k retention
相关配置并编译使⽤。
B85m ble sample 是对 B85m_ble_remote 的简化,可以和标准的 IOS/android 设备配对连接。
BLE master demo
B85m master kma dongle 是 BLE master single connection 的 demo,可以和 B85m ble sample/B85m ble remote/B85m module 连接并通信。
B85m ble remote/B85m ble sample 对应的 library 提供了标准的 BLE stack(master 和 slave 共⽤⼀个 library),包含了 BLE controller + BLE host,⽤⼾只需要在 app 层添加⾃⼰的应⽤代码,不⽤再去处理 BLE host 的东西,完全依赖于 controller 和 host 的 API 即可。
新 SDK 的 library 将 slave 和 master 库合⼆为⼀了,B85m master kma dongle 编译 code 的时候只会调⽤库中标准的 BLE controller 功能部分,library 中并没有提供 master 的标准 host 功能。B85m master kma dongle demo code 在 app 层上给出了参考的 BLE Host 的实现⽅法,包括 ATT、简单的 SDP(service discoveryprotocol)和最常⽤的 SMP(security management protocol)等。
BLE master 最复杂的功能在于对 slave server 的 service discovery 和所有 service 的识别,⼀般是在 android/linux 系统中才能实现。Telink B85m IC 由于 flash size 和 Sram size 的限制,⽆法提供完整的 service discovery。
但是 SDK 中提供了所有 service discovery 需要⽤到的 ATT 接⼝,⽤⼾可以参考 B85m master kma dongle 对B85m ble remote 的 service discovery 过程,去实现⾃⼰的特定 service 的遍历。