1006 RPi0 4G MiniPCIe(MiniPCIe扩展4G模组):修订间差异

来自Mcuzone Wiki
 
(未显示2个用户的17个中间版本)
第2行: 第2行:


== '''关键词''' ==
== '''关键词''' ==
树莓派、 Raspberry Pi Zero、Zero W、Zero WH、Zero2 W、MiniPCIe Cat4 4G LTE、USB2.0-A、以太网、扩展板、SSH
树莓派、 Raspberry Pi Zero、Zero W、Zero WH、Zero2 W、MiniPCIe 4G LTE CAT4、USB2.0-A、以太网、扩展板、SSH


== '''一、简介''' ==
== '''一、简介''' ==
此扩展板基于树莓派Zero系列板子扩展的MiniPCIe 4G,利用树莓派Zero板子反面的USB和电源的镀金测试点,进行外设扩展。本扩展板实际就是一个USB HUB集线器,利用顶针将扩展板和Zero的USB口连接起来,免去外接USB线缆,节约空间且美观; 通过USB扩展四路USB口,其中一路USB转百兆有线以太网,一路USB连接MiniPCIe 4G Cat4模组以及两路USB2.0-A主机接口。
此扩展板基于树莓派Zero系列扩展的MiniPCIe 4G,利用树莓派Zero反面的USB和电源的镀金测试点,进行外设扩展。本扩展板实际就是一个USB HUB集线器,利用顶针将扩展板和Zero的USB口连接起来,免去外接USB线缆,节约空间且美观; 通过USB扩展四路USB口,其中一路USB转百兆有线以太网,一路USB连接MiniPCIe 4G Cat4模组以及两路USB2.0-A主机接口。


扩展板支持树莓派Zero全系列所有板子,包括Zero、Zero W、Zero WH和Zero 2W,也支持香橙派Zero 2W。
扩展板支持树莓派Zero全系列所有开发板,包括Zero、Zero W、Zero WH和Zero 2W,也支持香橙派Zero 2W。


4G LTE模组是针对中速物联网应用的高性价比模组,可以满足绝大多数联网和传输需求;我们配套的多款4G LTE模组均为4G全网通,在树莓派官方OS、Ubuntu系统以及OpenWrt系统都是免驱,自动识别,无需额外安装驱动。4G LTE模组在香橙派官方Ubuntu系统下也是免驱,自动识别,即插即用。
4G LTE CAT4模组是针对高速物联网应用的高性价比模组,可以满足绝大多数联网和传输需求;我们配套的多款4G LTE模组均为4G全网通,在树莓派官方OS、Ubuntu系统以及OpenWrt系统都是免驱,自动识别,无需额外安装驱动。4G LTE模组在香橙派官方Ubuntu系统下也是免驱,自动识别,即插即用。


== '''二、硬件资源''' ==
== '''二、硬件资源''' ==
1. 两组镀金顶针分别用于扩展板的供电和USB通讯;
1. 两组镀金顶针分别用于扩展板的供电和USB通讯;


2. 一路USB-C供电接口,可通过此接口给整个系统供电(此时树莓派Zero自身的MicroUSB无需再供电);也可以用Zero上的MicroUSB口供电(供电二选一使用);
2. 一路USB-C供电接口(此时树莓派Zero自身的MicroUSB无需再供电);也可以用Zero上的MicroUSB口供电;二选一使用;


3. 一路USB2.0 MiniPCIe接口,用于连接4G LTE模组;
3. 一路USB2.0 MiniPCIe接口,用于连接4G LTE模组;
第34行: 第34行:
11.  可选配铝合金外壳。
11.  可选配铝合金外壳。


注意1:连接了此扩展板后Zero上的MicroUSB将不可使用。
注意1:连接了此扩展板后,Zero上的MicroUSB将不可接任何USB设备,且无法再使用OTG功能。


注意2:部分系统下需要禁用OTG功能并将USB模式设置为Host模式。
注意2:有些系统需要禁用OTG功能并将USB模式设置为Host模式。
 
http://www.mcuzone.com/wiki/1006_RPi0_4G_MiniPCIe/1006_RPi0_4G_MiniPCIe_50.jpg


http://www.mcuzone.com/wiki/1006_RPi0_4G_MiniPCIe/1006_RPi0_4G_MiniPCIe_66.jpg
http://www.mcuzone.com/wiki/1006_RPi0_4G_MiniPCIe/1006_RPi0_4G_MiniPCIe_66.jpg
第48行: 第46行:
http://www.mcuzone.com/wiki/1006_RPi0_4G_MiniPCIe/1006_RPi0_4G_MiniPCIe_53.jpg
http://www.mcuzone.com/wiki/1006_RPi0_4G_MiniPCIe/1006_RPi0_4G_MiniPCIe_53.jpg


