В июне 2022 года была выпущена плата Raspberry Pi Pico W с модулем WiFi 4 и Bluetooth 5.2 на базе беспроводного чипа Infineon CYW43439, и, через несколько дней после запуска, мы написали руководство, показывающее, как подключиться к WiFi, но ничего о Bluetooth.
Это связано с тем, что, хотя оборудование Raspberry Pi Pico W поддерживает Bluetooth, нам сказали, что, на тот момент, Bluetooth не был включен, но может быть появится на более позднем этапе. Аласдер Аллан, ответственный за документацию Raspberry Pi, сказал, что, на ближайшее время запланирована поддержка Bluetooth, и теперь доступна версия SDK 1.5.0 для Pico C SDK с Bluetooth, реализованного с использованием двухрежимного стека Bluetooth BTstack.
Поддержка Bluetooth по-прежнему считается бета-версией, и SDK 1.5.0 реализует следующие ключевые функции и обновления:
- Новые библиотеки для
- Поддержка Bluetooth с низким энергопотреблением (LE).
- Поддержка классического Bluetooth.
- Поддержка кодировщика Bluetooth Sub Band Coding (SBC).
- Поддержка декодера Bluetooth Sub Band Coding (SBC).
- Поддержка протокола сетевой инкапсуляции Bluetooth (BNEP) с использованием LwIP.
- Поддержка протокола сетевой инкапсуляции Bluetooth (BNEP) с использованием LwIP с FreeRTOS для NO_SYS=0.
- Обновлены pico_cyw43_driver и cyw43_driver для поддержки связи HCI для Bluetooth.
- Обновлен cyw43_driver_picow для поддержки специфичной для Pico W связи HCI для Bluetooth через SPI.
- Обновлены cyw43_arch_init() и cyw43_arch_deinit() для дополнительной обработки поддержки Bluetooth, если CYW43_ENABLE_BLUETOOTH равно 1.
Raspberry Pi Trading также выпускает ряд образцов кода Bluetooth для аудио Bluetooth, HID (клавиатура/мышь), клиента/сервера GATT, Bluetooth LE и т. д.
Некоторые пытливые умы могли прочитать лицензию BTstack, которая частично гласит:
Любое распространение, использование или модификация осуществляется исключительно для личной выгоды, а не для каких-либо коммерческих целей или получения денежной выгоды.
Это означало бы, что Bluetooth на Raspberry Pi RP2040 можно было бы использовать только для личных проектов, а не для коммерческих продуктов. Но это было рассмотрено в соответствующем тикете на GitHub, и пользователь «kilograham» сказал, что BTstack имеет лицензию Raspberry Pi Trading для более разрешительного использования на RP2040, как это было для драйвера cyw43.
Обратите внимание, что Bluetooth уже некоторое время поддерживается на других платах Raspberry Pi RP2040, например, Arduino предоставляет документацию для подключения двух плат Nano RP2040 Connect через BLE с использованием эскиза Arduino. Это стало возможным благодаря тому, что модуль uBlox Nina W102 на базе ESP32, найденный на плате, уже поддерживался в Arduino IDE, в то время как Infineon CYW43439 требовал дополнительной работы для добавления в Pico C SDK.
Обновление: этот пост был первоначально опубликован 4 января 2023 г. и обновлен после выпуска SDK 1.5.0 11 февраля 2023 г.
Выражаем свою благодарность источнику из которого взята и переведена статья, сайту cnx-software.com.
Оригинал статьи вы можете прочитать здесь.