最近使用到了树莓派以及EC20模块,想使用EC20的4G上网功能以及GPS功能。 并且能开机自启动
前言
最初使用了网上的方法,使用了wvdial软件进行拨号
但这个方法需要在命令行里输入命令拨号并维持程序运行
sudo wvdial lan1
为了实现开机自启动,创建了一个启动服务(systemctl)来运行这条命令。但拨号成功后还是无法上网,因为还需要使用命令配置路由
sudo ip route add default via 10.64.64.64
故在启动服务里加上了这条配置路由的命令,但发现还是无法上网。发现在sudo wvdial lan1拨号成功前,不会在路由表中创建10.64.64.64这个路由,且将两个命令写在同一个启动服务中,即时sudo wvdial lan1命令拨号成功,就会维持在此,不会结束进入下一条命令,故更改路由的命令无法生效。

故又创建了第二个启动服务来执行配置路由的命令,并且执行之前等待2分钟,用以等待wvdial拨号完成
# route.sh
sleep 2m
sudo ip route add default via 10.64.64.64
用这个方法成功实现了树莓派开机自启动,4G拨号并配置路由,使用4G访问互联网
但,当我尝试使用EC20的GPS功能时,发现发送AT命令的串口发送命令后无法生效。
所以另寻他法。
正文
直接使用EC20提供的USB网卡模式,实现树莓派通过USB网卡访问网络。
连接树莓派与EC20
这里使用到了:
- 树莓派4B
- 移远EC20 mini PCIE模块
- usb转mini PCIE模块
- ipex1代转sma内孔转接线
- sma内针4G天线

检查连接
在命令行里输入,查看与树莓派连接的usb设备
lsusb

看到Quectel Wireless…EC25 LTE
dmesg | grep ttyUSB

说明EC20连接好了
使用串口配置EC20
安装cutecom
Cutecom,Linux系统可视化串口应用软件
sudo apt-get install cutecom
启动cutecom
sudo cutecom
选择串口:/dev/ttyUSB2 ,点击Open

发送命令前需要把串口的结束符换成CR/LF


使用cutecom配置EC20
设置EC20的USB网卡模式
AT+QCFG="usbnet",1

收到OK,表示设置成功
配置APN
AT+CGDCONT=1,"IP","Network APN"
"Network APN"t替换为自己sim卡使用运营商的APN
APN可以百度获得
比如我的电信卡配置为:
AT+CGDCONT=1,"IP","ctnet"

重启模块
AT+CFUN=1,1
愉快使用
查看是否成功
看到模块的蓝色指示灯常亮,偶尔闪一下,说明模块就以及给我们拨好号,连接上互联网了。
命令行输入
ip route

发现多了一个usb0的路由,并且前面有一个default,这个就很关键,说明就不需要我们再手动配置路由了,如果没有连接网线,没有连接wifi,那么树莓派就会通过usb0设备,也就是我们的EC20模块访问互联网。
测试能否通过EC20上网
上面的图片看到,ip route中有两个default设备,一个是我网线的路由,一个是EC20的路由,这时候访问网络是通过网线访问的,测试4G就需要删掉网线的默认路由。命令行输入
sudo ip route delete default via 192.168.1.1
"192.168.1.1"是上面ip route里面default via 192.168.1.1的ip地址 

再次输入ip route检查

可以发现192.168.1.1的default被删除了,只剩下EC20的usb0了。
ping百度测试一下
ping baidu.com

至此,模块已经配置好usb网卡,并且能成功上网了。
结语
本人是新人小白,文中有些术语只是我自己的理解胡编乱造,还请大佬们轻喷。
发文只是将自己在使用过程中塘的坑发出来。
本文介绍了如何在树莓派上使用EC20模块进行4G上网和GPS功能的配置。首先,通过wvdial和systemctl实现4G拨号与路由设置,但遇到问题,最终改为使用EC20的USB网卡模式解决。通过安装cutecom配置EC20模块,设置USB网卡模式,配置APN,并测试成功上网。此外,还提到了GPS功能的使用障碍,但未详述解决方法。
2万+

被折叠的 条评论
为什么被折叠?



