4G模块网络通信

来源:互联网 发布:淘宝流量提升软件 编辑:程序博客网 时间:2024/04/30 11:16

      • 硬件平台
      • 驱动安装
      • AT指令调试
        • 采用内部协议栈
      • ppp拨号上网

硬件平台

HUAWEI ME909s-821

Windows7操作系统 +Ubuntu Kylin 14.04操作系统
嵌入式开发板

驱动安装

Windows系统下的模块驱动 【仅Win-xp Win7系统可以使用,Win8及以上模块无法识别】

Linux系统下模块驱动 【支持内核版本2.6.12以后的版本】

uname -aLinux Kylin 3.13.0-123-generic cat /proc/versionLinux version 3.13.0-123-generic (buildd@lcy01-10) (gcc version 4.8.4 (Ubuntu 4.8.4-2ubuntu1~14.04.3) )

Linux下查看驱动是否正常

  • 查看USB串口驱动
  • 查看CDC ECM驱动
  • 查看模块端口映射
    使用命令
dmesglsusbls /dev/ttyUSB*

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述


AT指令调试

AT+GMR      查看模块软件版本号AT+GMI      查看厂商信息AT+GMM      查看模块版本信息AT+CREG?    查看是否注册网络AT^HCSQ?    查看信号强度AT^MONSC    查看当前服务小区AT^IPINIT

我们使用GPRS无线设备做数传的时候,在连接到外部数据网时通常有两种方法:
( I ).拨号上网:常见的如拨ATD 99**#
( II ).指定Server的IP地址、Port端口号,使用特定的AT指令来连接到外部的数据网,也即internet。例如:cdma模块mc323采用的指令为:
AT^ipopen=1,”TCP”,”211.247.26.252”,3030,65000 即可连接具有公网IP地址为211.247.26.252,TCP端口号为3030的Server。本地收发端口为65000.

两种方式各有特点:拨号上网的方式采用的是外部的协议栈,需要用户自己来实现PPP、TCP、UDP等协议栈,而第二种方式则采用模块自带的协议栈,用户的底层应用程序不需要实现上述较为复杂的协议栈。所以,早期的GPRS无线模块多不 带协议栈,常用第一种方式做数传。而自身带有通讯协议栈的GPRS模块多采用第二种方式。当然,二者各有优缺点,采用第一种方式,实现起来较为复杂,但是使用灵活,用户的数据封装比较灵活,可以适应用户的特殊应用。采用第二种方式,由于自身带有完备的通讯协议栈,所以用户实现起来较为简单,但成本较高,数据的封装格式也较为固定。

采用内部协议栈

采用AT指令,通过内部协议栈配置网络,连接到固定的公网IP 端口的服务器,发送数据,进行网络通信。

//例如用ME909 LTE-4G模块 连接乐为物联的服务器AT^IPINIT="1001"    //初始化内嵌的TCP/IP服务AT^IPOPEN=1,"TCP","www.lewei50.com",80,3081 //建立网络连接AT^IPENTRANS=1      //开启数据透传//POST数据传输POST /api/V1/gateway/Updatesensors/01 HTTP/1.1userkey: afe8c596525747f49a3db2f6b7f69fa7 Host: open.lewei50.com Content-Length: 51Connection: close[{"Name":"T1","Value":25},{"Name":"H1","Value":20}]===>服务器响应HTTP/1.1 200 OKDate: Sun, 09 Jul 2017 06:41:35 GMTContent-Type: application/json; charset=utf-8Content-Length: 44Connection: closeCache-Control: privateSet-Cookie: SERVERID=c27dc27aa8d649b8995aeaa2469b14c6|1499582494|1499582494;Path=/{"Successful":true,"Message":"Successful. "} 说明网络通信成功

ppp拨号上网

AT+CGDCONT=1,"IP","CMNET"  //定义PDP上下文AT+CGACT=1,1  //激活PDP上下文AT+CGREG?     //查询网络注册信息 0未注册  1注册了本地网络AT+CGPADDR=1          //查询当前IP

1 开关机流程
MC323 模块工作电压范围为3.3V~4.2V(推荐工作电压3.8V)。不建议
用边缘值电压,因为由于实际网络的差异,当MG323 模块以最大功率发射
是将会引起工作电压的跌落,一旦电压值低于3.3V 就会引起MG323 模块
重启等异常情况。
对于外部供电电源,推荐使用电流输出能力大于1.5A 的LDO 或开关
电源。并在模块的电源端口处并联一个470uF 以上的旁路电容和一个
0.1uF 的去耦电容。

