跳到主要内容

4.29 4G模块EC20测试

STM32MP157MINI STM32MP157
支持可用USB转PICE转接板接USB接口

  实验前准备:
  1. EC20 4G模块   2. 4G上网卡   3. 天线(用于放大信号)

  正点原子ATK-STM32MP157底板上预留4G模块接口,ME3630-W,EC20等4G模块的安装。准备EC20模块,请自行在网上购买,注意购买时需要买天线,单单模块是不能正常工作的!(备注:EC20有许多类型模块,目前测试过的是EC20-CE模块,其中EC20-CE系列又有多种模块,不同的模块功能不一样,比如支持的运营商不一样,详细请咨询卖家),其他EC20系列请自行测试,理论上驱动一样,有需求找移远技术支持。)。将EC20 4G模块插到4G模块接口处,拧上螺丝。保证4G模块与座子接口吻合连接。请使用原装天线,把天线连接到4G模块的MAIN接口处。

  正确插入4G卡(支持的运营商,请咨询对应模块的卖家,注意有些可能模块不支持物联网卡,请使用普通4G卡测试)及插好模块,开发板启动后底板上的WWAN LED 会亮绿灯。如果WWAN LED绿灯未亮起,请检查模块是否正确连接插入,4G卡是否插入,天线是否接好,开发板是必须插上配带的12V电源,不能只用串口USB_TTL供电。模块安装如下图所示:


图4.29 1 EC20连接示意图

  WWAN LED指示灯说明,当为低的时候LED灯点亮,参考电路如下:


图4.29 2 WWWAN LED 指示灯

  默认状态下LED_WWAN对应的LED灯闪烁情况:

引脚工作状态所指示的网络状态
慢闪(200ms高/1800ms低)找网状态
慢闪(1800ms高/200ms低)待机状态
快闪(125ms高/125ms低)数据传输模式
高电平通话中

  4G模块正常加载后,可以在/dev/下看到有4个ttyUSB*生成。4G模块通AT指令访问/dev/ttyUSB2进行通信。


图4.29 3 查看4G模块的接口

  使用lsusb指令可以看到模块的相关信息。

lsusb


图4.29 4 查看4G模块的信息

  这四路ttyUSB的功能如下图图4.29 5所示,不全部测试这些功能了,这里我们只测试上网功能。详细请自行参考EC20 4G模块手册。


图4.29 5 四路ttyUSB的功能示意图

4.29.1 ppp拨号上网

  出厂文件系统/home/root/shell/4G目录下已经存放有测试4G模块相关脚本,脚本具体内容介绍可参考【正点原子】STM32MP1嵌入式Linux驱动开发指南V1.8以上版本 Linux 4G通信实验。

  新建一个目录,用于下面的脚本运行时生成DNS客户机配置文件。

mkdir /etc/ppp/		#如果已经存在,则不用重复创建

  进入/home/root/shell/4G/目录下。

cd /home/root/shell/4G/

  使用ls指令可以看到此路径下有多个脚本文件,如果没有这样的文件,请及时更新系统固件。


图4.29.1 1 查看脚本

  其中尾缀10000表示适用于电信卡,10010表示适用于联通卡,10086表示适用于移动卡。

  这里笔者以移动卡为例。执行下面ppp-on-10086脚本,&的作用是后台运行。

./ppp-on-10086 &


图4.29.1 2 ppp拨号上网成功

  使用ifconfig可查看4G模块的网络名称。


图4.29.1 3 获取到的IP

  ping百度测试连通性,-I是指定网卡。看到如下结果,有数据回复表示连通。按“Ctrl +c”终止指令。

ping www.baidu.com -I ppp0


图4.29.1 4 连网测试

4.29.2 使用quectel-CM

  使用 quectel-CM 拨号程序工具(这个工具是我们预先交叉编译好放进文件系统/usr/sbin 目录下面的),方便用户使用。【正点原子】STM32MP1嵌入式Linux驱动开发指南V1.8以上版本也有讲到这个工具。

  如果已经做了上一步的ppp拨号上网,请执行脚本断开。

./disconnect


图4.29.2 1 断开ppp链接

  输入quectel-CM -h查看用法。

quectel-CM -h


图4.29.2 2 查看quectel-CM工具说明

  可以看到-s参数是指定apn类型,移动卡apn一般是cmnet,联通卡apn一般是3gnet,电信卡一般是ctnet。备注:APN指一种网络接入技术,通常是通过手机上网时必须配置的一个参数,它决定了手机通过哪种接入方式来访问网络。

quectel-CM &			// 如果不清楚,直接输入quectel-CM,&的作用是后台运行。


图4.29.2 3 通过quectel-CM工具上网

  输入ifconfig命令,查看EC20 4G模块的网络节点名称。eth0是板子的网口网络节点名称,那么eth1就是EC20 4G模块的网络节点名称了。


图4.29.2 4 获取到的IP

  ping百度测试连通性,-I是指定网卡。看到如下结果,有数据回复表示连通。按“Ctrl +c”终止指令。


图4.29.2 5 ping百度测试

4.29.3 GPS测试

  EC20还有一个GPS的功能,通过AT指令去设置开启GPS,本小节只教如何开启和查看原始的GPS数据。

  注意事项:图4.29 2中有个GPS天线接口,可以购买带有GPS天线版本的EC20。接法和4G天线一样。

  4G模块正常初始化如下打印信息:


图4.29.3 1 4G模块初始化

  上图可以查看出来已经初始化4个串口接口了,运行以下指令进行使用GPS功能。(注意:需要到空旷地带测试,在房间测试信号接收可能会受影响)

echo -e "AT+QGPS=1\r\n" >/dev/ttyUSB2 //通过echo命令把AT+QGPS=1数据发送到USB2


图4.29.3 2 开启GPS功能

  运行以下代码进行查看GPS的原始数据。可按“Ctrl + c”终止cat指令。

cat /dev/ttyUSB1


图4.29.3 3 GPS原始数据

  关闭GPS功能可以运行以下代码:可按“Ctrl + c”终止cat指令。

echo -e "AT+QGPSEND\r\n" >/dev/ttyUSB2
cat /dev/ttyUSB1

  这个时候我们可以看到ttyUSB1串口不再打印GPS的原始数据了。