1001 RPi0 4G Cat1-ETH(百兆网络 4G Cat1 USB2.0-A 485版本可选)

来自Mcuzone Wiki
Mcuadm留言 | 贡献2024年9月25日 (三) 11:54的版本

Change the language to English

关键词

树莓派、 Raspberry Pi Zero、Cat1 4G LTE、USB2.0-A、以太网、扩展板、USB HUB 集线器、RS485、串口

一、简介

树莓派Zero系列(包括Zero、Zero W(H)以及Zero 2W)是一款具备极高性价比的嵌入式系统平台,尺寸小巧功耗较低性能尚可,适合很多轻量型应用场景。Zero系列虽然小巧,但预留了非常多的扩展接口,特别是板子反面引出了USB和电源的镀金测试点,我们可以借助这两组USB和电源测试点进行多种类型的外设扩展。本扩展板实际就是一个USB HUB集线器,通过顶针将扩展板和Zero的USB口连接起来,通过USB扩展四路USB口,其中一路USB转百兆有线以太网,一路USB接4G Cat1模组以及两路USB2.0-A主机接口。另有485版本可选,485版本可选将一路USB转为RS485接口。

4G Cat1是针对10Mbps左右的中速物联网应用的高性价比模组,10Mbps下行5Mbps上行的速率可以满足绝大多数联网和传输需求;4G全网通,支持联通,电信和移动。

二、硬件资源

2.1 创新性采用镀金顶针和树莓派Zero系列进行连接,免去外接线缆;

2.2 两组镀金顶针分别用于供电和USB通讯;

2.3 扩展板具备USB-C供电接口,可通过此接口给整个系统供电,也可以用Zero上的MicroUSB口供电(供电二选一使用);

2.4 板载USB Hub,将Zero的USB扩展为四路,一路用于连接4G LTE Cat1模组,两路USB主机接口,一路USB转10/100Mbps以太网;

2.5 4G LTE Cat1模组支持4G全网通,下行可达10Mbps,上行可达5Mbps;

2.6 4G LTE Cat1模组在绝大多数系统下可即插即用免驱免拨号,通常识别为eth1网卡;

2.7 4G LTE Cat模组采用Nano尺寸SIM卡,可选SMA天线或者IPEX一代天线;

2.8 可支持具有相同位置USB触点的国产派,如香橙派Zero 2W;

2.9 板载PWR/MODE/ACT LED指示灯;

2.10 板载4G复位按键;

2.11 可选配带电源隔离的工业级RS485模块版本;

2.12 可选配铝合金外壳。

注意1:连接了此扩展板后Zero上的MicroUSB将不可使用。

注意2:部分系统下需要禁用OTG功能并将USB模式设置为Host模式。

注意3:支持树莓派Zero所有版本,包括Zero、Zero W、Zero WH和Zero 2W。

0007_Zero_4G_Cat1_65.jpg

三、系统及烧写

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

1)树莓派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

2)Ubuntu系统(Ubuntu Server 24.04 LTS服务器版,树莓派Zero 2W因为性能关系不能用Desktop版)。镜像为ubuntu-24.04-preinstalled-server-arm64+raspi.img.xz

Ubuntu系统下载地址:

https://ubuntu.com/download/raspberry-pi

3.2 系统烧写在SD(TF)卡上,点击直达烧写方法说明

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

4.1 查看硬件设备

4.1.1 查看USB设备

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

0007_Zero_4G_Cat1_01.jpg

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

Device 002:外挂USB Hub;

Device 003:4G模组;

Device 004:USB转百兆网卡;

Device 005:USB2.0-A接口;

Device 008: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

4.1.2 查看网络设备

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

0007_Zero_4G_Cat1_24.jpg

可以看到eth0为USB转以太网,eth1为4G Cat1(上图中IP地址默认为192.168.5.8)。

4.2 测试网络设备

4.2.1 ping包测试

测试的时候有优先级,如果eth0已连接则优先走eth0。如有内外网特殊优先级需要请调整各网络的metric值以及DNS服务器设置。

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

ping www.mcuzone.com -I eth0

ping www.mcuzone.com -I eth1

0007_Zero_4G_Cat1_04.jpg

优先级可以通过可以执行route命令来查看,哪个网卡的metric值小就从优先从哪个网卡通讯。

0007_Zero_4G_Cat1_05.jpg

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

sudo ifconfig eth0 down

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

sudo ifconfig eth0 up

4.2.2 网卡优先级的设置

