RP2040-ETH教程

资料

配套资料

文档

程序

工具

官方资料

树莓派官方文档

树莓派开源例程

开发软件


产品概述

RP2040-ETH是一款迷你RP2040开发板,让你拥有集成 TCP/IP 协议栈,做到网络通信,
在极小板型下引出14 个多功能 GPIO 引脚,PCB边缘采用半孔工艺,可以轻松快捷集成到项目中。

产品特性

  • 采用了 Raspberry Pi 官方设计的 RP2040 微控制器芯片
  • 搭载了双核 ARM Cortex M0 + 处理器,运行频率高达 133MHz 灵活时钟
  • 内置了 264KB 的 SRAM 和 4MB 的板载 Flash
  • 板载 CH9120,集成 TCP/IP 协议栈
  • 可通过上位机软件、串口命令设置芯片工作模式、端口、IP 等网络参数
  • 邮票孔设计,可直接焊接集成到用户自主设计的底板上
  • 可通过 USB 识别为大容量存储器进行拖放式下载程序
  • RP2040 的 14 个 GPIO 引脚引出
  • 多种硬件外设
    • 1 个 SPI(SPI0)
    • 2 个 I2C
    • 2 个 UART
    • 3 个 12 位 ADC
    • 13 个可控 PWM 通道
  • 片内内置温度传感器
  • 8 个可编程 I/O (PIO) 状态机,用于自定义外设支持

引脚分布


RP2040-ETH 使用教程

环境搭建

C/C++ 开发环境安装
* 使用例程与教程之前,需要搭建开发环境,并且学会工程的基础使用方法

MicroPython 开发环境安装
*去Thonny 官网下载适合自己系统的软件
  • 安装完成之后,第一次要配置语言和主板环境,由于我们是为了使用Pico,所以注意主板环境选择Raspberry Pi 选项

  • 配置Micrpython环境及选择Pico端口。
    • 先将Raspberry Pi Pico 接入电脑,左键点击Thonny右下角的配置环境选项--》选择configture interpreter
    • 在弹出的窗口栏中选择MicroPython(Raspberry Pi Pico),同时选择对应的端口。


  • 点击ok后返回到Thonny主界面,下载固件库到Pico里面,然后点击停止按钮,在Shell窗口中即可显示当前使用到的环境。
  • Pico在windows下载固件库方法: 连接电脑后,同时按住BOOT跟RESET键后,先松开RESET,再松开BOOT再,电脑会出现一个可移动磁盘,将固件库复制进去即可。

  • 树莓派系统跟windows系统操作类似,树莓派需要安装带桌面的最新版本系统即可


Arduino IDE 开发环境安装
*打开Arduino IDE,进入File->Preferences
  • 在弹出的对话框中,在“Additional Boards Manager URLs”字段中输入以下URL(需要梯子):
https://github.com/earlephilhower/arduino-pico/releases/download/global/package_rp2040_index.json
  • 点击OK关闭对话框。
  • 进入IDE中的工具->开发板管理器
  • 在搜索框中输入“pico”,然后选择“添加”:

硬件连接

  • CH9120跟RP2040内部连接如下。
RP2040连接引脚对应关系
CH9120RP2040功能
RXDGP21串行数据输入
TXDGP20串行数据输出
TCPCSGP17TCP客户端模式下,连接状态指示,低电平表示连接成功
CFG0GP18网络配置使能脚,低电平时,进入串口配置模式
RSTIGP19复位,低电平有效

例程使用

例程简介

  • C/C++的设置IP、网关、子网掩码、端口号和串口波特率都在CH9120.c或者CH9120.cpp文件中,按照自己实际需求进行修改即可:
UCHAR CH9120_LOCAL_IP[4] = {192, 168, 1, 200};    // LOCAL IP
UCHAR CH9120_GATEWAY[4] = {192, 168, 1, 1};      // GATEWAY
UCHAR CH9120_SUBNET_MASK[4] = {255, 255, 255, 0}; // SUBNET MASK
UCHAR CH9120_TARGET_IP[4] = {192, 168, 1, 10};   // TARGET_IP
UWORD CH9120_PORT1 = 1000;                        // LOCAL PORT1
UWORD CH9120_TARGET_PORT = 2000;                  // TARGET PORT
UDOUBLE CH9120_BAUD_RATE = 115200;                // BAUD RATE
#设置CH9120工作模式在void CH9120_init(void)函数中,结合头文件定义的模式,选择需要的即可:
CH9120_TX_4_bytes(TCP_CLIENT, Mode1); //设置模式 0x00:TCP 服务器 0x01:TCP 客户端 0x02:UDP 服务器 0x03:UDP 客户端
#头文件已定义,可以直接使用
#define TCP_SERVER 0
#define TCP_CLIENT 1
#define UDP_SERVER 2
#define UDP_CLIENT 3
  • micropython的设置工作模式、IP、网关、子网掩码、端口号和串口波特率都在py文件中:
