前言:

        在项目中集成 4G 网络模块,便可远程实时监控仪器运行状态、收集仪器数据等功能。EC20的USB接口符合USB2.0规范,支持高速(480Mbps)和全速(12Mbps)模式。该接口可用于AT 命令传送、数据传输、GNSS NMEA 输出、软件调试、软件升级和USB语音。

        系统:Ubuntu 16.04

        交叉编译器:arm-linux-gnueabihf-gcc-4.9.4

        Qt开发工具:qt-creator-5.12.8

        目标机:TWCore-IMX6UL

        目标机内核:linux 4.1.15

        网络模块:4G-EC20

1. 4G 模块介绍

        4G 模块如下图所示。4G 模块接口供电电压为DC-5V,EC20 芯片工作电压 3.3-4.3V,推荐工作电压 3.88V,不建议用边缘值电压,电压波动会造成模块工作不稳定。

         

        工作指示灯如下表所示:

LED2电源指示灯正常供电亮红色
LED1模块状态指示灯模块正常亮绿灯
LED3网络指示灯慢闪(200ms 高/1800ms 低)找网状态
慢闪(1800ms 高/200ms 低)待机状态
快闪(125ms 高/125ms 低)数据传输模式
高电平通话中

2. 4G 模块设备节点

        EC20支持三种驱动:USB Serial Driver,GobiNet Driver,QMI WWAN Driver,本项目使用USB Serial Driver
        4G模块的驱动加载后,在/dev下生成三个设备节点:

ttyUSB1GPS数据通讯设备节点,用于GPS输出
ttyUSB2AT指令通讯设备节点
ttyUSB3调制解调器,网络拔号设备节点

3. 4G 常用的AT指令

        1)常用的AT指令

    cat /dev/ttyUSB2 &
    echo -e "AT+QCCID\r\n" >/dev/ttyUSB2    //查询SIM卡
    echo -e "AT+CFUN=1,1\r\n" >/dev/ttyUSB2   //重启模块
    echo -e "AT+QSIMDET=1\r\n" >/dev/ttyUSB2   //开启SIM卡热插拔状态报告
    echo -e "AT+QSIMDET=1,1\r\n" >/dev/ttyUSB2  //开启SIM卡检测功能
    echo -e "AT+CSQ\r\n" >/dev/ttyUSB2  //查询信号强度
    echo -e "AT+QNWINFO\r\n" >/dev/ttyUSB2 //查询网络状态
    echo -e "AT+QCFG=\"NWSCANMODE\",3,1\r\n" >/dev/ttyUSB2 //设置4G LTE only
    echo -e "AT+QCFG=\"NWSCANMODE\",2,1\r\n" >/dev/ttyUSB2 //设置3G WCDMA only
    echo -e "AT+QCFG=\"NWSCANMODE\",1,1\r\n" >/dev/ttyUSB2 //设置2G GSM only
    echo -e "AT+QCFG=\"NWSCANMODE\",0,1\r\n" >/dev/ttyUSB2 //设置自动搜索网络

        2)AT 配置及测试

    cat /dev/ttyUSB2 &
    echo -e "AT+QSIMDET=1,1\r\n" >/dev/ttyUSB2  //开启SIM卡检测功能 本模块高电平有效
    echo -e "AT+CFUN=1,1\r\n" >/dev/ttyUSB2   //重启模块
    echo -e "AT+CSQ\r\n" >/dev/ttyUSB2 //查询信号强度
    echo -e "AT+QCCID\r\n" >/dev/ttyUSB2    //查询SIM卡

       

        信号强度值正常范围为0~31,数值越大表示强度越强,强度值99表示无信号。

 4. 4G 模块拨号前准备事项

        1)解压EC20_4G模块资料(linux-ppp-scripts_V1.2.zip),将里面的文件拷贝至/etc/ppp/peers目录;其中,quectel-pppd.sh为拨号脚本,ip-up用于设置 DNS(域名系统)。

[root@TWDZ-RK356X:/etc/ppp/peers]# ls
ip-up		      quectel-chat-disconnect  quectel-ppp-kill  readme
quectel-chat-connect  quectel-ppp	       quectel-pppd.sh


        2)复制libIoTPlugin_c.so到/usr/lib目录下;

        3)校准仪器上的时间;

        4)开通卡流量套餐;

5. 4G模块拨号测试

        1)禁用与模块冲突的eth0网卡;

        2)AT查询信号强度是否正常;

         3)执行移远提供的pppd配置脚本自动拨号

        4)拨号成功后生成ppp0网卡;

         5)配置DNS

        6)ping外网;

6. 常见问题

        1)4G 模块电源灯不亮

                解决方案:更新其核心板的固件程序。

        2)4G模块电源灯正常,但后台无法启动4G功能且无4G日志输出

                解决方案:仪器上配置仪器ID,并在lot后台服务器激活本仪器ID,完成后重启4G模块。

        3)/dev目录没有生成4G设备节点

                解决方案:检查4G连接线接线顺序是否正确

        4)后台日志循环打印错误“SSL peer certificate or SSH remote key was not OK

                解决方案:仪器上的时间与4G基站时间有误差(大于1天),需要校准仪器的时间。        

        5)后台日志循环打印错误“network not connect

                解决方案:请校正仪器上的时区为东八区。

        6)4G不稳定,其它网卡获取动态IP后自动断开

                解决方案:路由表的优先级(eth0 > 4g > wlan0)以及DNS影响到4G的稳定性,需要重新配置路由表及DNS,步骤如下。

                A. 4G开启成功后,配置DNS以及4G默认静态路由。

                        执行命令“/etc/ppp/peers/ip-up

                        执行命令“/sbin/route add default gw 10.64.64.64 dev ppp0

                B. 增加路由表心跳包(如30s),查询到有默认的eth0或wlan0路由,则删除默认eth0或wlan0路由,以及重新配置DNS。

                        执行命令“/sbin/ip route del default dev eth0

                        执行命令“/sbin/ip route del default dev wlan0

                        执行命令“/etc/ppp/peers/ip-up

        注意:所提供的解决方案只是有可能解决问题,并不绝对。

7.调试注意事项(4G模块与SIM卡)

       1.使用方法:直接放入使用

        2.注意事项:

                1)SIM卡会绑定模块,一旦使用就不能换

                2)一个月可以解绑一次,需要后台操作

                3)需要跟模组商确定模块固件(搜网机制因卡不同)

        3.调试方法

                1)先确定硬件,用手机卡测试模块

                2)再确定固件,用物联SIM卡调试模块固件

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