我们的判决
现在,将 Wi-Fi 添加到您的 Pico 变得非常容易,软件需要一些工作,但硬件很可靠。
为了
+ 连接简单
+ 紧凑型
+ CircuitPython 支持
反对
– MicroPython 库需要一些工作
– 阻止对所有 GPIO 引脚的访问
Raspberry Pi Pico 缺少两个关键的东西。第一个是重置按钮,可以通过 DIY hack 轻松修复,或者您可以购买更永久的东西。第二个是无线通信,即 Wi-Fi 和蓝牙。Pimoroni 的 Pico Wireless 是一个 17 美元(12 英镑)的附加包,它的工作原理类似于 HAT 或盾牌,并通过 SPI 接口提供 Wi-Fi 和 Micro SD 卡读卡器。
Pico Wireless Pack
直接定价 12 英镑(17 美元)
将 W-iFi 添加到 Pico 并不难,Adafruit 已经通过 ESP32 驱动的 AirLift FeatherWing 证明了这一点,它与 Pico 和 Adafruit 自己的 Feather RP2040 板配合使用。Cytron 的 Maker Pi Pico 也支持 ESP8266。但添加紧凑且易于使用的 Wi-Fi 仍然是 Pico 用户的圣杯,而 Pimoroni 的 Pico Wireless 可以看到我们追求的结束。
Pimoroni Pico Wireless 的设计和使用
Pico Wireless 是一个包,旨在连接到 Raspberry Pi Pico(和 Pimoroni 的 Pico Lipo)的所有 GPIO 引脚。它不会使用所有的 GPIO 引脚,但会阻止访问。由于它被设计为一个“包”,它与 Raspberry Pi Pico 的足迹完美匹配,并且当连接时,我们有一个非常紧凑的项目平台。
板载 ESP32-WROOM-32E 本身就是一个功能强大的微控制器,但对于 Pico Wireless,它被降级为协处理器,其方式与 Adafruit 的 AirLift FeatherWing 大致相同。ESP32 支持 Wi-Fi 和蓝牙,但在此配置中只有 Wi-Fi 可用,但有能力的黑客肯定会解锁额外的功能。
如果您需要使用一些 GPIO 引脚,则需要一个分线器,例如 Pico Omnibus,但您需要确保连接的设备上没有冲突的引脚。Pico Wireless 的电源由 Raspberry Pi Pico 的 GPIO 提供,这为为电路板供电和编程提供了一种简单实用的方法。
板载 microSD 卡插槽(请参阅最佳 microSD 卡)是一种推推机制,可随时将您的 microSD 卡发射到整个房间。单个按钮 (A) 是基本输入的有用方式,它连接到 GPIO 16。唯一的输出是 RGB LED,这也是基本警报/错误处理的有用补充。ESP32 和 micro SD 读卡器可以通过在电路板底部切割轨道来禁用;我们不知道为什么要这样做,但可以通过在轨道之间焊接一个桥来逆转该过程。
没有软件,硬件就什么都不是,Pico Wireless 支持 C++,Pimoroni 拥有自己的 MicroPython 固件,其中包括为与开发板一起使用而开发的“picowireless”模块。我们通过示例脚本测试了这个选项,虽然它们运行良好,但它们非常冗长,并且依赖于用户了解网络的工作原理。
在编写抽象库或学习网络之前,使用 Pico Wireless 的最佳方式是 Adafruit 的 CircuitPython 软件。我们使用了为我们的 Raspberry Pi Pico Wi-Fi 项目提供支持的相同脚本,并且只需要更改几行来告诉我们的 Pico ESP32 的连接位置并将一些库复制到 Pico。我们很快就在线,并从在线 API 接收天气数据。我们使用启用板载微型 SD 卡读卡器的附加库对代码进行了调整。插入一张空白的 FAT32 格式卡并编写几行 CircuitPython,我们很快创建了一个新文件,其中包含从天气 API 返回的 JSON 数据的日志。数据也可以使用 CircuitPython 从 SD 读取并用于您的项目。RGB LED 通过三个引脚(红色 = 25、绿色 = 26、Blue = 27) 并且要使用它,我们需要使用 esp.set_analog_write()。例如,这里是将 LED 设置为红色的行。
我们可以使用 0 到 1 之间的值来控制 RGB LED 的颜色。
最后,我们测试了连接到 GPIO 12 的按钮。我们将 GPIO 12 拉高,当按下按钮时,将引脚连接到 GND,有效地将引脚拉低并在我们的代码中触发事件。
Pimoroni Pico Wireless 的用例
Raspberry Pi Pico 上的 Wi-Fi 开辟了物联网 (IoT) 应用程序的全新世界。Pico Wireless 使我们不起眼的 Raspberry Pi Pico 能够与使用典型网络协议和其他协议(例如 MQTT)的设备进行通信。CircuitPython 库支持基本的 HTTP、创建接入点和套接字。在我们的演示中,我们检查来自 API 的 HTTP 响应并将值打印到 REPL,这对于调试连接问题很有用。
Pico Wireless 非常适合添加到数据监控项目、从传感器收集数据、将数据存储到 micro SD 卡并将数据传输到远程机器。如果你有技能,那么互联网上的机器人技术可以在另一台机器上使用 Anvil 或 Flask 之类的东西作为与 Pico 通信的手段。
底线
作为一个包,Pico Wireless 连接到您的 Pico 非常简单,但您无法连接其他组件。这个问题可以通过使用 Pico Omnibus 等分线板或一些巧妙的焊接来缓解。尽管如此,Pico Wireless 还是一款很棒的套件。一旦 MicroPython 模块经过几个月的反馈和改进,它将更容易使用。在那之前,你最好的选择是使用 CircuitPython。