这个页面的 最新开发版本 可能比这个发布的 2.1.0rc1 版本新。

蓝牙协议栈架构

WM IoT SDK 蓝牙协议栈采用分层架构设计,其分层结构如下图所示:

WM IoT SDK 蓝牙协议栈架构
  • Applications

    • 应用程序层位于整个蓝牙协议栈最顶层,用户基于主机协议栈 API 及 Profiles 开发自己的应用程序。

  • Profiles

    • Profiles 位于主机协议栈之上,它包含了Zephyr蓝牙主机协议栈提供的标准 Profiles 和 wm-iot-sdk 开发的通用Profiles。

      • 标准的Profiles 包含了电池服务、心率计服务、即时告警服务、对象传输服务。

      • BLE-Mesh 包含了 Zephyr 提供的 Mesh 协议的基础功能和 wm-iot-sdk 开发的多个通用模型实例。

      • BLE-WIFIPROV 是 wm-iot-sdk 实现的通过 BLE 方式为 Wi-Fi 入网提供配置参数,使得设备能够快速连接到路由器或者软AP的示例。

      • BLE-OTA 是 wm-iot-sdk 实现的通过BLE方式为 wm-iot-sdk 设备提供在线固件升级功能的示例。

  • Host

    • Zephyr蓝牙主机协议栈提供完整的低功耗蓝牙(BLE)协议栈,以及经典蓝牙(BR/EDR)主机的一部分。wm-iot-sdk 移植kernel部分,包含内存、线程、timer、队列、信号量等,使其运行在 wm-iot-sdk 平台。

  • Host Controller接口

    • Bluetooth Specification定义了 Host 和 Controller 通讯的 HCI 协议,HCI 协议可以在不同的物理传输通道上实现,比如 UART , SPI 或者 USB 。对于在单一芯片上实现了 Host、和 Controller 协议栈的系统 Host 和 Controller 的通讯常采用直接 API 调用方式。

  • Controller

    • 蓝牙控制器位于整个架构底端,它集成了 Modem、基带、链路控制、链路管理及HCI管理。蓝牙控制器 wm-iot-sdk 以库的形式发布。