0024 M4GUSB
Change the language to English
关键词
4G LTE、CAT4、EC20、高通4G、GPS、AT命令、树莓派OS、Raspberry Pi OS、Ubuntu、OpenWrt系统、免驱、即插即用
一、简介
M4GUSB为专为树莓派5设计的4G模组扩展板,在树莓派官方OS、Ubuntu和OpenWRT均免驱免拨号、自动识别、即插即用。4G LTE是USB设备,基于树莓派USB口设计,4G全网通(支持电信,联通,移动),可选配GPS功能,有些4G型号支持VoLTE发短信,打电话(但是无声音);EC20-GPS版本还支持打电话(需安卓耳机线)和发短信功能。我们使用的4G模块具有CAT4速率,理论速率值为150Mbps(DL)/50Mbps(UL)。4G模组也适用于树莓派4B/3B。
二、硬件资源
1. 一路USB-C口,同时引出1.25mm 4P接口,此接口即为通讯接口,也是供电接口,4G模块可无需额外供电;
2. 具有三路辅助供电接口:USB-C、MicroUSB、2Pin插针辅助供电接口(若树莓派自身外设多,导致树莓派USB口给4G供电不足时,4G可以利用辅助供电接口独立供电,通过电源开关来控制);
3. 一个电源开关,无需4G连接时可快速物理断开;
4. 一路MiniPCIe接口,用于接4G LTE模块;
5. 一路Nano SIM卡座,复用一路eSIM芯片,封装为5*6mm,预留焊盘,未焊接,需用户自行采购及焊接;eSIM芯片更稳定可靠,更适合工业设备产品;功能和Nano SIM一样,且和Nano SIM二选一使用,不可同时使用,
6. 预留一路Nano SIM卡座;
7. 一路4G复位按键,同时预留复位的插针以及顶针接口,可手动或通过GPIO复位4G模组;
8. 1代IPEX座,可用于多种天线组装方式;
9. 板载2.54mm-2P 3.3V电源接口,可用于组装侧涡轮风扇(驱动板反面),用于给树莓派散热;
10. 预留模拟音频耳机接口,用于打电话(仅为我司EC20-GPS语音简版支持,接安卓耳机线);
11. 尺寸:85*56mm;
12. 线路板沉金工艺,无铅生产;PCB板通过UL和ROHS认证,防火等级94V-0;
13. 可选配套的铝合金外壳。
4G模块的天线接法说明,适合本文档测试的所有4G模块(GPS/GNSS为选配):
三、测试系统版本及相关资料
3.1 测试系统版本
1. 树莓派OS:2024-07-04-raspios-bookworm-arm64.img.xz
下载地址:
https://www.raspberrypi.com/software/operating-systems/#raspberry-pi-os-64-bit
2. Ubuntu系统:ubuntu-24.04-preinstalled-desktop-arm64+raspi.img.xz
下载地址:
https://ubuntu.com/download/raspberry-pi
3. OpenWrt系统是经Mcuzone所编译的,版本为:openwrt-bcm27xx-bcm2712-rpi-5-squashfs-sysupgrade-linux-6.1.100-20240805.img.gz
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模组的情况下让模组重新注网。
3.3 AT命令文档下载
国产CAT4 4G:
http://www.mcuzone.com/wiki/0024_MP4GUSB/Luat4G_AT_V4.3.5.pdf
高通芯片组4G(GPS):
http://www.mcuzone.com/wiki/0024_MP4GUSB/NL_AT_User_Manual_V1.0.0_Draft.pdf
ZTE芯片组CAT4:
http://www.mcuzone.com/wiki/0024_MP4GUSB/L716-CN-10_AT_User_Manual.pdf
四、树莓派OS的使用
4G在树莓派系统里自动识别,免驱免拨号。其中国产CAT4 4G在系统里识别成eth设备,高通4G和EC20在系统里识别成usb0设备。
4.1 高通4G(可选GPS)
4.1.1 联网4G
系统启动后,在树莓派终端中执行ifconfig -a
:
上图我们可以看到4G模块(usb0)已经正确获得了IP地址,我们可以ping外网地址,如:
ping www.mcuzone.com
也可以通过4G模块连接外网,访问测速网站测速,结果如下:
注意:网络测速受网络环境和测试方法影响,速度请以实际为准,本测试仅供参考。
Status LED灯状态如下:
闪烁状态为慢闪,中间有短暂快闪,表示4G模组已经联网;否则说明SIM卡或者网络有问题,请检查SIM卡和天线。
4.1.2 GPS测试
如果你选择的是高通4G-GPS版本,则此4G模块附带GPS功能,需要接GPS无源天线,且确保GPS天线甩出户外。GPS是通过AT命令操作。
输入命令lsusb
,如下图所示:
记下4G模块的ID值:05c6 90b6
使用下列命令打开ttyUSB串口,其中echo后面的值就是上面记录的ID值:
sudo modprobe option
sudo sh -c 'echo 05c6 90b6 > /sys/bus/usb-serial/drivers/option1/new_id'
执行以上两条命令后系统应该会多出ttyUSB0-2三个设备,输入ls /dev
可以查看。
运行minicom,打开ttyUSB0串口:
sudo minicom -D /dev/ttyUSB0
并运行:
at+gtgpsepo=1
//开启AGPS
at+gtgpspower=1
//打开GPS
稍等片刻待定位成功,运行:
at+gtgps?
//查看NMEA信息
就可以看到GPS信息输出:
4.2 国产CAT4 4G
在树莓派终端中执行ifconfig -a
,我们可以看到4G模块(eth1)已经正确获得了IP地址:
我们可以ping外网地址,如:ping www.mcuzone.com
也可以通过4G模块连接外网,访问测速网站测速,结果如下:
注意:网络测速受网络环境和测试方法影响,速度请以实际为准,本测试仅供参考。
Status LED灯状态如下:
闪烁状态为1.8秒亮0.2秒灭(也可以通过亮的时间比灭的时间长来判断)表示4G模组已经联网。
闪烁状态是1.8秒灭0.2秒亮,说明SIM卡或者网络有问题,请检查SIM卡和天线。
4.3 ZTE CAT4 4G
系统启动后,在树莓派终端中执行ifconfig -a
,我们可以看到4G模块(eth1)已经正确获得了IP地址:
我们可以ping外网地址,如:ping www.mcuzone.com
如果报找不到服务器name,请安装udhcpc:
sudo apt install udhcpc
安装成功后请执行:
sudo udhcpc -i eth1
后再ping:
也可以通过4G模块连接外网,访问测速网站测速,结果如下:
注意:网络测速受网络环境和测试方法影响,速度请以实际为准,本测试仅供参考。
Status LED灯状态如下:
闪烁状态快闪,表示4G模组已经联网;否则说明SIM卡或者网络有问题,请检查SIM卡和天线。
4.4 EC20-GPS语音简版
4.4.1 联网4G
目前(2024年以后)我们出货的EC20模块都是已经配置好,在树莓派系统免驱,即插即用,自动识别;EC20接树莓派也可以使用拨号上网的方式,但是比较复杂和繁琐,而且每次启动系统都要设置,不建议使用。我们的免驱测试如下:
在树莓派终端中执行ifconfig -a
:
可以看到系统将EC20识别成usb0设备,且已获得IP地址,我们可以ping外网地址,如:ping www.mcuzone.com
如果报找不到服务器name,请安装udhcpc:
sudo apt install udhcpc
安装成功后请执行:
sudo udhcpc -i usb0
然后再执行ping包操作。
4G模块的测速,连接外网,访问测速网站测速,结果如下:
注意:网络测速受网络环境和测试方法影响,速度请以实际为准,本测试仅供参考。
4.4.2 发短信
发短信是使用AT命令操作,这里介绍使用英文字符发送短信的流程。使用AT命令前,需先打开串口,在树莓派终端中执行命令lsusb
,如下图所示:
本模块的id为2c7c 0125,记录下这个值。
使用下列命令打开ttyUSB串口,其中echo后面的值就是之前记录的ID值:
sudo modprobe option
sudo sh -c 'echo 2c7c 0125 > /sys/bus/usb-serial/drivers/option1/new_id'
然后运行sudo minicom -s
,选择“Serial port setup”:
按A和F ,修改串口号和流控如下图所示:
修改完毕后按回车返回上一层菜单,选择“Exit”退出:
依次执行下列AT命令:
AT+CMGF=1
//将短信字符设置为英文
AT+CMGS="13xxxxxxxxx"
//设置接收短信的号码
回车后在>后面输入短信内容,然后按Ctrl+Z发送,发送成功会显示“+CMGS 14”:
4.4.3 接听或拨打电话
打电话或接听电话也是通过AT命令操作,需要接安卓耳机线。打开AT命令方法请参考“发短信”章节。
打电话:
执行AT命令:
ATD13xxxxxxxxx;
//所需拨打的电话号码,注意需以半角的“;”结尾
稍等片刻拨打成功,报“OK”,对方即会振铃,接听没有提示,接听完毕后挂机报“NO CARRIER”。
下面演示了一个拨打 - 振铃 - 接听 -挂机的过程:
接电话:
如果有来电,minicom中会显示“RING
”作为振铃提示,然后可以用下列AT命令进行控制:
ATA
//接电话
ATH
//挂电话
下面演示了一个振铃 - 接听 -挂机的过程:
4.4.4 GPS测试
使用EC20的GPS,需要接GPS有源天线,且确保GPS天线甩出户外,GPS是通过AT命令操作。
运行minicom,打开ttyUSB3串口:
sudo minicom -D /dev/ttyUSB3
并运行:
AT+QGPS=1
运行minicom,打开ttyUSB1串口,即可获取GPS信息:
sudo minicom -D /dev/ttyUSB1
如果觉得minicom下看原始的GPS信息不太直观,那么我们可以安装gpsd来提取GPS信息:
sudo apt-get install gpsd gpsd-clients
然后配置gpsd软件:
sudo gpsd /dev/ttyUSB1 -N -D 9 -F /var/run/gpsd.sock -S 3333
注:3333为监听端口,可自行定义。
不要关掉配置终端窗口,另外开一个终端窗口,运行:
cgps -s localhost:3333
从输出的界面可以看到时间、经纬度、速度、高度等信息:
五、Ubuntu的使用
5.1 联网4G
4G模块在Ubuntu系统里自动识别,免驱免拨号,自动识别成以enx开头的设备。
5.1.1 高通4G和CAT4 4G
系统启动后,在终端中执行ifconfig -a
,我们可以看到4G模块(enx开头的网卡)已经正确获得了IP地址:
我们可以ping外网地址,如:ping www.mcuzone.com
通过4G模块连接外网,访问测速网站测速,结果如下:
CAT4 4G:
高通4G:
注意:网络测速受网络环境和测试方法影响,速度请以实际为准,本测试仅供参考。
(高通4G)Status灯:
闪烁状态为慢闪,中间有短暂快闪,表示4G模组已经联网;否则说明SIM卡或者网络有问题,请检查SIM卡和天线。
(CAT4 4G)Status灯:
闪烁状态为1.8秒亮0.2秒灭(也可以通过亮的时间比灭的时间长来判断)表示4G模组已经联网。
闪烁状态是1.8秒灭0.2秒亮,说明SIM卡或者网络有问题,请检查SIM卡和天线。
5.1.2 ZTE CAT4 4G模组
系统上电启动后,在Ubuntu终端中执行ifconfig -a
:
我们可以看到系统识别4G模块(enx开头的网卡,这里是enx344b50000000,请以实际为准),且已经正确获得了IP地址。
我们可以ping外网地址,如:ping www.mcuzone.com
如果ping外网失败,需要安装udhcpc:
sudo apt install udhcpc
安装成功后请执行:
sudo udhcpc -i enx344b50000000
后再ping:
.
通过4G模块连接外网,访问测速网站测速,结果如下:
注意:网络测速受网络环境和测试方法影响,速度请以实际为准,本测试仅供参考。
(ZTE CAT4 4G)Statu灯:
闪烁状态快闪,表示4G模组已经联网;否则说明SIM卡或者网络有问题,请检查SIM卡和天线。
5.1.3 EC20-GPS语音简版
EC20模块在出厂时已经配置完毕,模块在Ubuntu系统下是免驱免拨号,自动识别,并识别成以enx开头的设备。
系统启动后,在终端下运行ifconfig -a
,可以看见4G模组已经获得了IP地址:
此时ping网址报错,但ping IP地址成功,说明4G模组可以正常上网,但是DNS服务器设置有问题:
在树莓派5的千兆网口插入网线,先用网线上网,安装切换DNS服务器软件udhcpc:
sudo apt install udhcpc
安装完毕后拔掉网线,运行:
sudo udcpc -i enxf2338f529091
成功后即可ping网址:
现在已经可以通过4G网络正常上网,但是每次系统重启都需要运行一次udcpc;如果想开机即可自动通过4G网络上网,需要在rc.local文件添加开机命令,可以参考如下步骤:
开启rc-local服务:
sudo systemctl enable --now rc-local
通过下面的命令打开rc.local:
sudo nano /etc/rc.local
在exit 0上面添加你要开机执行的命令,即:
sleep 5 && sudo udhcpc -i enxf2338f529091 && sleep 5 && sudo enxf2338f529091 -i usb0 && sleep 5 && sudo enxf2338f529091 -i usb0
sleep命令的作用是延迟多少秒执行之后的命令,因为4G模块获取IP地址需要一定的时间,所以为了防止udhcpc执行失败,需要多执行几次,并且在每一次执行命令之间加上一定的延迟。这样执行的结果是等系统启动后,大约20秒左右可以使用4G网络。
然后保存文件,这样就可以开机即可实现自动通过4G模组上网。
EC20模组的发送短信、接打电话和GPS功能的操作步骤与在树莓派系统一致,请参阅上一章的相关内容。
六、4G的操作
6.1 使用AT命令
树莓派系统和Ubuntu系统下,AT命令使用方法是一样的,这里操作以树莓派系统为例。
以高通4G模组为例,使用AT命令前,我们需要先打开串口,在树莓派终端中执行命令lsusb
,如下图所示:
本模块的id为05c6 90b6,记录下这个值。
使用下列命令打开ttyUSB串口,其中echo后面的值就是之前记录的ID值:
sudo modprobe option
sudo sh -c 'echo 05c6 90b6 > /sys/bus/usb-serial/drivers/option1/new_id'
执行上述两条命令之后执行:
ls /dev
此时应该能看到dev设备下有ttyUSB0-2三个设备:
然后通过串口工具来操作AT命令,有2种串口工具,二选一使用:
1. 通过minicom打开AT命令串口:
sudo minicom -D /dev/ttyUSB1
2. 或者执行下列命令打开CuteCom:
sudo cutecom
在CuteCom中选好串口号并打开,或者打开minicom,注意,使用哪个串口,应以在进入此串口后,可输入运行AT命令,显示不乱码,不乱跳结果为准。
下面以minicom为例:
如果需要查看回显,请键入命令:ate1
,然后回车,继续键入其它命令,回车可以看到结果。
用AT+CPIN?
来检查SIM是否正常插入并识别;
用AT+CSQ
来检查信号强度,第一个值是0-31,需要25以上才算信号质量良好;
用AT+COPS?
来检查注网情况,双引号内是运营商代码,最后一个数字是网络模式,7代表4G。
6.2 修改IP地址
如果4G的IP地址和你的内网地址冲突,可以修改4G的IP地址。
1. 高通4G、ZTE CAT4 4G:
将4G模块的IP改为直接获取公网IP即可,请执行AT命令:
设置IP为公网:AT+GTIPPASS=1
设置IP为内网:AT+GTIPPASS=0
查询当前IP为公网还是内网:AT+GTIPPASS?
修改IP完毕后需要断电重启才能生效。
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地址不清楚如何修改,如有需要,需要用户自行研究。
七、OpenWrt系统的操作
本节以国产CAT4模组为例,讲述在4G模组在OpenWrt系统下的操作。
7.1 登录系统
将树莓派5的网口与PC的网口相连。上电后,我们在Windows设置中找到网络和Internet,在以太网中打开连接的网络查看默认网关的IP地址,这个地址就是OpenWrt系统的后台配置页面地址,如图所示,本文测试的地址为192.168.198.1:
然后打开网页浏览器输入192.168.198.1进入OpenWrt系统。默认用户名为root
,默认密码为password
:
在”系统 - TTYD终端“中登录,执行ifconfig -a
:
我们可以看到系统识别4G模块(eth1),但是还没有获得了IP地址。接下来我们来添加4G接口。
7.2 添加4G网络
在“网络 - 接口”中,点击“添加新接口”:
接口名称设置为WAN,接口协议选择DHCP客户端,接口选择eth1后点击“提交”按钮:
在防火墙设置中选择WAN口后点击“保存&应用”按钮:
此时我们在“网络 - 接口”中,可以看到eth1已经作为WAN口获取了地址:
回到”系统 - TTYD终端“,登录后执行ifconfig -a
:
此时我们可以看到4G模块eth1已经正确获得了IP地址,我们可以ping外网地址,如:
ping www.mcuzone.com
PC此时可以通过4G模块连接外网,访问测速网站测速,结果如下:
注意:网络测速受网络环境和测试方法影响,速度请以实际为准,本测试仅供参考。
7.3 使用AT命令
如果你想在系统里使用一些4G模块的AT命令,需要在系统里安装串口工具,如果系统里没有串口工具,将无法使用,这里演示的系统已经安装好minicom串口工具,具体操作如下:
在”系统 - TTYD终端“中登录,执行lsusb
,如下图所示:
本模块的id为1286 4e3d,记录下这个值。
使用下列命令打开ttyUSB串口,其中echo后面的值就是之前记录的ID值:
modprobe option
sh -c 'echo 1286 4e3d > /sys/bus/usb-serial/drivers/option1/new_id'
执行上述两条命令之后执行:
ls /dev
此时应该能看到dev设备下有ttyUSB0-2三个设备:
通过minicom打开AT命令串口:
minicom -D /dev/ttyUSB1
键入AT命令,回车可以看到结果:
八、4G应用1(远程连接树莓派)
树莓派搭配4G,再通过树莓派官方远程控制软件Raspberry Pi Connect,您可以从世界任何地方安全地访问您的 Raspberry Pi。
配置及使用方法如下:
1. 在https://id.raspberrypi.com/上,申请一个Raspberry Pi ID。
2. 在树莓派OS中,安装Raspberry Pi Connect软件(如果显示已安装则不需要安装):
sudo apt install rpi-connect
3. 重启系统,在图形界面中,依次选择如下图项目后,确保Raspberry Pi Connect已打开:
4. 在右上角会有一个Raspberry Pi Connect图标:
5. 点击这个图标,选择Sign in,在跳出的网页中使用之前申请的Raspberry Pi ID登录,然后设置该设备名称:
6. 登录成功后,在Windows的浏览器中访问:https://connect.raspberrypi.com/,并登录:
7. 点击Connect via,可以选择使用远程桌面还是远程命令行界面:
8. 远程桌面如下:
远程命令行界面如下:
9. 实测流量使用情况:在远程桌面下,树莓派端大约1分钟耗费2M左右流量;在远程命令行界面下,树莓派端大约1分钟耗费100K左右流量。
九、4G应用2(建立WiFi热点分享4G)
9.1 树莓派OS
在树莓派OS下,我们可以通过树莓派自带的WiFi(如树莓派5)建立热点,然后将树莓派的网络通过热点分享出去,本章介绍树莓派OS连接CAT4 4G上网,建立WiFi热点,使其它设备能通过这个热点,使用4G流量上网。操作如下:
9.1.1 建立WiFi热点
树莓派OS启动后,4G联网成功,点击右上角的网络图标,打开无线网络选项:
在”Advanced Options“下,点击”Create Wireless Hotspot...“:
在弹出的窗口中,填写热点的网络名称(即SSID),下面的无线加密选项请按需开启,设置完毕后,点击”Create“:
如果创建成功,在右上角的网络图标(下图中左起第四个上下箭头的图标)下立即会显示该热点的内网IP:
在树莓派终端中执行ifconfig -a
,可以看到热点(wlan0)的信息:
我们也可以通过点击右上角的网络图标,在”Advanced Options“下,点击”Connection Information...“(红框处),查看热点信息:
9.1.2 应用操作
使用手机连接这个热点:
然后在测速网站上测速,结果如下:
注意:网络测速受网络环境和测试方法影响,速度请以实际为准,本测试仅供参考。
PC上下载安装终端软件MobaXterm,MobaXterm下载地址:
https://mobaxterm.mobatek.net/download-home-edition.html
PC连接这个热点,然后使用MobaXterm等SSH工具,可以成功连接树莓派OS,这样的话就可以无需网线和其它网络,通过4G网络无线控制开发板,给在外调试带来了很大的方便:
9.2 Ubuntu系统
在Ubuntu系统下,我们可以通过树莓派自带的WiFi(如树莓派5)建立热点,然后将树莓派连接4G的上网流量通过热点分享出去,操作如下:
9.2.1 建立WiFi热点
Ubuntu系统启动后,4G联网成功,点击右上角的网络图标,点击”Wi-Fi“右侧的箭头,打开无线网络选项:
点击”All Networks“,打开Wi-Fi配置:
点击”Turn On Wi-Fi Hotspot...“,在弹出的窗口中输入热点的网络名称(即SSID)及密码(至少需要八位密码),然后点击”Turn On“:
这样就完成了热点的建立:
在终端中执行ifconfig -a
,可以看到热点(wlan0)的信息:
9.2.2 应用操作
使用手机连接这个热点:
然后在测速网站上测速,结果如下:
注意:网络测速受网络环境和测试方法影响,速度请以实际为准,本测试仅供参考。
十、注意事项
1. 自从2024年后,新版本的树莓派OS在有多个上网设备存在时,开机启动时有可能会把默认的上网设备指定到某一个设备上,这就是我们在上文提到的需要用udhcpc来指定新的默认上网设备的原因,这给某些需要开机即能上网的应用带来很大的不便,所以我们可以在rc.local文件里面,把udhcpc命令写进去,起到开机自动指定默认网络设备的效果。
2. 关于如何在rc.local文件添加开机命令,可以参考如下步骤(以高通4G模块为例,usb0代表4G模块,名称以实际为准):
开启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模组上网。
3. 综上所述,我们可以将系统设置为开机即能4G上网,然后配置好Raspberry Pi Connect(Raspberry Pi Connect默认开机自启),从而达到设备开机后等待片刻就能在PC端远程控制该设备。
联系我们
电话:13957118045
如本页面有任何疏漏、错误或者侵权,请通过上述途径联系我们,谢谢!
Copyright 2004-2025 野芯科技