ESP-IDF Bluetooth stack — это компонент официального программного фреймворка Espressif для микроконтроллеров серии ESP, реализующий поддержку беспроводных коммуникаций по спецификациям Bluetooth Classic и Bluetooth Low Energy (BLE). Стек предоставляет абстракции и API для управления как контроллером радиочасти, так и уровнями протоколов host, обеспечивая разработчикам возможность интегрировать функции беспроводной передачи данных, обнаружения устройств, сервисов и безопасности встраиваемых приложений на базе платформы ESP.
Архитектурно стек включает в себя реализацию контроллера и поддержку двух основных host-реализаций: Bluedroid (поддержка dual-mode — Classic и BLE) и Apache NimBLE (ориентирован на BLE). Также в экосистеме присутствует дополнительный модуль ESP-BLE-MESH для построения сетей типа mesh поверх BLE. Стек экспонирует интерфейсы для работы с профилями и сервисами, такими как GAP, GATT, SMP, а также механизмами сопряжения, шифрования и управления подключениями, что делает его пригодным для широкого круга применений — от простых сенсорных устройств до сложных мультимедийных решений.
- Двойная поддержка host-стека: Bluedroid (Classic + BLE) и Apache NimBLE (BLE-only).
- Контроллер и host разделены: стандартная схема разделения радиочасти и стековых уровней.
- GAP и GATT: интерфейсы для обнаружения, рекламы, установки соединений и работы с характеристиками/сервисами.
- Bluetooth Classic: поддержка основных функций Classic для аудио и устаревших профилей (через Bluedroid).
- BLE: полная поддержка BLE-операций, включая рекламу, сканирование, соединения и уведомления.
- SMP и безопасность: механизмы сопряжения, обмена ключами и защиты каналов.
- ESP-BLE-MESH: надстройка для организации mesh-сетей поверх BLE.
- APIs для разработчиков: функции и обратные вызовы для интеграции в приложения на C/C++ в рамках ESP-IDF.
- Конфигурируемость и портируемость: возможность выбора компонентов стека и настройки параметров радиочасти и энергопотребления.
- Совместимость с аппаратной платформой ESP: оптимизация под ресурсы MCU и встроенный радиомодуль.