== '''三、树莓派系统的操作''' ==
== '''三、树莓派OS的操作''' ==
我们测试的板子为树莓派zero2W,使用的树莓派OS的版本为2024-07-04-raspios-bookworm-arm64.img.xz,树莓派OS下载地址:
硬件平台:树莓派Zero 2W+扩展板;
 
软件平台:树莓派OS版本为2024-07-04-raspios-bookworm-arm64.img.xz,树莓派OS下载地址:


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


==== 3.1.1 查看USB设备 ====
==== 3.1.1 查看USB设备 ====
打开树莓派OS的终端,输入命令lsusb,如下图所示:
扩展板上的2个USB口分别接一个U盘和无线键鼠,miniPCIe接高通4G模组,打开树莓派OS的终端,输入命令lsusb,如下图所示:


http://www.mcuzone.com/wiki/1006_RPi0_4G_MiniPCIe/1006_RPi0_4G_MiniPCIe_01.jpg
http://www.mcuzone.com/wiki/1006_RPi0_4G_MiniPCIe/1006_RPi0_4G_MiniPCIe_01.jpg


Device 002:外挂USB Hub;
Device 002:USB Hub;
 
Device 003:USB转百兆网卡;


Device 004:USB2.0-A接口;
Device 003:百兆以太网;


Device 005:4G模组;
Device 004:USB2.0-A接口,接无线键鼠;


Device 006:USB2.0-A接口;
Device 005:高通 4G模组;
 
如果系统卡在树莓派logo处无法启动:
 
http://www.mcuzone.com/wiki/0007_Zero_4G_Cat1/0007_Zero_4G_Cat1_58.jpg
 
或者启动后键盘鼠标及4G模组都无法使用,请仔细观察顶针是否对准了镀金触点,并请在PC端打开TF卡系统分区根目录下的config.txt检查USB的初始化脚本:
 
http://www.mcuzone.com/wiki/0007_Zero_4G_Cat1/0007_Zero_4G_Cat1_41.jpg
 
需要确认下图中的三处红框的位置是否都配置成完全,如果没有,请手动添加完整并保存文件:
 
<code># otg_mode=1</code>(建议按此注释掉)


<code>dtoverlay=dwc2,dr_mode=host</code>(两处必须确保加上)
Device 006:USB2.0-A接口,接U盘;


http://www.mcuzone.com/wiki/0007_Zero_4G_Cat1/0007_Zero_4G_Cat1_57.jpg
若USB口未接任何设备,则执行lsusb后,不会出现Device 006和004。


==== 3.1.2 查看网络设备 ====
==== 3.1.2 查看4G和以太网 ====
树莓派OS的终端,输入命令<code>ifconfig -a</code>,(我们内网ip是192.168.8.x,用来判断下面对应扩展板百兆网卡设备),如下图所示:
打开树莓派OS的终端,输入命令<code>ifconfig -a</code>,(我们内网ip是192.168.8.x,用来判断下面对应扩展板百兆网卡设备),如下图所示:


'''CAT4 4G:'''
'''CAT4 4G:'''
第106行: 第92行:


http://www.mcuzone.com/wiki/1006_RPi0_4G_MiniPCIe/1006_RPi0_4G_MiniPCIe_29.jpg
http://www.mcuzone.com/wiki/1006_RPi0_4G_MiniPCIe/1006_RPi0_4G_MiniPCIe_29.jpg
=== 3.2 测试网络设备 ===
=== 3.2 测试4G和以太网 ===
本节使用高通4G模块作为测试模块。
本节使用高通4G模块作为测试模块。


第224行: 第210行:


==== 3.3.2 常用AT命令 ====
==== 3.3.2 常用AT命令 ====
1) 检查SIM卡是否识别到:
{{ATCOMM}}


<code>at+cpin?</code>
=== 3.4 修改4G模组的IP地址 ===
如果4G的IP地址和你的内网地址冲突,可以修改4G的IP地址。


返回ready表示卡已识别,返回error要检查硬件
'''1) 高通4G、ZTE CAT4:'''


2) 检查天线信号质量:
将4G模块的IP改为直接获取公网IP即可,请执行AT命令:


<code>at+csq</code>
设置IP为公网:<code>AT+GTIPPASS=1</code>


返回值在26-31表示信号OK,信号满格31;返回值在20-25表示信号勉勉强强;返回值在20以下表示信号比较糟糕或者天线没接
设置IP为内网:<code>AT+GTIPPASS=0</code>


3) 检查注网情况:
查询当前IP为公网还是内网:<code>AT+GTIPPASS?</code>