MODE = 1  #0:TCP 服务器 1:TCP 客户端 2:UDP 服务器 3:UDP 客户端
GATEWAY = (192, 168, 1, 1)   # GATEWAY
TARGET_IP = (192, 168, 1, 1)# TARGET_IP
LOCAL_IP = (192, 168, 1,200)    # LOCAL_IP
SUBNET_MASK = (255,255,255,0) # SUBNET_MASK
LOCAL_PORT1 = 1000             # LOCAL_PORT1
TARGET_PORT = 2000            # TARGET_PORT
BAUD_RATE = 115200            # BAUD_RATE
  • 第一步设置完之后,会进入的收发模式,CH9120会将接收到的信息,再发送回去(仅限Acsll码字符串)

树莓派环境下

  • 打开树莓派终端,执行:
cd ~
sudo wget https://www.waveshare.net/w/upload/8/88/RP2040_ETH_CODE.zip
unzip RP2040_ETH_CODE.zip
cd ~/RP2040_ETH_CODE

C

  • 以下教程为在树莓派上操作,但由于cmake的多平台、可移植的特点,在PC上也是能成功编译,但操作略有不同,需要您自行判断。
  • 进行编译,请确保在C/RP2040-ETH-Demo/build/目录下:
  • 进入build目录,并添加SDK:
  • 其中 ../../pico-sdk 是你的SDK的目录。
cd C/RP2040-ETH-Demo/build/
export PICO_SDK_PATH=../../pico-sdk
#注意:务必写对你自己的SDK所在路径
cmake ..
#执行make生成可执行文件,第一次编译时间比较久
make -j9
#编译完成,会生成uf2文件。
  • 将RP2040-ETH连接树莓派后,同时按住BOOT跟RESET键后,先松开RESET,再松开BOOT再,电脑会出现一个可移动磁盘,将固件库复制进去即可。
cp main.uf2 /media/pi/RPI-RP2/

Python

  • RP2040-ETH连接树莓派后,同时按住BOOT跟RESET键后,先松开RESET,再松开BOOT再,电脑会出现一个可移动磁盘
  • 将~/RP2040_ETH_CODE/Python/rp2-pico-20230209-unstable-v1.19.1.uf2 文件拷入RP2040中。
  • 在树莓派上打开Thonny IDE (点击树莓logo -> Programming -> Thonny Python IDE ),你可以在Help->About Thonny查看版本信息
  • 以确保你的版本是有Pico支持包的,同样你可以点击Tools -> Options... -> Interpreter选择MicroPython(Raspberry Pi Pico 和ttyACM0端口

如图所示:

如果你当前的Thonny版本没有pico支持包,输入以下指令来更新Thonny IDE

sudo apt upgrade thonny

3.点击File->Open...->~/RP2040_ETH_CODE/Python/RP2040-ETH-Demo.py,运行脚本即可

Windows环境下

C

  • 先安装Visual Studio Code
  • 安装完成后,打开Visual Studio Code 拓展界面(快捷键Ctrl+Shift+X)
  • 输入CMake Tools并安装
  • 按F1输入open settings UI,打开设置UI界面
  • 搜索cmake.configureEnvironment
  • 点击添加项
ItemValue
PICO_SDK_PATH[存放PICO-SDK路径]\pico-sdk
  • “[存放PICO-SDK路径]\pico-sdk”为您存放sdk的路径,填写不对将无法编译
  • 再搜索cmake.generator,填入:
NMake Makefiles
#Ctrl+S保存设置,清空build文件夹,重启Visual Studio Code并重新编译
  • 点击下载程序,解压后进入RP2040_ETH_CODE的文件夹中。
  • 进入RP2040_ETH_CODE\C\RP2040-ETH-Demo后,使用vs code打开工程


  • 选择编译器


  • 开始编译


  • 编译完成


  • 将build中的main.uf2文件拷贝带Pico中,就会自动运行程序了。

Python

  • RP2040-ETH连接电脑后,同时按住BOOT跟RESET键后,先松开RESET,再松开BOOT再,电脑会出现一个可移动磁盘
  • 2.将Python目录中rp2-pico-20230209-unstable-v1.19.1.uf2 文件复制到识别的可移动盘(RPI-RP2)中
  • 3.打开Thonny IDE(注意:要使用最新版本的Thonny,否则是没有Pico的支持包的,当前Windows下的最新版本为v3.3.3)
  • 4.点击工具->设置->解释器,如图所示选择Pico及对应的端口


  • 5.文件->打开->RP2040-ETH-Demo.py,点击运行即可,如下图所示:


  • 本例程只提供了一个简单的测试程序。

上位机配置

  • 如果想通过上位机配置,不通过串口命令去控制,可以参考以下方法,此方法只适用于windows系统:
  • 下载网络配置工具
  1. 给RP2040-ETH连接上电源跟以太网
  2. 打开网络配置工具
  3. 搜索设备->双击搜索到的设备->设置自己需要的信息->配置设备参数->等待重启完成


  • 执行完上图的1和2,然后配置红框中的参数,然后执行3,等待4出现即可

Pico快速上手

固件下载


MicroPython固件下载




C_Blink固件下载