Wio RP2040迷你无线WiFi开发板(Wio RP2040 mini Dev Board)是Seeed Studio该公司于2021年5月推出了迷你无线WiFi集成了开发板Wio RP2040模块,该模块包括133MHz树莓派双核RP2040 MCU芯片和ESP8285无线WiFi芯片(ESP8266 1MB Flash,内置内置Tensilica L106 超低功耗 32 位微控制器)支持当今流行的嵌入式微控制器编程语言MicroPython。Wio RP2040模块具有性能高、体积小的优点,为可穿戴设备、物联网等领域的研发和应用提供了新的选择。本博文以Wio RP2040迷你无线WiFi以开发板为例,介绍Wio RP2040迷你无线WiFi开发板接口技术 (为了方便叙述,Wio RP2040迷你无线WiFi后面也简称开发板Wio RP2040开发板),并给出采用Wio RP2040年开发板扩展接口GPIO15引脚扩展连接LED和MicroPython控制LED程序示例间歇发光。 与树莓派Pico类似于迷你开发板,Wio RP2040年开发板也扩大了GPIO引脚,以Wio RP2040开发板为核心,我们可以在此开发板的基础上增加自行设计的电子电路或硬件模块,以解决实际应用中的嵌入式系统与智能硬件、智能物联网等领域的产品创新。 Wio RP2040开发板硬件外观见图1所示。
图1 Wio RP2040年开发板硬件外观 Wio RP2040开发板的主要特点: (1)强大的CPU:采用树莓派133MHz双核RP2040 CPU和264KB SRAM,2MB闪存; (2)可靠的无线连接:强大的WiFi芯片,支持2.4~2.4835 GHz频率AP&Station工作模式; (3)灵活性:兼容性Thonny编辑器; (4)方便项目实施:方便面包板创新实践; (5)多种认证:通过FCC和CE认证; (5)支持编程语言:使用微控制器编程语言MicroPython。我们可以把目前的MicroPython当今很流行AI编程语言Python3的子集,并针对特定型号微控制器 (MCU) 芯片扩充了GPIO接口、控制和通信功能可以实现和丰富物理世界的感知和处理能力。如果物理处理单元与云计算和物联网单元连接互动,结合人工智能和智能控制算法,也可以对许多复杂系统进行智能分析、计算和决策,创新许多新的智能硬件应用产品或系统。 Wio RP2040年开发板主要技术规范描述见表1所示。 Wio RP2040开发板硬件概览见图2。 图2 Wio RP2040年开发板硬件概况 从图2可知,Wio RP2040开发板主要包括电源板载荷LED指示灯(PWR标识的LED灯,开发板加电后应该LED灯被点亮),用户板载LED灯(USER标识的LED灯,由GP13引脚控制其亮灭),复位按钮(RUN标识按钮)、外部扩展信号引脚PINs及RP2040模块等。 Wio RP2040年开发板接口信号引脚排列见图3所示。 图3 Wio RP2040年开发板扩展接口信号引脚排列 从图3可知,Wio RP2040开发板GPIO接口信号的含义Pico开发板GPIO界面信号完全相同,但界面信号引脚排列序号不同,Wio RP2040开发板GPIO接口信号说明见博主博客< “树莓派Pico开发板硬件扩展接口及电源模块分析>。 因为MCU电源电压为3.3V,GPIO引脚输入电压不得高于3.3V,若GPIO引脚输入电压高于3.3V,可能导致芯片损坏;此外,不要打开开发板WIORP2040无线WiFi模块屏蔽罩。 这里使用Wio RP2040开发板的GPIO15引脚 (Pin14物理引脚) 扩展一只LED,即Wio RP2040开发板Pin14物理引脚可与470一起使用Ω~1kΩ的电阻R和LED串联后接地设备D,见图4所示。 Wio RP2040开发板内置MicroPython用户可以直接使用固件Wio RP2040开发板连接到电脑,使用Thonny代码编辑器。当然,如果Wio RP我们可以先下载2040年开发板中的固件损坏或升级。MicroPython固件文件(firmware-v1.15.x.uf2,x=1~3)到电脑,按住Wio RP2040开发板的[BOOT]并连接按钮USB Type-C此时,开发板红色板载电缆LED电源指示灯亮,接着松开[BOOT]按钮,如图5所示;计算机将显示额外的可移动硬盘专业术语是Wio RP2040开发板进入USB大量存储设备模式USB mass storage device mode,一般来说就是Wio RP2040开发板相当于U盘),将下载的固件拖到移动硬盘上MicroPython固件安装或升级更新。 图5 可供Wio RP三种不同版本的固件更新说明和2040开发板升级下载链接如下: (1)firmware-v1.15.1:该固件为官方第一版,即基本版,其下载链接地址为 https://files.seeedstudio.com/wiki/Wio_RP2040_mini_Dev_Board-Onboard_Wifi/firmware-v1.15.1.uf2 (2)firmware-v1.15.2:该固件为官方第二版,已修复Socket的稳定性并增加连接失败错误信息,其下载链接地址为 https://files.seeedstudio.com/wiki/Wio_RP2040_mini_Dev_Board-Onboard_Wifi/v1.15.2.uf2 (3) firmware-v1.15.3:这个固件是官方的第三版,它将原原始函数wait_msg()重命名为check_msg()函数,并添加新的函数wait_msg()函数。wait_msg()函数和check_msg()函数的主要区别是当wait_msg当原函数未等待到接收数据时,将终止程序执行;check_msg()函数只检测是否接收数据。当函数检测到接收数据时,将执行回调。如果不接收数据,程序将继续执行。第三版固件下载地址 https://files.seeedstudio.com/wiki/Wio_RP2040_mini_Dev_Board-Onboard_Wifi/1.15.3.uf2 使用Thonny IDE设置Wio RP2040年开发板开发环境及使用Thonny IDE设置树莓派Pico开发环境的方法是一样的。运行Thonny IDE,单击菜单栏[Tools],选择[Options…],弹出[Thonny Options]对话框,选择【Which interpreter or device should Thonny use for running your code?】在下拉列表中[MicroPython(Raspberry Pi Pico)]选项 (见图6)。若未发现[MicroPython(Raspberry Pi Pico)]请检查选项PC机器是否连接Wio RP2040开发板。 图6 选择【Port】下拉列表,本人PC电脑连接Wio RP2040年开发板后,其设备名称为[USB串行设备(COM5)] (见图7)。 图7 MicroPython控制 Wio RP2040开发板板载LED和扩展接口LED间断发光示例程序如下:
#Filename: main.py
from machine import Pin
from machine import Timer
LED_onBoard=Pin(13, Pin.OUT)
LED_external=Pin(15, Pin.OUT)
def tick(timer):
global LED_onBoard
global LED_external
LED_onBoard.toggle()
LED_external.toggle()
tim1=Timer()
tim1.init(freq=2, mode=Timer.PERIODIC, callback=tick)
下面,使用Thonny IDE编辑该程序,程序文件名为main.py(见图8)。 图8 将程序存到电脑中,运行程序,可以看到Wio RP2040开发板板载LED和扩展LED间断闪亮。接下来,我们将main.py程序存入Wio RP2040开发板Flash中。拔下Wio RP2040开发板连接到电脑的USB Type-C电缆线的USB端,断开Wio RP2040开发板与电脑的连接。将Wio RP2040开发板与电脑连接的USB Type-C电缆线的USB端转接到一个5V USB直流电源(如手机USB充电器5V直流电源),同样可以看到Wio RP2040开发板板载LED和扩展LED间断闪亮,说明main.py程序已正确烧写到Wio RP2040开发板中并且能独立正常运行(见图9)。 图9 发布日期:2022年02月11日