<code>at+cops?</code>
'''2) CAT4 4G:'''


正常应该返回运营商代码和7,7代表4G
执行AT命令:


注意,以上命令只有<code>at+csq</code>不要加问号,另外两条命令需要加问号。
<code>AT+ROUTEIP=<newip></code>


4) 查看4G模块的IMEI码:
注意,只支持192.168.x.1这样格式的地址,如果设置了<code>AT+ROUTEIP=192.168.3.1</code>,最终获得的IP为192.168.3.100,修改完后需断电重启系统。


<code>at+cgsn</code>
查询当前IP:<code>AT+ROUTEIP?</code>,返回两个值,前一个为旧IP,后一个为新IP。


5) 重启4G模块(有时候如果重插SIM卡,热插拔不一定管用,可以用这个reset命令来复位模块):
测试命令:<code>AT+ROUTEIP=?</code>


<code>at+reset</code>
'''3)EC20的IP地址不清楚如何修改,如有需要,需要用户自行研究。'''


6) 关闭射频:
=== 3.5 GPS的测试 ===


<code>at+cfun=0</code>
==== 3.5.1 高通4G-GPS ====


开启射频:
若您是高通4G-GPS模块,如需使用GPS功能,请先接GPS无源天线,且将天线甩到窗户外面;GPS的使用是通过AT命令操作的,操作步骤请看第3.3章节,运行minicom,打开ttyUSB0串口:


<code>at+cfun=1</code>
<code>sudo minicom -D /dev/ttyUSB0</code>


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


=== 3.4 修改4G模组的IP地址 ===
<code>at+gtgpsepo=1</code> //开启AGPS
如果4G的IP地址和你的内网地址冲突,可以修改4G的IP地址。
 
<code>at+gtgpspower=1</code> //打开GPS
 
稍等片刻待定位成功,运行:
 
<code>at+gtgps?</code> //查看NMEA信息
 
就可以看到GPS信息输出:
 
http://www.mcuzone.com/wiki/0012_MPUUART_MP4232/0012_MPUUART_MP4232_70.jpg
 
==== 3.5.2 EC20-GPS ====
 
若您是EC20-GPS模块,要使用GPS功能,请先接GPS有源天线,且将天线甩到窗户外面,GPS使用AT命令操作,操作步骤一样,输入命令<code>lsusb</code>,如下图所示:
 
http://www.mcuzone.com/wiki/5002_CM5_Basic/5002_CM5_Basic_62.jpg
 
记下4G模块的ID值:2c7c 0125
 
使用下列命令打开ttyUSB串口,其中echo后面的值就是上面记录的ID值:
 
<code>sudo modprobe option</code>
 
<code>sudo sh -c 'echo 2c7c 0125 > /sys/bus/usb-serial/drivers/option1/new_id'</code>
 
执行以上两条命令后系统应该会多出ttyUSB0-3三个设备,输入<code>ls /dev/ttyUSB*</code>可以查看:
 
http://www.mcuzone.com/wiki/5002_CM5_Basic/5002_CM5_Basic_63.jpg
 
运行minicom,打开ttyUSB3串口:
 
<code>sudo minicom -D /dev/ttyUSB3</code>
 
并运行:
 
<code>AT+QGPS=1</code> //打开GPS
 
运行成功后打开ttyUSB1:
 
<code>sudo minicom -D /dev/ttyUSB1</code>
 
就可以看到该串口有GPS信息输出,稍等片刻即可定位:
 
http://www.mcuzone.com/wiki/5002_CM5_Basic/5002_CM5_Basic_64.jpg
 
=== 3.6 EC20的打电话和发短信操作 ===
 
==== 3.6.1 打电话操作 ====
 
==== 3.6.2 收发短信操作 ====
这里我们演示的收发短信操作,仅限英文字符。
 
== '''四、FAQ''' ==
 
=== 4.1 系统启动一半卡住了,怎么办? ===
问1:如果系统卡在树莓派logo处无法启动(如图):
 
http://www.mcuzone.com/wiki/0007_Zero_4G_Cat1/0007_Zero_4G_Cat1_58.jpg
 
答1: 请在PC端打开TF卡系统分区根目录下的config.txt检查USB的初始化脚本:
 
http://www.mcuzone.com/wiki/0007_Zero_4G_Cat1/0007_Zero_4G_Cat1_41.jpg
 
需要确认下图中的三处红框的位置是否都配置成完全,如果没有,请手动添加完整并保存文件:
 
<code># otg_mode=1</code>(建议按此注释掉)
 
<code>dtoverlay=dwc2,dr_mode=host</code>(两处必须确保加上)
 
http://www.mcuzone.com/wiki/0007_Zero_4G_Cat1/0007_Zero_4G_Cat1_57.jpg
 
