基于AM437x的4G模块使用说明

适用性说明

表 1

开发板型号

是否支持本实验

TL437x-EVM

支持

TL437x-EasyEVM

不支持

TL437x-IDK

不支持

TL437xF-EVM

支持

 

本例程测试使用的USB 4G模块型号为ZTE中兴ME3620,也可选择ZTE中兴ME3630模块测试,这两个模块兼容。模块封装为Mini PCIe,通过USB转Mini PCIe转接板和开发板连接。

 

例程编译

修改内核配置

打开Ubuntu,进入Linux内核源码顶层目录,打开内核图形配置界面。

Host# make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- menuconfig

 

图 1

 

在打开的图形配置界面中,点击“Device Drivers—> USB support—> USB Serial Converter support”勾选以下选项,添加ME3620模块所需USB驱动。

 

图 2

 

 

图 3

 

点击“Device Drivers—> Network device support”勾选以下选项,添加ME3620模块所需网络功能。

 

图 4

 

图 5

 

添加VID

在内核源码目录下,修改“drivers/usb/serial/option.c”源码,添加VID。在下图所示位置添加如下语句,生成相应usb节点。

Host# vi drivers/usb/serial/option.c

 

图 6

 

添加以下内容:

{ USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1476, 0xff, 0xff, 0xff) },/* ME3620*/

{ USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1476, 0xff, 0x00, 0x00) },

 

图 7

 

重新编译并替换内核

在修改内核配置与添加VID完毕后,重新编译内核。进入内核源码目录,输入如下指令编译内核,将在当前目录编译生成的“arch/arm/boot/zImage”文件,将其替换掉SD卡rootfs分区boot目录下的同名文件。

Host# make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- zImage -j4

 

图 8

 

 

图 9

 

例程说明与应用

编译程序

本例程测试所需驱动源码文件位于光盘“Demo\usb-4g\ZTE-ME3620\src”目录下。为方便测试,我司同时提供了经过验证的可执行程序,位于光盘“Demo\usb-4g\ZTE-ME3620\bin”目录下。

将“Demo\usb-4g\ZTE-ME3620\src”目录下的文件上传至Ubuntu的“/home/tronlong/4G”目录下,进入该目录,执行以下命令编译程序并将编译好的可执行程序拷贝到开发板“/home/root”目录下。

Host# make

 

图 10

 

实验测试说明

网络功能测试:me3620_network_setup

程序功能:选择ECM模式后重启生效;设置网络连接参数和ECM数据访问方式;开启DHCP以获取IP和DNS;程序利用“ping www.baidu.com”测试网络是否连接成功。

运行程序:./me3620_network_setup <device> <new_network_card

  • <device>是ME3620的设备节点名的AT端,即设备号,可用命令:ls /dev/ttyUSB*查看,一般设备节点名为/dev/ttyUSB1。
  • <new_network_card>是新增的网卡名,可用命令:ifconfig -a查看,一般为网卡名为usb0。
  • 例子:./me3620_network_setup /dev/ttyUSB1 usb0

短信功能测试:me3620_send_sms

程序功能:设置短信发送内容的模式;发送短信到手机上。

运行程序:./me3620_send_sms <device> <phonenumber> <text>

  • <phonenumber>是发送短信目标手机号。
  • <text> 是要发送的短信内容;短信内容中间不可有空格;譬如mess  age中间有空格,则提示错误。
  • <device>为设备号;重启后可能会变化,具体情况和操作处理参考重启ME3620方法。
  • 例子:./me3620_send_sms </dev/ttyUSB1> 182******** message

通话功能测试:me3620_phone_call

程序功能:拨打电话。

运行程序:./me3620_phone_call <device> <phonenumber>

  • <device>为设备号;
  • <phonenumber>是拨打目标手机号。
  • 例子:./me3620_phone_call /dev/ttyUSB1 182********

获取经纬度功能测试:me3620_get_location

程序功能:获取经纬度。

运行./me3620_phone_call <device> <wait_minute>

  • <device>为设备号;
  • <wait_minute>为等待返回经纬度信息的时间(单位为分钟)。
  • 例子:./me3620_get_location /dev/ttyUSB1 10

 例程测试

进行4G模块测试前,将移动或者联通4G卡插到ME3620模块上,同时插上天线,天线接到MAIN处,将USB 4G模块插到USB HOST接口处。正确插入4G卡与天线后,转接板上的D2 led会亮蓝灯,若此灯不亮,请检查4G卡是否插对位置,天线是否连接正确,USB接口是否插稳。

查看VID

由修改内核源码而添加的VID可执行lsusb命令可以查看

Target# lsusb

 

图 11

 

网络功能测试

执行以下指令查看usb0网络节点。

Target# ifconfig -a

 

图 12

 

执行以下指令关闭其他网口,只留住usb0网口,ping外网测试网络功能。

Target# ifconfig eth0 down

Target# ifconfig eth1 down

Target# ./me3620_network_setup /dev/ttyUSB1 usb0

 

图 13

 

短信功能测试

执行以下指令,通过ME3620模块发送短信,相应手机就会收到信息。

Target# ./me3620_send_sms /dev/ttyUSB1 182******** message

 

图 14

 

图 15

 

通话功能测试

执行以下指令,通过ME3620模块拨打电话,相应手机就会接收到来电提示。

Target# ./me3620_phone_call /dev/ttyUSB1 182********

 

图 16

 

图 17

 

获取经纬度功能测试

测试获取经纬度功能需要将GPS专用天线连接到ME3620模块的GPS接口上,摆正GPS专用天线,使得只有GPS三个字母的那一面在上面。测试地点尽量选择空旷的地方,例如天台,广场等,尽量远离墙面,靠近墙面会影响测试获取经纬度所需要的时间。

执行以下指令,获取经纬度。

Target# ./me3620_get_location /dev/ttyUSB1 10

 

图 18

 

测试过程中,获取经纬度需要等待2到10分钟,如果获取经纬度失败,超时,请检查天线是否连接好,重新执行以上指令即可。

在百度地图上查看经纬度坐标,与利用ME3620模块获取所得结果对比接近。

 

图 19

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Tronlong创龙

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值