1008 RPi0 to 4B(CAT4 RS485)

来自Mcuzone Wiki

关键词

树莓派、 Raspberry Pi Zero、Cat4 4G 、4B、USB2.0-A、以太网、扩展板、USB HUB 集线器、RS485、串口、顶针连接

一、简介

树莓派Zero 2W作为第一代Zero的垂直替换产品,不仅保持了接口类型和接口位置不变,而且大幅升级了CPU,使得总体性能有了2-10倍的提升。而目前3B/3B+/4B缺货比较严重,价格也比较高,所以我们设计了这款Zero 2W转4B形态的扩展板,目的是为了提供4B缺货的替代方案(当然性能和4B还是差很多,另有3B形态的扩展板可选),同时也是作为Zero 2 W的功能扩展。

Zero 2W转4B形态扩展板具备四路USB2.0主机接口,一路USB2.0转干兆以太网(可以跑到300Mbps)。同时还扩展了4G LTE Cat4模组和带隔离的RS485。整个系统采用USB-C供电,扩展板通过镀金顶针和Zero 2连接,提供电源供应和USB2.0扩展,不占用Zero 2W的40pin扩展接口。

带隔离模块的RS485速度可达737Kbps。

二、硬件资源

1. 顶针通讯与供电:

pogopin顶针连接,供电和通讯,简洁可靠;不占用树莓派的GPIO引脚;

板载USB Type-C供电接口,可通过此Type-C供电,树莓派Zero无需再供电;

2. CAT4 4G:

4G LTE免驱

3. 千兆以太网

高速以太网实测可达300Mbps;

4. RS485:

采用USB转串口再加外挂带隔离的RS485模块的方案;

自动流控型高速RS485隔离模块,2500V隔离耐压保护;

波特率稳定可靠支持500Kbps,实测高达737000bps传输速率,128个节点;

可作为从机介入RS485总线,也可作为主机,接收处理各从机信息。

三、树莓派系统下使用演示

本文档使用基于树莓派Zero 2W的硬件,

树莓派OS(Raspberry Pi OS with desktop),镜像为2024-07-04-raspios-bookworm-arm64.img.xz。

(若使用树莓派Zero一代系列的板子,只支持32位系统,请注意下载版本。)

树莓派OS下载地址:

https://www.raspberrypi.com/software/operating-systems/#raspberry-pi-os-64-bit

3.1 查看硬件设备

3.1.1 查看USB设备

打开树莓派OS的终端,输入命令lsusb,如下图所示:

1008_RPi0_to_4B_01.jpg

可以看到系统识别到了USB HUB和4G模组等外设。其中:

Device 002:外挂USB Hub;

Device 003:USB转RS485;

Device 004:外挂USB Hub;

Device 005:USB转千兆网卡;

Device 006:USB2.0-A接口;

Device 007:USB2.0-A接口;

Device 008:4G模组;

Device 009:USB2.0-A接口;

Device 011:USB2.0-A接口。

如果系统卡在树莓派logo处无法启动:

0007_Zero_4G_Cat1_58.jpg

或者启动后键盘鼠标及4G模组都无法使用,请仔细观察顶针是否对准了镀金触点,并请在PC端打开TF卡系统分区根目录下的config.txt检查USB的初始化脚本:

0007_Zero_4G_Cat1_41.jpg

需要确认下图中的三处红框的位置是否都配置成完全,如果没有,请手动添加完整并保存文件:

# otg_mode=1(建议按此注释掉)

dtoverlay=dwc2,dr_mode=host(两处必须确保加上)

0007_Zero_4G_Cat1_57.jpg

3.1.2 查看网络设备

打开树莓派OS的终端,输入命令ifconfig -a,如下图所示:

1008_RPi0_to_4B_02.jpg

可以看到eth0为USB转千兆以太网,eth1为Cat4 4G,wlan0为Zero 2W的无线网卡。

为了操作方便,建议使用PC端的SSH软件连接系统并进行终端操作,我们使用与树莓派的无线网卡的IP地址在同一网段内的PC,通过MobaXterm进行连接:

1008_RPi0_to_4B_03.jpg

连接后,大部分操作都可以通过PC端的MobaXterm进行,使得整套硬件系统可以脱离显示器运作。以下测试操作将通过MobaXterm在PC端进行演示。

3.2 测试网络设备

3.2.1 ping包测试

测试的时候有优先级,优先级可以通过可以执行route命令来查看,哪个网卡的metric值小就从优先从哪个网卡通讯,如有内外网特殊优先级需要请调整各网络的metric值以及DNS服务器设置。

1008_RPi0_to_4B_04.jpg

可以用-I参数指定从哪个网卡开始ping包,如下所示:

ping www.mcuzone.com -I eth0

ping www.mcuzone.com -I eth1

ping www.mcuzone.com -I wlan0

1008_RPi0_to_4B_05.jpg

我们也可以通过关闭某个网卡,达到强制指定通过另一个网络进行通讯,如需关闭eth0,可执行下面的命令:

sudo ifconfig eth0 down

以及通过执行下面的命令来开启eth0:

sudo ifconfig eth0 up

3.2.2 设置网卡优先级与指定DNS服务器

关于该部分的知识,可参阅以下链接:

1. 设置网卡优先级

2. 利用udhcpc指定DNS服务器

3. udhcpc应用场景举例

建议通过udhcpc软件,而不是编辑resolv.conf文件来指定DNS服务器,这样会比较稳定。

3.2.3 iperf3测速

Windows版iperf3下载:

http://www.mcuzone.com/down/Software.asp?ID=10000634

Linux下iperf3安装:

sudo apt-get install iperf3

千兆以太网测速结果,client模式75Mbps左右,server模式94Mbps左右: