【正点原子STM32MP257连载】第四章 ATK-DLMP257B功能测试——4G模块ME3630测试

1)实验平台:正点原子ATK-DLMP257B开发板

2)浏览产品:https://www.alientek.com/Product_Details/135.html

3)全套实验源码+手册+视频下载:正点原子资料下载中心

文章目录

  • [第四章 ATK-DLMP257B功能测试------4G模块ME3630测试](#第四章 ATK-DLMP257B功能测试——4G模块ME3630测试)
    • [4.21.1 ECM上网](#4.21.1 ECM上网)
    • [4.21.2 pppd拨号上网](#4.21.2 pppd拨号上网)
    • [4.21.3 GPS功能测试](#4.21.3 GPS功能测试)

第四章 ATK-DLMP257B功能测试------4G模块ME3630测试

ATK-DLMP257B开发板预留一个4G 模块接口(MINI PCIE接口),支持ME3630-W,EC20 等4G 模块的安装。准备ME3630-W 4G 模块,将ME3630-W 4G 模块插到4G 模块接口处,拧上螺丝。保证4G 模块与座子接口吻合连接。请使用原装天线,把天线连接到4G 模块的MAIN接口处。(温馨提示:4G 模块在开封使用后,金手指容易氧化,时间长了上面会有一层氧化膜,如果多次实验不成功,请检查4G模块是否插好,或者是否有氧化膜。使用后请保存好4G 模块!)

正确插入4G 卡(支持移动、联通、电信4G 卡)及插好模块,开发板启动后底板上的WWAN LED 会亮绿灯。如果WWAN LED 绿灯未亮起,请检查模块是否正确连接插入,4G 卡是否插

入,天线是否接好,开发板需插上配带的12V 电源。

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

c# 复制代码
ls /dev/ttyUSB*


图 4.21 1查看4G模块节点

4.21.1 ECM上网

在操作系统看来,CDC ECM 设备就是一个虚拟以太网卡,包含标准网卡需要的MAC 地址和IP 地址。

ECM_DEMO_AUTO 和ECM_DEMO 是高新兴ECM 上网的程序(我们不需要知道源码,因为它只是一个工具),详细的参数可以执行ECM_DEMO -h 查看。

ECM_DEMO_AUTO 和ECM_DEMO 参数是一样的,区别是ECM_DEMO 执行完流程就会退出,ECM_DEMO_AUTO 会一直运行并每隔一段时间会检查是否断网,断网了会自动重连。 ECM_DEMO_AUTO 默认会自动执行拨号流程,故适合做开机自启的程序。

要配置ECM 模式上网,如果运行了pppd 上网,请先执行disconnect 脚本断开pppd 拨号上网,再执行下面的指令配置成ECM 模式连接网络。

c# 复制代码
cd shell/4G
./disconnect
./ECM_DEMO -t up


图 4.21 2先断开ppp-on 上网,再执行ecm-on 上网

使用ifconfig 指令查看enu1u2i3 获取的ip 地址,如果没有获取到ip 地址,请使用udhcpc -i enu1u2i3获取。

图 4.21 3查看ip 地址

ping 百度测试连通性,-I 是指定网卡,有数据回复表示连通。按Ctrl+c 终止指令。

c# 复制代码
ping www.baidu.com -I enu1u2i3    // -I 参数是指定网卡名enu1u2i3(4G 网络)


图 4.21 4 ping百度测试上网

如果需要检测4G 是否在线(断线重连),建议使用 ./ECM_DEMO_AUTO & 指令,放于后台运行。连上后如果没有获取到ip 地址,请使用 udhcpc -i enu1u2i3 获取。

4.21.2 pppd拨号上网

出厂文件系统/home/root/shell/4G 目录下已经存放有测试4G 模块的相关脚本。如果前面使用了ECM拨号,请重启系统

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

c# 复制代码
cd /home/root/shell/4G/

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

图 4.21 5查看脚本

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

这里以移动卡为例。执行下面ppp-on 脚本,进行4G 模块配置,&的作用是后台运行。

c# 复制代码
./ppp-on-10086 &


图 4.21 6 ppp 拨号上网获取到IP 和DNS

按下Enter 键返回命令行,使用ifconfig 可查看4G 模块的拨号节点名称。

图 4.21 7 查看4G 网络节点名称

ping 百度测试连通性,-I 是指定网卡,有数据回复表示连通。按Ctrl+c 终止指令。

c# 复制代码
ping www.baidu.com -I ppp0

如果提示"bad address 'www.baidu.com",那么请检查一下DNS 服务器地址是否设置正确,打开/etc/resolv.conf 文件,然后加入上面获取到的DNS 地址,比如笔者的是221.179.38.7。

c# 复制代码
echo nameserver 221.179.38.7 >> /etc/resolv.conf
ping www.baidu.com -I ppp0


图 4.21 8 ping 百度测试4G 网络连接

4.21.3 GPS功能测试

ME3630还有一个GPS的功能,通过AT指令去设置开启GPS,本小节只教如何开启和查看原始的GPS数据,其它的AT指令请查看ME3630模块资料的《高新兴物联ME3630&ME3630-W 模组AT 指令手册.pdf》。

注意事项:需使用带有GPS天线版本的ME3630-C3C,GPS天线使用无源天线,需要接到模块的GPS接口,天线必须放在室外,重启开发板。注意,ME3630-C3B版本是不支持GPS功能的,使用有源天线无法定位。

运行以下指令进行使用GPS功能。

c# 复制代码
echo -e "AT+ZGINIT\r\n" >/dev/ttyUSB1      //初始化GPS
echo -e "AT+ZGMODE=3\r\n" >/dev/ttyUSB1    //设置定位模式
echo -e "AT+ZGPORT=0\r\n" >/dev/ttyUSB1    //定位信息从AT、MODEM、UART 上报
echo -e "AT+ZGNMEA=31\r\n" >/dev/ttyUSB1   //设置GPS 数据为NMEA 格式
echo -e "AT+ZGPSR=1\r\n" >/dev/ttyUSB1     //使能ZGPSR 数据
echo -e "AT+ZGRUN=2\r\n" >/dev/ttyUSB1     //连续定位模式

配置完成后,等待搜索结束,就可以看到GPS原始数据,参考如下:

c# 复制代码
cat /dev/ttyUSB1

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

c# 复制代码
echo -e "AT+ZGRUN=0\r\n" >/dev/ttyUSB1		//初始化GPS

等待几秒钟后GPS功能关闭,这个时候我们可以看到ttyUSB1串口不再打印GPS的原始数据了。

c# 复制代码
cat /dev/ttyUSB1
相关推荐
南棱笑笑生25 分钟前
20250509让NanoPi NEO core开发板在Ubuntu core16.04系统下实测移远的4G模块EC200A-CN
linux·运维·ubuntu
hardStudy_h30 分钟前
Linux C语言线程编程入门笔记
linux·c语言·嵌入式实时数据库
猿饵块43 分钟前
STM32--PWM--函数
stm32·单片机·嵌入式硬件
xmweisi021 小时前
Ansible内置模块之package
linux·ansible·rhce·rhca·红帽认证·it培训
xmweisi021 小时前
Ansible内置模块之service
linux·ansible·rhce·rhca·红帽认证
学习噢学个屁1 小时前
基于51单片机步进电机控制—9个等级
c语言·单片机·嵌入式硬件·51单片机
大神的风范1 小时前
从0开始学linux韦东山教程第一三章问题小结(1)
linux·服务器
橙色小博2 小时前
Python中的re库详细用法与代码解析
linux·python·正则表达式·php·re
10000hours3 小时前
【SGL】Scatter-Gather List内存传输技术
linux·数据结构·网络协议·list·存储·sgl
某不知名網友3 小时前
linux_进程地址空间(虚拟地址空间)
java·linux·算法