一、Wio RP2040开发板接口信号介绍及LED硬件扩展

与树莓派Pico等迷你开发板类似,Wio RP2040开发板也扩展了GPIO引脚,以Wio RP2040开发板为核心,我们可以在此开发板的基础上增加自行设计的电子电路或硬件模块,以解决实际应用中的嵌入式系统与智能硬件、智能物联网等领域的产品创新。

1、Wio RP2040开发板主要特性及硬件技术规格

Wio RP2040开发板硬件外观见图1所示。

iOS开发WiFi开发_MicroPython


图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所示。

iOS开发WiFi开发_树莓派Pico_02


2、Wio RP2040开发板接口信号

Wio RP2040开发板硬件概览见图2所示。

iOS开发WiFi开发_单片机_03


图2 Wio RP2040开发板硬件概览

从图2可知,Wio RP2040开发板主要包括电源板载LED指示灯(PWR标识的LED灯,开发板加电后该LED灯被点亮)、用户板载LED灯(USER标识的LED灯,由GP13引脚控制其亮灭)、复位按钮(RUN标识的按钮)、外部扩展信号引脚PINs及RP2040模块等。

Wio RP2040开发板接口信号引脚排列见图3所示。

iOS开发WiFi开发_iOS开发WiFi开发_04


图3 Wio RP2040开发板扩展接口信号引脚排列

从图3可知,Wio RP2040开发板GPIO接口信号含义与树莓派Pico开发板GPIO接口信号完全相同,仅仅是接口信号引脚排列序号不同,Wio RP2040开发板GPIO接口信号说明可参见博主博文< “树莓派Pico开发板硬件扩展接口及电源模块解析”>

要注意的是,由于MCU电源电压为3.3V,GPIO引脚输入电压不能高于3.3V,若GPIO引脚输入电压高于3.3V,可能会导致芯片损坏;另外,请勿揭开开发板上的WIORP2040无线WiFi模块屏蔽罩。

3、Wio RP2040开发板LED硬件扩展

这里使用Wio RP2040开发板的GPIO15引脚 (Pin14物理引脚) 扩展一只LED,即Wio RP2040开发板Pin14物理引脚可与470Ω~1kΩ的电阻R和LED器件D串联后接地,见图4所示。

iOS开发WiFi开发_MicroPython_05


三、安装或升级MicroPython固件

Wio RP2040开发板内置了MicroPython固件,用户可直接将Wio RP2040开发板连接到电脑并使用Thonny代码编辑器。当然,如果Wio RP2040开发板中的固件损坏或进行固件升级,我们首先可以下载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固件安装或升级更新。

iOS开发WiFi开发_树莓派Pico_06


图5

可供Wio RP2040开发板升级的三个不同版本的固件更新说明及下载链接如下:

(1)firmware-v1.15.1:该固件为官方第1版,即基础版,其下载链接地址为

 https://files.seeedstudio.com/wiki/Wio_RP2040_mini_Dev_Board-Onboard_Wifi/v1.15.2.uf2

(3) firmware-v1.15.3:该固件为官方第3版,它将原函数wait_msg()重命名为check_msg()函数,并增加新的wait_msg()函数。wait_msg()函数和check_msg()函数主要区别是当wait_msg原函数没有“等待”到接收的数据时,将终止程序执行;而check_msg()函数仅检测是否接收到数据,当该函数检测到接收数据时,将执行回调,若没有接收到数据,程序将继续执行。第3版固件下载地址为

https://files.seeedstudio.com/wiki/Wio_RP2040_mini_Dev_Board-Onboard_Wifi/1.15.3.uf2

四、使用Thonny IDE设置Wio RP2040开发板开发环境

使用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

五、使用Thonny IDE和MicroPython控制 Wio RP2040开发板板载LED和扩展LED发光示例

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)。

iOS开发WiFi开发_树莓派Pico_07


图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)。

iOS开发WiFi开发_嵌入式系统_08