=== 4.2 鼠标键盘无法使用,怎么办? ===
问2:  启动后键盘鼠标及4G模组都无法使用,怎么办?
 
答2:硬件上,1)请仔细观察顶针是否对准了镀金触点,螺钉是否拧紧;2)请查看树莓派zero开发板自身的micro口有没有外接其他设备,连USB线也不能接;
 
如果硬件上没有问题,那要从软件上解决,请参考答1的操作步骤。
 
=== 4.3 接了扩展板后,USB gadget还能用么? ===
问3: 我之前用树莓派zero的micro USB作为 USB gadget;现在接了扩展板后,能用扩展板上的USB口实现USB gadget功能么?
 
答3: 不能。原本树莓派zero的micro USB作为USB gadget,是将树莓派zero的micro USB的OTG作为device功能使用;但是我们的扩展板是将树莓派zero的micro USB OTG作为HOST使用,OTG是2个功能接口二选一使用;故,若您想用USB gadget,那只能放弃我们的扩展板,直接用树莓派zero即可。
 
=== 4.4 供电怎么供? ===
问4:  扩展板上的电源USB-C口供电后,树莓派zero的micro 电源口还需要再供电么?
 
答4:  供电二选一使用,您可以只用扩展板上的USB-C供电,也可以只用树莓派zero自身的micro 电源口供电,不要2个电源口同时插上。
 
=== 4.5 可以看到4G的IP地址,但是不能联网,怎么办? ===
问5: ifconfig -a执行后,4G设备识别了,也看到IP地址,能ping IP,但是不能ping域名(如下图),怎么办呢?
 
http://www.mcuzone.com/wiki/0024_MP4GUSB/0024_MP4GUSB_77.jpg
 
答5:若ping IP地址成功,说明4G模组可以正常上网;ping域名失败,这说明系统对4G的DNS解析有问题,需做如下操作:将扩展板的网口接上级路由器,让树莓派zero能上网,需要安装udhcpc(此处以ZET CAT4 4G为例):


'''1) 高通4G、ZTE CAT4:'''
<code>sudo apt install udhcpc</code>


将4G模块的IP改为直接获取公网IP即可,请执行AT命令:
安装成功后请执行(-i 后面的设备号请从执行 ifconfig -a里查看4G):


设置IP为公网:<code>AT+GTIPPASS=1</code>
<code>sudo udhcpc -i enx344b50000000</code>


设置IP为内网:<code>AT+GTIPPASS=0</code>
后再ping:


查询当前IP为公网还是内网:<code>AT+GTIPPASS?</code>
http://www.mcuzone.com/wiki/0024_MP4GUSB/0024_MP4GUSB_23.jpg


'''2) CAT4 4G:'''
=== 4.6 每次启动后都要udhcpc,怎么办? ===
问6:对于4G要解析DNS服务器的,安装udcpc后可正常联网,但是每次系统重启都需要运行一次udcpc;如果想开机即可自动通过4G网络上网,怎么办?


执行AT命令:
答6:需要在rc.local文件添加开机命令,可以参考如下步骤(高通4G为例,usb0是4G的设备名称,从执行<code>ifconfig -a</code>,可以看到,用户以实物为准):


<code>AT+ROUTEIP=<newip></code>
开启rc-local服务:


注意,只支持192.168.x.1这样格式的地址,如果设置了<code>AT+ROUTEIP=192.168.3.1</code>,最终获得的IP为192.168.3.100,修改完后需断电重启系统。
<code>sudo systemctl enable --now rc-local</code>


查询当前IP:<code>AT+ROUTEIP?</code>,返回两个值,前一个为旧IP,后一个为新IP。
通过下面的命令打开rc.local:


测试命令:<code>AT+ROUTEIP=?</code>
<code>sudo nano /etc/rc.local</code>


'''3)EC20的IP地址不清楚如何修改,如有需要,需要用户自行研究。'''
在exit 0上面添加你要开机执行的命令,即:


=== 3.5 GPS的测试 ===
<code>sleep 5 && sudo udhcpc -i usb0 && sleep 5 && sudo udhcpc -i usb0 && sleep 5 && sudo udhcpc -i usb0</code>


==== 3.5.1 高通4G-GPS ====
sleep命令的作用是延迟多少秒执行之后的命令,因为4G模块获取IP地址需要一定的时间,所以为了防止udhcpc执行失败,需要多执行几次,并且在每一次执行命令之间加上一定的延迟。这样执行的结果是等系统启动后,大约20秒左右可以使用4G网络。


==== 3.5.2 EG20-GPS ====
然后保存文件,这样就可以开机即可实现自动通过4G模组上网。


