微波EDA网,见证研发工程师的成长!
首页 > 射频和无线通信 > 射频无线通信文库 > 4G通信模块在ARM平台下的应用

4G通信模块在ARM平台下的应用

时间:11-08 来源:ZLG致远电子 点击:

和拨打命令如表1所示。通过向串口发送相应的命令就可以实现电话的接听和拨打。如:可以向串口发送"ATD12345678901;\n\r"就可以向12345678901拨打电话。

  表1 电话拨打和接听控制命令表

  命令语法及作用

  ATD拨打电话:ATD+电话+;\r\n"如ATD10010;后面分号

  不能少,返回OK 或ERROR

  AT+COPS?"AT+COPS?\r\n"检测运营商,返回OK 或ERROR

  AT+CVHU=0和ATH挂断电话:"AT+CVHU=0\r\n"再发"ATH\r\n"

  ATA接听电话:"ATA\n\r"

  电话拨打接听代码执行流程如图4所示。代码首先会显示可供使用的菜单,如电话拨打,短信接收等。等待用户输入参数,执行参数对应的流程。然后判断是否执行成功,如果执行成功就会返回显示菜单代码处继续执行下一下循环。

  图4 电话拨打接听流程图

  2、网络控制接口

  4G 模块上网功能通过PPP 拨号提供的接口连接网络。在开发套件文件系统的"/etc/ppp"目录下预置了可以参考的拨号脚本。拨号成功后(执行PPP 拨号脚本),内核会生成PPP 网络设备。通过创建套接字就可以访问网络。

  3、演示程序实操

  l 使能4G 模块

  默认内核启动时,把4G模块的复位引脚拉低,使模块处于非工作的状态。要想完全使能模块,运行/opt 目录下的upmodule.sh 脚本即可。

  此时板子的WWAN 这个LED 会出现闪烁的现象,闪烁频率大概为800 毫秒,然后设备开始入网,入网成功后,板子的WWAN 这个LED 的闪烁频率变为3 秒左右。同时,大概10 秒之后,板子开始检测到USB 设备的插入,然后板子自动安装USB 转串口的驱动,驱动安装完成后,会在板子的/dev 目录下自动生成ttyUSB0~ttyUSB5 这6 个串口设备。

  l 编译演示程序

  将/works/mx28x/app/目录下的longsung-test文件夹拷贝到Linux 开发主机,编译了longsung-test 下的代码,将生成的longsung-test 文件拷贝到板子即可进行后续的电话功能测试。

  l 电话功能测试

  使用U8300C,以中国联通4G卡为例进行电话功能测试,设备上电之前需要先插入SIM 卡,且保证已经按前面介绍使能了4G模块,并能成功入网。进入 longsung-test 测试程序存放的目录,然后运行longsung-test 程序。

  [root@M28x opt]# 。/longsung-test /dev/ttyUSB1

  longsung-test 测试程序运行结果及其中各数字代表功能如图5所示。需要注意,输入"1"拨打电话之后,必须需要输入"2"挂断电话之后方可继续拨打电话。

  图5 代码启动运行结果

  l 4.4.4 上网功能测试

  这里使用U8300C,以中国移动4G卡为例进行拨号上网,设备上电之前需要先插入SIM 卡,保证以使能4G

  模块并成功入网。

  进入板子的/etc/ppp/目录,创建一个名字为ppp_dial_LTE.sh的脚本,写入如下程序:

  echo "TIMEOUT 5 ‘’ AT OK ATE0V1 OK AT OK ATS0=0 OK AT OK ATE0V1 OK AT OK ATDT*99*# CONNECT ‘’" 》 /tmp/chatscript

  pppd /dev/ttyUSB3 persist connect "chat -v -f /tmp/chatscript"

  保存退出后,修改ppp_dial_LTE.sh 的运行属性,然后直接运行该脚本,进行拨号操作,参考操作如下:

  [root@M28x ppp]# wr chmod 755 ppp_dial_LTE.sh

  [root@M28x ppp]# 。/ppp_dial_LTE.sh

  执行后,等待大概10~20s,使用ifconfig 命令查看网络设备,能看到系统生成了一个名为ppp0 的网络设备,该设备就是拨号成功后生成的网络设备。拨号成功后可通过ping 114.114.114.114.-I ppp0检查外网是否连接正常。如果没能成功拨号,可以参考下面的"拨号异常分析"来排除问题。

  l 拨号异常分析

  运行拨号脚本后,使用ps 命令能看到拨号进程的存在。只要拨号成功,拨号进程是一直存在的(与pppd 相关的进程),如果该进程不存在,那么生成的ppp0 网络设备也会随同消失。

  如果使用 ifconfig 命令,无法看到ppp0 这个网络设备,只要使用ps 命令一直都能看到拨号进程的存在,那么只能耐心的等待拨号程序的反馈了。如果ps 命令无法看到拨号进程了,那么重新运行拨号脚本即可。拨号进程的退出,极有可能是因为信号弱或者SIM 卡余额不足导致的。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top