如果要设置网卡的优先级,需要修改网卡的metric值,我们首先需要安装ifmetric软件:

sudo apt install ifmetric

0007_Zero_4G_Cat1_06.jpg

安装完毕后就可以修改网卡的metric值,如需要将eth0的metric值修改为102,可执行:

sudo ifmetric eth0 102

修改完毕后再用route命令查看,我们可以看到eth0的metric值已修改为102:

0007_Zero_4G_Cat1_07.jpg

但是这样修改仅仅是临时修改,如果系统重启的话还是会恢复到原样,如果我们需要永久修改eth0的metric值为102,则需通过编辑启动文件rc.local来达到目的。

开启rc-local服务:

sudo systemctl enable --now rc-local

通过下面的命令打开rc.local:

sudo nano /etc/rc.local

在exit 0上面添加你要开机执行的命令,如sudo ifmetric eth0 102,然后保存文件,这样就可以实现每次启动系统修改eth0的metric:

0007_Zero_4G_Cat1_08.jpg

0007_Zero_4G_Cat1_09.jpg

修改完metric值后,有可能系统的nameserver(即DNS服务器)还是原来优先级高的网卡的,因为此时默认网卡已改变,就会造成域名无法解析,所以我们还需要修改nameserver。

通过下面的命令打开resolv.conf文件:

sudo nano /etc/resolv.conf

0007_Zero_4G_Cat1_16.jpg

0007_Zero_4G_Cat1_17.jpg

查看此时的nameserver是否正确,如果不正确,请将其改为目前优先级高的网卡的nameserver或者一些通用的nameserver地址(如114.114.114.114等)。

4.2.3 利用udhcpc指定DNS服务器

上一节我们讲了通过修改nameserver来指定DNS服务器,其实我们也可以通过使用udhcpc来完成该任务。

首先需要安装udhcpc软件:

sudo apt install udhcpc

0007_Zero_4G_Cat1_48.jpg

本节我们测试的例子中,eth0为USB转以太网,usb0为4G Cat1(即相当于前文的eth1),如果我们需要使用USB转以太网(eth0)的网络DNS,请使用下面的命令:

sudo udhcpc -i eth0

0007_Zero_4G_Cat1_49.jpg

如果我们需要使用4G Cat1(usb0)的网络DNS,请使用下面的命令:

sudo udhcpc -i usb0

0007_Zero_4G_Cat1_50.jpg

4.2.4 udhcpc应用场景举例

例1:百兆网口接Internet,4G Cat1正常联网。

这时我们ping某个域名,是可以成功的:

0007_Zero_4G_Cat1_51.jpg

此时拔了百兆网口的网线,就无法ping成功了:

0007_Zero_4G_Cat1_52.jpg

执行sudo udhcpc -i usb0,将DNS服务器切换到4G Cat1上,就可以正常ping了:

0007_Zero_4G_Cat1_53.jpg

例2:百兆网口接内网(不连通Internet),4G Cat1正常联网。

这时我们ping某个域名,无法ping成功:

0007_Zero_4G_Cat1_54.jpg

执行sudo udhcpc -i usb0,将DNS服务器切换到4G Cat1上,就可以正常ping了,同时还可以通过IP地址正常访问内网设备:

0007_Zero_4G_Cat1_55.jpg

4.2.5 iperf3测速

Windows版iperf3下载:

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

Linux下iperf3安装:

sudo apt-get install iperf3

百兆以太网测速结果,client模式70Mbps左右,server模式90Mbps左右:

0007_Zero_4G_Cat1_10.jpg

0007_Zero_4G_Cat1_11.jpg

注意:USB转百兆有线受Zero 2W性能和USB Hub以及4G Cat1带宽占用影响并不能跑满,请知悉。

4G CAT1的测速结果如下:

0007_Zero_4G_Cat1_46.jpg

注意:网络测速受网络环境和测试方法影响,速度请以实际为准,本测试仅供参考。

4.3 树莓派系统下4G Cat1模组的AT命令演示

4.3.1 打开AT命令串口方法

在树莓派下要对4G进行AT命令操作,首先要打开AT命令串口,打开方法如下:

首先打开ttyUSB串口:

输入命令lsusb,如下图所示:

0007_Zero_4G_Cat1_23.jpg

记下4G模块的ID值:1782 4e00

使用下列命令打开ttyUSB串口,其中echo后面的值就是上面记录的ID值:

sudo modprobe option

sudo sh -c 'echo 1782 4e00 > /sys/bus/usb-serial/drivers/option1/new_id'

