Гид по технологиям

Bluetooth на Raspberry Pi Pico W: как начать

5 min read Аппаратное обеспечение Обновлено 13 Dec 2025
Bluetooth на Raspberry Pi Pico W: как начать
Bluetooth на Raspberry Pi Pico W: как начать

Raspberry Pi Pico W с логотипом Bluetooth

Введение

Bluetooth наконец-то появился на Raspberry Pi Pico W, но с несколькими оговорками. Аппаратная часть была у платы уже давно, однако из коробки Bluetooth не поддерживался, когда Raspberry Pi выпустила Pico W летом 2022 года. 10 февраля (пятница) были первые шаги к поддержке: бета‑версия Pico SDK 1.5.0 добавляет стек Bluetooth — это означает, что сейчас можно разрабатывать на C++. Поддержка MicroPython пока не объявлена.

Что входит в Bluetooth API

Bluetooth API предоставляется через BTstack и включает следующие библиотеки:

  • Bluetooth Low Energy (BLE)
  • Bluetooth Classic
  • Кодек Bluetooth Sub Band Coding (SBC) — кодирование и декодирование аудио
  • Поддержка Bluetooth Network Encapsulation Protocol (BNEP) через LwIP
  • Поддержка BNEP через LwIP с FreeRTOS для конфигурации NO_SYS=0

Важно: для подробностей смотрите заметки к SDK 1.5 на GitHub Raspberry Pi. Это исходный источник для текущего состояния реализации.

Примеры для Raspberry Pi Pico W

Изображение Raspberry Pi Pico W с обозначением чипа WLAN/Bluetooth

Репозиторий примеров Raspberry Pi на GitHub обновлён и содержит набор демонстрационных программ для Bluetooth на Pico W. В примерах есть функции для аудио — потоковая передача, управление воспроизведением и регулировка громкости. Также включены примеры для Human Interaction Device (HID), которые позволяют эмулировать клавиатуру или мышь.

Быстрый старт: как запустить пример

  1. Установите Pi Pico SDK 1.5.0 (бета) и инструменты сборки согласно официальным quick‑start инструкциям.
  2. Клонируйте репозиторий примеров Raspberry Pi с GitHub.
  3. Вместо запуска hello_world.c (как в шаге 3 базовой инструкции), выберите один из Bluetooth‑примеров и соберите/загрузите его на Pico W.
  4. Примеры ориентированы на C++; убедитесь, что ваша среда сборки настроена правильно.

Краткая шпаргалка по сборке:

  • Создайте build‑папку: mkdir build && cd build
  • Запустите cmake .. && make -j
  • Подключите Pico W в режим загрузки и прошейте бинарник.

Что дальше и ограничения

Поддержка Bluetooth на Pico W всё ещё в бете. Raspberry Pi обещает «дальнейшие подробности при официальном релизе». Обратите внимание на лицензию BTstack: в текущей формулировке допускается только личное использование. Raspberry Pi заявила, что они лицензируют BTstack для более свободного использования на RP2040 (похожим образом на cyw43‑driver), но детали и сроки уточняются.

Важно: это означает, что коммерческое использование в текущем виде может требовать дополнительной юридической проверки или ожидания официальных лицензий.

Когда это может не подойти

  • Если вы пользуетесь MicroPython: официальной поддержки Bluetooth пока нет, значит из коробки вы не сможете писать Bluetooth‑приложения на MicroPython.
  • Для коммерческих продуктов — проверьте лицензионные ограничения BTstack и ожидайте окончательной лицензии от Raspberry Pi.
  • Если вам нужна устойчивая производственная релиз‑поддержка, бета‑статус может быть риском.

Альтернативные подходы

  • Оставаться на Wi‑Fi для сетевых взаимодействий через LwIP и существующие сетевые стек‑решения.
  • Использовать внешние Bluetooth‑модули с открытой лицензией и стандартными AT‑командами.
  • Если задача — HID (клавиатура/мышь), можно временно реализовать эмуляцию через USB‑HID, если Pico подключён как USB‑устройство.

