# 蓝牙® API

[English]

本章节提供 ESP-IDF 中蓝牙的 API 参考。ESP-IDF 支持两种主机协议栈：Bluedroid 和 NimBLE。

- Bluedroid （默认协议栈）：支持经典蓝牙和低功耗蓝牙，适用于同时使用这两种技术的应用场景。

- NimBLE：仅支持低功耗蓝牙，因代码体积小、内存占用低，适合资源受限的应用。

可通过下方链接查看相应的 API 文档和示例应用。

控制器接口 API

蓝牙主机协议栈与控制器之间的底层接口。

- 控制器 （Controller）& HCI

Bluedroid 协议栈 API

ESP-IDF 默认的主机协议栈，支持经典蓝牙和低功耗蓝牙。

- 蓝牙® 通用 API
- 低功耗蓝牙®

有关蓝牙架构和功能的详细信息，请参阅 API 指南中的以下文档：

蓝牙® 架构、 低功耗蓝牙®

NimBLE 协议栈 API

专为低功耗蓝牙设计的轻量级主机协议栈。

- NimBLE-based Host APIs

更多详细信息和上游文档的 API 参考，请参阅 Apache Mynewt NimBLE 用户指南。

## 示例与教程

ESP-IDF 提供了丰富的示例代码和实践教程，路径见 examples 目录：

- Bluedroid: bluetooth/bluedroid

- NimBLE: bluetooth/nimble

- BLE UART 服务 （基于 NimBLE 或 Bluedroid 的即用型蓝牙串口透传外设，提供 BLE UART Service GATT 布局）：bluetooth/ble_uart_service

使用 Bluedroid 协议栈进行开发的分步示例教程：

- GATT 客户端示例

- GATT 服务端服务表格示例

- GATT 服务端示例

- GATT 客户端安全性示例

- GATT 服务端安全性示例

- GATT 客户端多连接示例

使用 NimBLE 协议栈进行开发的分步示例教程：

- 低功耗蓝牙中心设备示例

- 低功耗蓝牙心率示例

- 低功耗蓝牙外围设备示例

此文档对您有帮助吗？

- 反馈已收到，谢谢！
- 如果您有其他意见，欢迎填写乐鑫文档反馈表。

- 我们重视您的反馈。
- 您可以填写乐鑫文档反馈表告诉我们如何改进该文档。