0007_Zero_4G_Cat1_12.jpg

执行以上两条命令后系统应该会多出ttyUSB0-2三个设备。

然后用串口工具打开特定串口:

下载minicom工具:

sudo apt-get install minicom

0007_Zero_4G_Cat1_13.jpg

通过minicom打开AT命令串口:

sudo minicom -D /dev/ttyUSB0

sudo minicom -D /dev/ttyUSB1

0007_Zero_4G_Cat1_14.jpg

然后直接键入AT命令,回车可以看到结果,如果需要查看回显,请键入命令:ate1

注意:4G模组型号可能会变更,但流程一样,只需要用lsusb查看实际的USB ID并在后续命令中将USB ID替换为实际值即可。另外,有部分4G Cat1模组的芯片组ID已经被内核加入支持列表,这类Cat1模组无需添加USB ID即可自动识别为ttyAMAx。

4.3.2 常用AT命令

1) 检查SIM卡是否识别到:

at+cpin?

返回ready表示卡已识别,返回error要检查硬件

2) 检查天线信号质量:

at+csq

返回值在26-31表示信号OK,信号满格31;返回值在20-25表示信号勉勉强强;返回值在20以下表示信号比较糟糕或者天线没接

3) 检查注网情况:

at+cops?

正常应该返回运营商代码和7,7代表4G

注意,以上命令只有at+csq不要加问号,另外两条命令需要加问号。

4) 查看4G模块的IMEI码:

at+cgsn

5) 重启4G模块(有时候如果重插SIM卡,热插拔不一定管用,可以用这个reset命令来复位模块):

at+reset

6) 关闭射频:

at+cfun=0

开启射频:

at+cfun=1

上述两条命令成对使用,可以在不重启4G模组的情况下让模组重新注网。

0007_Zero_4G_Cat1_15.jpg

4.4 RS485串口测试

本扩展板另有带RS485模块的版本,此RS485模块的接口由一个USB口转换而来,因此带RS485模块的版本减少了一个USB2.0-A主机接口,该位置由一个RS485接口替代。

首先需要安装串口软件CuteCom,安装命令为:

sudo apt install cutecom

安装完毕后,点击桌面左上角的树莓派图标,在“System Tools”有CuteCom的快捷方式:

0012_MPUUART_MP4232_01.jpg

如果在使用过程中有权限不足的问题,请打开树莓派OS终端,输入:

sudo cutecom

来运行CuteCom。

本扩展板带有4G模组,占用了ttyUSB0-2三个串口,因此485串口的串口号向后顺延,为ttyUSB3。

在PC端插上一个USB转485的转换器,与扩展板上的485接口相连,各自打开串口软件进行收发,结果如下:

树莓派OS端:

0007_Zero_4G_Cat1_59.jpg

Windows端:

0007_Zero_4G_Cat1_60.jpg

经过实测,波特率最高可达到2.06M(以传输数据不发生乱码为准):

树莓派OS端:

0007_Zero_4G_Cat1_61.jpg

Windows端:

0007_Zero_4G_Cat1_62.jpg

五、Ubuntu Sever系统下使用演示

5.1 编辑初始化脚本

Ubuntu Server烧写完毕后,请在PC端打开TF卡系统分区根目录下的config.txt检查USB的初始化脚本,Ubuntu Server对USB初始化了两遍,前面一遍没有配置成host模式,需要确认下图中的两处红框的位置是否都配置成完全,如果没有,请手动添加完整:

dtoverlay=dwc2,dr_mode=host

0007_Zero_4G_Cat1_32.jpg

0007_Zero_4G_Cat1_30.jpg

5.2 配置用户名和密码

将TF卡插入Zero 2W,启动系统。第一次启动后会要求登录,用户名和密码均为ubuntu,登录成功后会要求修改密码。

0007_Zero_4G_Cat1_31.jpg

修改完毕后就自动进入系统。

5.3 配置网络

Ubuntu Server系统出于安全考虑,有非常多的限制,默认很多服务器和组件也都是关闭状态。因为网络接口被关闭,所以系统启动后并无网络可用,需要进行开启设置后才能使用。

注意,系统默认并没有集成ifconfig工具,只有ip命令可用。

执行ip addr查看并记录下网卡名称:

0007_Zero_4G_Cat1_33.jpg

其中2号网卡(enx00e0996df1cd)为USB转百兆网卡,3号网卡(enxac4bb3b9ebe5)为4G模组。

然后运行下面的命令,打开网卡配置文件:

sudo nano /etc/netplan/50-cloud-init.yaml

