https://www.raspberrypi.com/news/new-functionality-bluetooth-for-pico-w/
作者:Eben Upton 2023年6月14日
去年6月,我们推出了树莓派Pico W(https://www.raspberrypi.com/news/raspberry-pi-pico-w-your-6-iot-platform/),这是我们Pico平台的一种价格为6美元的无线变体,围绕我们的RP2040微控制器构建。在过去的一年中,我们已经销售了超过50万个这些微型板,并且它们已经被用于无数项目,从唱歌的鱼(https://www.raspberrypi.com/news/big-mouth-billy-bass-meets-raspberry-pi-pico-w/)到Web服务器(https://www.raspberrypi.com/news/how-to-run-a-webserver-on-raspberry-pi-pico-w/)再到交流的家庭植物(https://www.raspberrypi.com/news/raspberry-pi-pico-w-lets-your-houseplant-text-you/)。
但是有一件事一直缺失:蓝牙支持。现在这个问题已经解决了——而且您甚至不需要购买新的Pico W。
Pico W的无线功能由Infineon CYW43439设备(https://www.infineon.com/cms/en/product/wireless-connectivity/airoc-wi-fi-plus-bluetooth-combos/wi-fi-4-802.11n/cyw43439/)提供,该设备包含2.4 GHz无线电,提供802.11n Wi-Fi和蓝牙5.2,支持蓝牙经典和蓝牙低能耗(BLE)功能。在发布时,我们的固件和主机端软件只支持Wi-Fi,而不支持蓝牙。
现在,随着C SDK版本1.5.1(https://github.com/raspberrypi/pico-sdk/releases/tag/1.5.1)和最新的MicroPython构建(https://datasheets.raspberrypi.com/soft/micropython-firmware-pico-w-130623.uf2)版本的发布,您现有的Pico W已经具备了与蓝牙和蓝牙LE设备通信的能力。具体来说,我们支持蓝牙经典——暂时除了ACL/SCO——以及BLE中央和外设角色。事情也是可配置的,因此您可以单独启用蓝牙经典和BLE,或同时拥有两者。支持的蓝牙协议和配置文件的完整详细信息可在GitHub上找到(https://github.com/bluekitchen/btstack#supported-protocols-and-profiles)。
这是一个在iPhone的Punch Through LightBlue应用程序中运行的MicroPython编写的温度传感器外围设备,它在Pico W上运行,显示:广告数据(左),服务(中)和温度服务(右)
如果您想开始使用蓝牙和Pico W,则最好的起点是我们的文档站点(https://www.raspberrypi.com/documentation/microcontrollers/)以及《使用树莓派 Pico W连接到互联网》一书(https://datasheets.raspberrypi.com/picow/connecting-to-the-internet-with-pico-w.pdf),该书将指导您使用C SDK和MicroPython开始使用蓝牙LE。
更新:蓝牙支持已合并到官方MicroPython存储库中(https://github.com/micropython/micropython)。
致谢
在RP2040和CYW43439之间的单个三针SPI总线上传输Wi-Fi和蓝牙流量是一个重大的工程挑战。我们要感谢我们在英飞凌的朋友,特别是Graham Smith,他们在生产化这种能力方面提供了帮助。
SDK中提供了BTstack库来支持蓝牙经典和BLE。Matthias Ringwald为集成和验证提供了广泛的帮助。树莓派Pico W客户受益于BTstack的预付商业许可证,使您可以将Pico W用作自己产品的组件。
在树莓派这里,Peter Harper负责Pico W主机端软件;Graham Sanderson开发了SDK;Alasdair Allan编写了文档。
最后但很重要的是,Damien George负责使MicroPython工作。