== '''四、OpenWrt系统的操作''' ==
== '''五、OpenWrt系统的操作''' ==
我们搭配树莓派Zero 2W,使用CAT4 4G做演示;在OpenWrt系统下可配置为一进一出的交换机模式,扩展板上的4G可作为WAN口(直接4G上网),网口配置为LAN口,用于连接PC。
我们搭配树莓派Zero 2W,使用CAT4 4G做演示;在OpenWrt系统下可配置为一进一出的交换机模式,扩展板上的4G可作为WAN口(直接4G上网),网口配置为LAN口,用于连接PC。


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


=== 4.1 配置系统 ===
=== 5.1 配置系统 ===
用网线将扩展板的网口连接至PC网口,插上TF系统卡和手机SIM卡,上电启动系统;待网口连接成功后,我们在Windows设置中找到网络和Internet,在以太网中打开连接的网络查看默认网关的IP地址,这个地址就是OpenWrt系统的后台配置页面地址,如图所示,本文测试的地址为192.168.198.1:
将扩展板的网口连接至PC网口,上电启动系统;我们在Windows设置中找到网络和Internet,在以太网中打开连接的网络查看默认网关的IP地址,这个地址就是OpenWrt系统的后台配置页面地址,如图所示,本文测试的地址为192.168.198.1:


http://www.mcuzone.com/wiki/1006_RPi0_4G_MiniPCIe/1006_RPi0_4G_MiniPCIe_31.jpg
http://www.mcuzone.com/wiki/1006_RPi0_4G_MiniPCIe/1006_RPi0_4G_MiniPCIe_31.jpg
第317行: 第398行:
http://www.mcuzone.com/wiki/1006_RPi0_4G_MiniPCIe/1006_RPi0_4G_MiniPCIe_49.jpg
http://www.mcuzone.com/wiki/1006_RPi0_4G_MiniPCIe/1006_RPi0_4G_MiniPCIe_49.jpg


=== 4.2 添加4G接口 ===
=== 5.2 设置4G为WAN口 ===
点击“网络 - 接口”,然后点击“添加新接口...”:
点击“网络 - 接口”,然后点击“添加新接口...”:


第344行: 第425行:
http://www.mcuzone.com/wiki/1006_RPi0_4G_MiniPCIe/1006_RPi0_4G_MiniPCIe_23.jpg
http://www.mcuzone.com/wiki/1006_RPi0_4G_MiniPCIe/1006_RPi0_4G_MiniPCIe_23.jpg


== '''五、扩展板选型表''' ==
== '''六、扩展板选型表''' ==
http://www.mcuzone.com/wiki/1006_RPi0_4G_MiniPCIe/1006_RPi0_4G_MiniPCIe_64.jpg
http://www.mcuzone.com/wiki/1006_RPi0_4G_MiniPCIe/1006_RPi0_4G_MiniPCIe_64.jpg