按照下图编辑网卡配置文件:

0007_Zero_4G_Cat1_34.jpg

保存退出,然后重启。

重启后即可联网,安装net-tools工具以便于使用ifconfig命令:

sudo apt install net-tools

0007_Zero_4G_Cat1_35.jpg

5.4 网络及4G模组测试

执行命令ifconfig -a,查看网卡信息:

0007_Zero_4G_Cat1_36.jpg

可见第一块网卡为USB转百兆网卡,第二块网卡为4G模组。

通过使用-I参数,在ping包时加上网卡名称,可指定哪块网卡进行ping包。通过这两块网卡对腾讯的网站的ping包测试可知,第二块网卡即4G模组支持ipv6:

0007_Zero_4G_Cat1_37.jpg

5.5 AT命令交互测试

安装minicom工具:

sudo apt-get install minicom

0007_Zero_4G_Cat1_38.jpg

然后和树莓派OS一样,通过minicom打开AT命令串口:

sudo minicom -D /dev/ttyUSB0

sudo minicom -D /dev/ttyUSB1

0007_Zero_4G_Cat1_39.jpg

即可使用常见AT命令进行交互:

0007_Zero_4G_Cat1_40.jpg

5.6 RS485串口测试

本扩展板带有4G模组,占用了ttyUSB0-2三个串口,因此485串口的串口号向后顺延,为ttyUSB3。

在PC端插上一个USB转485的转换器,与扩展板上的485接口相连,各自打开串口软件进行收发,Ubuntu系统端使用minicom:

sudo minicom -D /dev/ttyUSB3

经过实测,波特率最高可达到2.00M(以传输数据不发生乱码为准):

Ubuntu系统端:

0007_Zero_4G_Cat1_63.jpg

Windows端:

0007_Zero_4G_Cat1_64.jpg

六、OpenWrt系统操作演示

6.1 概述

此扩展板搭配树莓派Zero 2W,在OpenWrt系统下可配置为一进一出的交换机模式,扩展板上的4G可作为WAN口(直接4G上网),网口配置为LAN口,用于连接PC。

6.2 准备工作

本文使用的OpenWrt系统为:openwrt-bcm27xx-bcm2709-rpi-2-squashfs-sysupgrade-linux-6.1.98-20240723.img.gz

烧写OpenWrt系统并上电启动后,我们通过树莓派自带网口连接网线至PC网口,待PC的网卡与树莓派的网口连接成功后,我们在Windows设置中找到网络和Internet,在以太网中打开连接的网络查看默认网关的IP地址,这个地址就是OpenWrt系统的后台配置页面地址,如图所示,本文测试的地址为192.168.198.1:

0007_Zero_4G_Cat1_18.jpg

然后打开网页浏览器输入192.168.198.1进入OpenWrt系统。默认用户名为root,默认密码为password。

0007_Zero_4G_Cat1_19.jpg

6.3 设置OpenWrt系统

进入OpenWrt系统后,如前所述,用网线把树莓派的网口和PC的网口直连,等PC的网卡获取了IP地址后,即可让PC直接通过4G模块上网(无需设置)。

6.4 测试4G模块网速

在PC端打开https://www.speedtest.cn/进行测速,此时流量走的是4G模块,测试结果如下:

0007_Zero_4G_Cat1_46.jpg

注意:4G网络测速受网络信号和测试方法影响,速度请以实际为准。

6.5 挂载U盘及文件操作

将U盘插入USB口,则在“系统 - 磁盘管理”中直接可以看到该U盘的信息及挂载情况:

0007_Zero_4G_Cat1_20.jpg

在“系统 - 挂载点”中可以看到各个挂载点的情况,也可以在此页面对其进行配置。

在“网络存储 - 文件助手”中,可以对系统中的文件进行操作。

0007_Zero_4G_Cat1_21.jpg

6.6 TTYD终端

OpenWrt系统自带一个网页版的TTYD终端,可在“系统 - TTYD终端”中打开。默认用户名为root,默认密码为password,因为是使用root账号登录,登录后即有root权限。

0007_Zero_4G_Cat1_22.jpg


联系我们

4f7e81daf8791971.jpg 79c020da7ad0af9b.jpg 2851e01a0549e6f7.gif 0003_bb.jpg 0005_qq.jpg QQ:8204136

邮件:mcuzone@vip.qq.com

电话:13957118045

如本页面有任何疏漏、错误或者侵权,请通过上述途径联系我们,谢谢!

Copyright 2004-2024 野芯科技