蓝牙介绍

官网:https://www.bluetooth.com/zh-cn/

wiki:蓝牙 - 维基百科,自由的百科全书

分为经典蓝牙和低功耗蓝牙(BLE),前者支持传统的点对点通信,比如无线耳机,无线打印机等,后者支持低功耗,支持更多的拓扑结构,比如蓝牙广播,mesh等。BLE除了数据传输,还支持设备定位,比如蓝牙beacon技术。(参考链接:https://www.bluetooth.com/zh-cn/learn-about-bluetooth/tech-overview/

蓝牙规范:https://www.bluetooth.com/zh-cn/specifications/specs/

蓝牙协议栈

参考链接:

  1. https://docs.espressif.com/projects/esp-idf/zh_CN/stable/esp32/api-guides/ble/overview.html
  2. https://www.espressif.com/sites/default/files/documentation/esp32_bluetooth_architecture_cn.pdf

ESP-BluedroidESP-NimBLE 两个主机,其主要区别如下:

  • 虽然两者都支持低功耗蓝牙,但 ESP-NimBLE 需要的堆和 flash 空间更少。

  • ESP-Bluedroid 支持经典蓝牙和低功耗蓝牙,而 ESP-NimBLE 仅支持低功耗蓝牙。

从整体结构上,蓝⽛可分为控制器 (Controller)主机 (Host) 两⼤部分:控制器包括了PHY、 Baseband、 Link Controller、 Link Manager、 Device Manager、 HCI 等模块,⽤于硬件接⼝管理、链路管理等等;主机则包括了 L2CAP、 SMP、 SDP、 ATT、 GATT、 GAP 以及各种规范,构建了向应⽤层提供接⼝的基础,⽅便应⽤层对蓝⽛系统的访问。主机可以与控制器运⾏在同⼀个宿主上,也可以分布在不同的宿主上。 

控制器提供蓝牙能力,比如射频,PHY,链路控制等,主机提供软件能力,比如蓝牙协议栈实现,两者通过总线解耦,方便将蓝牙能力拓展到不同的主机上。

































  • 无标签