开机流程:
1、确定电源供电正常。
2、TE 的MCU 通过GPIO 置低TERM_ON 管脚的电平,推荐TERM_ON 管脚置
低100ms 模块即可开机。(TERM_ON 管脚信号比较敏感,建议在TERM_ON
管脚处接一个10nF 的电容来滤波)
3、模块正常开机后,模块就会开始注册网络,如果串口返回^MODE:2 说
明模块已经注册上CDMA 网络,于此同时LPG 指示灯呈现闪烁状态。
4、模块开机大约18ms 之后,VIO 电压就会生气,可达到2.85V 供电电压。
模块开机成功的判断依据
1> LPG 有输出,驱动LED 指示灯,指示灯处于闪烁状态;
2> 串口输入AT 指令,有回应。且模块工作在CDMA 网络模式下
(^MODE:2)。
3> 模块能够正常运行短信业务,与语音呼叫业务。

模块的重启
1、 TERM_ON 管脚输入2s 以上的低电平脉冲即可关机,关机过程大约
会持续1.5s,模块完成关机后再给TERM_ON 管脚一个100ms 的低电平
脉冲即可重新启动模块。
2、 RESET 管脚用于实现模块的硬件复位,当模块出现软件死机的情况
时,通过一个>10ms 并且<2s 的低电平脉冲触发硬件复位(低电平脉冲
如果大于2s,就会直接是模块关机)。

  • 5 -
    推荐模块初始化流程
    AT //确认串口正常,模块出厂默认波特率=115200。
    OK //串口可以使用3 线制,RTS、DTR 建议接4.7K 电阻下拉。
    ATE0 //关闭回显。
    OK
    ^MODE:2 //系统模式指示(2 表示CDMA模式;0 表示无服务模式)。
    AT+CSQ //查询当地网络信号强度,31 最大,0 最小。建议改命令空闲时循环发送,了解网络信号状态。
    +CSQ:26,99
    OK
    AT+CREG? //查询当前网络注册状态,0 表示禁止+CREG 主动上报
    +CREG:0,1,//后面的1 表示已经注册上了本地网络。
    OK
    AT+GMI //厂商信息查询
    HUAWEI TECHNOLOGIES CO., LTD //厂商信息
    OK
    AT+GMM //查询模块型号
    MG323-a //模块型号

  • 6 -
    AT+GMR //查询模块软件版本
    DEMO11.102.15.00.000 //模块软件版本号
    OK
    AT^HWVER //查询模块硬件版本
    ^HWVER:MC323aME1MC323M VER B //模块硬件版本号
    OK
    AT+GSN //查询R-UIM 卡的ESN 值
    324DEB5A //ESN 值(有此返回值,说明R-UIM 卡PIN 码解锁成功)。
    OK
    AT^MEID //查询R-UIM 卡的MEID 值
    A000002D8C3C9F //MEID 返回值(如果R-UIM 卡不存在,MEID 的返回值为
    14 个 0)
    OK
    AT+CIMI //查询R-UIM 卡的IMSI 值
    460036020642425 //R-UIM 卡IMSI 返回值,如果没有R-UIM 卡,则返回
    MT 的IMSI
    OK

  • 7 -
    推荐语音拨号流程
    AT+CLVL=3 //设置耳机音量
    OK
    AT+CMUT=0 //设置麦克风静音
    OK
    AT+CMIC=4 //设置麦克风音量
    OK
    AT+CDV13310838138 //语音拨号
    OK
    ^DSDORMANT: 1
    ^ORIG:6,0
    ^CONN:6,0
    AT+CHV //语音拨号挂断
    OK

  • 8 -
    推荐短信流程
    AT+CPMS=”SM”,”SM”,”SM” //设置短信存储地址
    +CPMS:0,40,0,40,0,40
    OK
    AT+CNMI=1,1,0,2,0 //设置短信上报
    OK
    AT^HSMSSS=0,0,1,0 //设置短信参数
    OK
    AT^HCMGS=”18666218568”

    XXXX(CTRL+Z) //短信发送
    OK

  • 9 -
    推荐拨号流程
    AT^IPINIT=,”card”,”card”
    OK
    AT^IPOPEN=1,”TCP”,”220.231.143.244”,3005,1000
    OK
    AT^IPSEND=1,”TEST”
    ^IPSEND:1
    OK
    AT^IPCLOSE=1
    OK

  • 10 -
    推荐使用外置协议栈
    AT^SYSINFO //查询系统信息
    ^SYSINFO:2,255,0,2,1 //系统服务状态,系统服务域,漫游状态,系统
    模式,R-UIM 卡状态
    AT^RSSIREP=0 //设定上报指示
    OK
    ATD#777 //数据业务呼叫
    CONNECT

原创粉丝点击