Роли и чек‑листы

Для разработчика (C++)

  • Установить Pico SDK 1.5.0 (бета)
  • Настроить toolchain и cmake
  • Скомпилировать Bluetooth‑пример из репозитория
  • Протестировать подключения BLE/Classic и аудио (если применимо)

Для хоббиста

  • Ознакомиться с примерами в GitHub
  • Запустить HID‑пример и проверить ввод с Pico W
  • Публиковать обратную связь в Issues репозитория (если выявлены баги)

Для продуктового инженера

  • Проверить лицензию BTstack на предмет коммерческого использования
  • Оценить стабильность бета‑стека для продакшн‑версии
  • Подготовить альтернативный план (внешний модуль или ожидание релиза)

Мини‑методология тестирования (бета)

  1. Соберите и загрузите базовый пример BLE и убедитесь, что устройство видит устройство.
  2. Проверьте соединение: установка, обмен минимальными данными, разрыв и повторное подключение.
  3. Для Bluetooth Classic и SBC: протестируйте потоковую передачу аудио на целевое устройство и измерьте задержки субъективно.
  4. Протестируйте HID‑пример с несколькими платформами (Windows, macOS, Linux).
  5. Документируйте ошибки и воспроизводимые шаги для репорта в upstream.

Критерии приёмки

  • Устройство обнаруживается другими Bluetooth‑устройствами.
  • Устойчивое подключение без частых разрывов при стандартных сценариях.
  • Аудиопоток (для SBC) воспроизводится на целевом приёмнике без критических искажений.
  • HID‑эмуляция корректно распознаётся хостом.

1‑строчный глоссарий

  • BTstack — стек Bluetooth, используемый для реализации BLE и Classic на встроенных устройствах.
  • BNEP — протокол для передачи сетевого трафика поверх Bluetooth.
  • SBC — кодек аудио, используемый в Bluetooth Classic для потокового звука.
  • RP2040 — микроконтроллер на плате Raspberry Pi Pico W.

Примечания по безопасности и приватности

  • Тестируйте подключение в контролируемой сети и используйте безопасные пары (pairing) для предотвращения несанкционированного доступа.
  • При разработке аудио‑функций учитывайте возможную утечку личных данных через передаваемый контент.

Заключение

Bluetooth на Raspberry Pi Pico W — долгожданное расширение возможностей платформы, особенно для проектов с HID и аудио. Сейчас поддержка доступна в бета‑SDK 1.5.0 и ориентирована на разработку на C++ через BTstack. Если вы используете MicroPython или планируете коммерческое применение, тщательно проверьте лицензионные условия и учитывайте бета‑статус.

Важно: следите за обновлениями в официальном репозитории Raspberry Pi и в репозитории BTstack — изменения по лицензированию и поддержке MicroPython могут появиться позднее.

Краткое резюме:

  • Bluetooth доступен в бете через SDK 1.5.0 (C++).
  • Примеры на GitHub включают аудио и HID.
  • Лицензия BTstack ограничивает личное использование; ожидается более свободная лицензия от Raspberry Pi для RP2040.
Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Как разблокировать диск в Windows 10 — пошагово
Windows

Как разблокировать диск в Windows 10 — пошагово

Вкладки в Проводнике Windows 11 через Files
Windows

Вкладки в Проводнике Windows 11 через Files

Как создать альбомы в OneDrive
Облако

Как создать альбомы в OneDrive

Как изменить шрифт в Notion
Инструкции

Как изменить шрифт в Notion

Контакты домохозяйства в Google Home — добавить и звонить
How-to

Контакты домохозяйства в Google Home — добавить и звонить

Резервные копии скриншотов Steam — руководство
Гайды

Резервные копии скриншотов Steam — руководство