{{联系我们_图标}}
{{联系我们_图标}}
[http://wiki.mcuzone.com/index.php?title=1006_RPi0_4G_MiniPCIe%EF%BC%88MiniPCIe%E6%89%A9%E5%B1%954G%E6%A8%A1%E7%BB%84%EF%BC%89 T]

2025年3月17日 (一) 13:38的最新版本

Change the language to English

关键词

树莓派、 Raspberry Pi Zero、Zero W、Zero WH、Zero2 W、MiniPCIe 4G LTE CAT4、USB2.0-A、以太网、扩展板、SSH

一、简介

此扩展板基于树莓派Zero系列扩展的MiniPCIe 4G,利用树莓派Zero反面的USB和电源的镀金测试点,进行外设扩展。本扩展板实际就是一个USB HUB集线器,利用顶针将扩展板和Zero的USB口连接起来,免去外接USB线缆,节约空间且美观; 通过USB扩展四路USB口,其中一路USB转百兆有线以太网,一路USB连接MiniPCIe 4G Cat4模组以及两路USB2.0-A主机接口。

扩展板支持树莓派Zero全系列所有开发板,包括Zero、Zero W、Zero WH和Zero 2W,也支持香橙派Zero 2W。

4G LTE CAT4模组是针对高速物联网应用的高性价比模组,可以满足绝大多数联网和传输需求;我们配套的多款4G LTE模组均为4G全网通,在树莓派官方OS、Ubuntu系统以及OpenWrt系统都是免驱,自动识别,无需额外安装驱动。4G LTE模组在香橙派官方Ubuntu系统下也是免驱,自动识别,即插即用。

二、硬件资源

1. 两组镀金顶针分别用于扩展板的供电和USB通讯;

2. 一路USB-C供电接口(此时树莓派Zero自身的MicroUSB无需再供电);也可以用Zero上的MicroUSB口供电;二选一使用;

3. 一路USB2.0 MiniPCIe接口,用于连接4G LTE模组;

4. 一路Nano SIM卡座;

5. 一路百兆以太网;

6. 两路USB2.0-A口,每路可确保2A电流输出;

7. 三个LED指示灯:PWR/MODE/ACT LED;

8. 一个4G复位按键;

9. 尺寸:85*70mm;

10. PCB板沉金工艺,无铅生产,板材通过UL和ROHS认证,防火等级94V-0;

11. 可选配铝合金外壳。

注意1:连接了此扩展板后,Zero上的MicroUSB将不可接任何USB设备,且无法再使用OTG功能。

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

1006_RPi0_4G_MiniPCIe_66.jpg

1006_RPi0_4G_MiniPCIe_51.jpg

1006_RPi0_4G_MiniPCIe_57.jpg

1006_RPi0_4G_MiniPCIe_53.jpg

三、树莓派OS的操作

硬件平台:树莓派Zero 2W+扩展板;

软件平台:树莓派OS版本为2024-07-04-raspios-bookworm-arm64.img.xz,树莓派OS下载地址:

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

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

3.1 查看硬件设备

3.1.1 查看USB设备

扩展板上的2个USB口分别接一个U盘和无线键鼠,miniPCIe接高通4G模组,打开树莓派OS的终端,输入命令lsusb,如下图所示:

1006_RPi0_4G_MiniPCIe_01.jpg

Device 002:USB Hub;

Device 003:百兆以太网;

Device 004:USB2.0-A接口,接无线键鼠;

Device 005:高通 4G模组;

Device 006:USB2.0-A接口,接U盘;

若USB口未接任何设备,则执行lsusb后,不会出现Device 006和004。

3.1.2 查看4G和以太网

打开树莓派OS的终端,输入命令ifconfig -a,(我们内网ip是192.168.8.x,用来判断下面对应扩展板百兆网卡设备),如下图所示:

CAT4 4G:

1006_RPi0_4G_MiniPCIe_28.jpg

高通4G:

1006_RPi0_4G_MiniPCIe_30.jpg

ZTE CAT4:

1006_RPi0_4G_MiniPCIe_45.jpg

EC20:

1006_RPi0_4G_MiniPCIe_29.jpg

3.2 测试4G和以太网

本节使用高通4G模块作为测试模块。

3.2.1 ping包测试

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

有关网卡优先级的相关设置,请参阅以下链接:

1. 网卡优先级的设置

2. 利用udhcpc指定DNS服务器

3. udhcpc应用场景举例

现在系统已连接有线百兆网卡和4G,可以用-I参数指定从哪个网卡开始ping包,如下所示:(不同的4G型号,对应的设备名称不一样,请以用户自己的ifconfig-a的结果为准)

ping www.mcuzone.com -I eth0

ping www.mcuzone.com -I usb0

1006_RPi0_4G_MiniPCIe_59.jpg

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

1006_RPi0_4G_MiniPCIe_60.jpg

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

sudo ifconfig usb0 down

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

sudo ifconfig usb0 up

3.2.2 iperf3测速

Windows版iperf3下载:

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

Linux下iperf3安装:

sudo apt-get install iperf3

百兆以太网测速结果:

client模式92.3Mbps左右:

1006_RPi0_4G_MiniPCIe_06.jpg

server模式94.8Mbps左右:

1006_RPi0_4G_MiniPCIe_07.jpg

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

3.2.3 4G网速测试

因为Zero 2W性能限制,在其上运行Chromium等浏览器进行网页测速时,系统运行会非常慢,因此我们使用轻量浏览器surf进行测速。

安装轻量浏览器surf:

sudo apt install surf

然后关闭WiFi,拔掉网线,只剩下4G网络连接,进入https://test.ustc.edu.cn/进行测速。在树莓派终端中运行:

surf https://test.ustc.edu.cn

结果如下:

1006_RPi0_4G_MiniPCIe_47.jpg

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

3.3 4G的AT命令使用

3.3.1 打开AT命令串口方法

(这里使用高通4G演示)在树莓派系统下对4G进行AT命令操作,需要打开AT命令串口,打开方法如下:

首先打开ttyUSB串口:

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

1006_RPi0_4G_MiniPCIe_08.jpg

记下4G模块的ID值:05c6 90b6

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

sudo modprobe option

sudo sh -c 'echo 05c6 90b6 > /sys/bus/usb-serial/drivers/option1/new_id'

1006_RPi0_4G_MiniPCIe_09.jpg

执行以上两条命令后系统应该会多出ttyUSB0-2三个设备,输入ls /dev可以查看:

1006_RPi0_4G_MiniPCIe_10.jpg

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

安装minicom工具:

sudo apt-get install minicom

1006_RPi0_4G_MiniPCIe_11.jpg

通过minicom打开AT命令串口:

sudo minicom -D /dev/ttyUSB0

1006_RPi0_4G_MiniPCIe_12.jpg

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

1006_RPi0_4G_MiniPCIe_13.jpg

注意:操作流程都一样,只是不同的4G型号,相应的USB ID会不一样,所以以lsusb查看实际的USB ID为准。

3.3.2 常用AT命令

常用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模组的情况下让模组重新注网。

7. APN设置

普通手机SIM卡,不需要任何设置,直接使用;有些物联网卡需要设置APN才能使用,以下是用户使用提供的参考,具体的APN代码需要SIM卡运营商提供。

移动卡:

AT+CPNETAPN=0,"cmnet","",""

电信卡:

AT+CPNETAPN=0,"ctnet","",""

3.4 修改4G模组的IP地址

如果4G的IP地址和你的内网地址冲突,可以修改4G的IP地址。

1) 高通4G、ZTE CAT4:

将4G模块的IP改为直接获取公网IP即可,请执行AT命令:

设置IP为公网:AT+GTIPPASS=1

设置IP为内网:AT+GTIPPASS=0

查询当前IP为公网还是内网:AT+GTIPPASS?

2) CAT4 4G:

执行AT命令:

AT+ROUTEIP=<newip>

注意,只支持192.168.x.1这样格式的地址,如果设置了AT+ROUTEIP=192.168.3.1,最终获得的IP为192.168.3.100,修改完后需断电重启系统。

查询当前IP:AT+ROUTEIP?,返回两个值,前一个为旧IP,后一个为新IP。

测试命令:AT+ROUTEIP=?

3)EC20的IP地址不清楚如何修改,如有需要,需要用户自行研究。

3.5 GPS的测试

3.5.1 高通4G-GPS

若您是高通4G-GPS模块,如需使用GPS功能,请先接GPS无源天线,且将天线甩到窗户外面;GPS的使用是通过AT命令操作的,操作步骤请看第3.3章节,运行minicom,打开ttyUSB0串口:

sudo minicom -D /dev/ttyUSB0

并运行:

at+gtgpsepo=1 //开启AGPS

at+gtgpspower=1 //打开GPS

稍等片刻待定位成功,运行:

at+gtgps? //查看NMEA信息

就可以看到GPS信息输出:

0012_MPUUART_MP4232_70.jpg

3.5.2 EC20-GPS

若您是EC20-GPS模块,要使用GPS功能,请先接GPS有源天线,且将天线甩到窗户外面,GPS使用AT命令操作,操作步骤一样,输入命令lsusb,如下图所示:

5002_CM5_Basic_62.jpg

记下4G模块的ID值:2c7c 0125

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

sudo modprobe option

sudo sh -c 'echo 2c7c 0125 > /sys/bus/usb-serial/drivers/option1/new_id'

执行以上两条命令后系统应该会多出ttyUSB0-3三个设备,输入ls /dev/ttyUSB*可以查看:

5002_CM5_Basic_63.jpg

运行minicom,打开ttyUSB3串口:

sudo minicom -D /dev/ttyUSB3

并运行:

AT+QGPS=1 //打开GPS

运行成功后打开ttyUSB1:

sudo minicom -D /dev/ttyUSB1

就可以看到该串口有GPS信息输出,稍等片刻即可定位:

5002_CM5_Basic_64.jpg

3.6 EC20的打电话和发短信操作

3.6.1 打电话操作

3.6.2 收发短信操作

这里我们演示的收发短信操作,仅限英文字符。

四、FAQ

4.1 系统启动一半卡住了,怎么办?

问1:如果系统卡在树莓派logo处无法启动(如图):

0007_Zero_4G_Cat1_58.jpg

答1: 请在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.2 鼠标键盘无法使用,怎么办?

问2: 启动后键盘鼠标及4G模组都无法使用,怎么办?

答2:硬件上,1)请仔细观察顶针是否对准了镀金触点,螺钉是否拧紧;2)请查看树莓派zero开发板自身的micro口有没有外接其他设备,连USB线也不能接;

如果硬件上没有问题,那要从软件上解决,请参考答1的操作步骤。

4.3 接了扩展板后,USB gadget还能用么?

问3: 我之前用树莓派zero的micro USB作为 USB gadget;现在接了扩展板后,能用扩展板上的USB口实现USB gadget功能么?

答3: 不能。原本树莓派zero的micro USB作为USB gadget,是将树莓派zero的micro USB的OTG作为device功能使用;但是我们的扩展板是将树莓派zero的micro USB OTG作为HOST使用,OTG是2个功能接口二选一使用;故,若您想用USB gadget,那只能放弃我们的扩展板,直接用树莓派zero即可。

4.4 供电怎么供?

问4: 扩展板上的电源USB-C口供电后,树莓派zero的micro 电源口还需要再供电么?

答4: 供电二选一使用,您可以只用扩展板上的USB-C供电,也可以只用树莓派zero自身的micro 电源口供电,不要2个电源口同时插上。

4.5 可以看到4G的IP地址,但是不能联网,怎么办?

问5: ifconfig -a执行后,4G设备识别了,也看到IP地址,能ping IP,但是不能ping域名(如下图),怎么办呢?

0024_MP4GUSB_77.jpg

答5:若ping IP地址成功,说明4G模组可以正常上网;ping域名失败,这说明系统对4G的DNS解析有问题,需做如下操作:将扩展板的网口接上级路由器,让树莓派zero能上网,需要安装udhcpc(此处以ZET CAT4 4G为例):

sudo apt install udhcpc

安装成功后请执行(-i 后面的设备号请从执行 ifconfig -a里查看4G):

sudo udhcpc -i enx344b50000000

后再ping:

0024_MP4GUSB_23.jpg

4.6 每次启动后都要udhcpc,怎么办?

问6:对于4G要解析DNS服务器的,安装udcpc后可正常联网,但是每次系统重启都需要运行一次udcpc;如果想开机即可自动通过4G网络上网,怎么办?

答6:需要在rc.local文件添加开机命令,可以参考如下步骤(高通4G为例,usb0是4G的设备名称,从执行ifconfig -a,可以看到,用户以实物为准):

开启rc-local服务:

sudo systemctl enable --now rc-local

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

sudo nano /etc/rc.local

在exit 0上面添加你要开机执行的命令,即:

sleep 5 && sudo udhcpc -i usb0 && sleep 5 && sudo udhcpc -i usb0 && sleep 5 && sudo udhcpc -i usb0

sleep命令的作用是延迟多少秒执行之后的命令,因为4G模块获取IP地址需要一定的时间,所以为了防止udhcpc执行失败,需要多执行几次,并且在每一次执行命令之间加上一定的延迟。这样执行的结果是等系统启动后,大约20秒左右可以使用4G网络。

然后保存文件,这样就可以开机即可实现自动通过4G模组上网。

五、OpenWrt系统的操作

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

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

5.1 配置系统

将扩展板的网口连接至PC网口,上电启动系统;我们在Windows设置中找到网络和Internet,在以太网中打开连接的网络查看默认网关的IP地址,这个地址就是OpenWrt系统的后台配置页面地址,如图所示,本文测试的地址为192.168.198.1:

1006_RPi0_4G_MiniPCIe_31.jpg

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

1006_RPi0_4G_MiniPCIe_32.jpg

登录OpenWrt系统后,点击“系统 - TTYD终端”,使用刚才登录OpenWrt系统的用户名和密码登录TTYD终端,然后运行lsusb,查看是否能认到4G模块,下图红框处表示已经认到CAT4 4G:

1006_RPi0_4G_MiniPCIe_33.jpg

执行ip addr,查看所有的网络设备,下图中的第6项eth1即代表4G模组的网络名称,按4G型号不同,这个网络名称也可能是usb0等,请以实际为准:

1006_RPi0_4G_MiniPCIe_49.jpg

5.2 设置4G为WAN口

点击“网络 - 接口”,然后点击“添加新接口...”:

1006_RPi0_4G_MiniPCIe_34.jpg

按照下图进行设置,“新接口名称”为WAN,“新接口的协议”选择DHCP客户端,“包括以下接口”选择“eth1”,然后点击“提交”按钮:

1006_RPi0_4G_MiniPCIe_35.jpg

如果4G模块显示的设备名称是USB0,那选择如下:

1006_RPi0_4G_MiniPCIe_39.jpg

在防火墙设置中选择WAN口后点击“保存&应用”按钮:

1006_RPi0_4G_MiniPCIe_36.jpg

回到“网络 - 接口”,稍等片刻,就可以看见新建的WAN接口获取了IP地址,这样PC就可以通过4G LTE模组上网了(下面两张图各为eth1和usb0):

1006_RPi0_4G_MiniPCIe_37.jpg

1006_RPi0_4G_MiniPCIe_41.jpg

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

1006_RPi0_4G_MiniPCIe_23.jpg

六、扩展板选型表

1006_RPi0_4G_MiniPCIe_64.jpg

联系我们

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

邮件:mcuzone@vip.qq.com

电话:13957118045

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

Copyright 2004-2025 野芯科技

T