Hi,大家好,我是编程小6,很荣幸遇见你,我把这些年在开发过程中遇到的问题或想法写出来,今天说一说
4G模块网络通信_4g物联网模块,希望能够帮助你!!!。
HUAWEI ME909s-821
Windows7操作系统 +Ubuntu Kylin 14.04操作系统
嵌入式开发板
Windows系统下的模块驱动 【仅Win-xp Win7系统可以使用,Win8及以上模块无法识别】
Linux系统下模块驱动 【支持内核版本2.6.12以后的版本】
uname -a Linux Kylin 3.13.0-123-generic cat /proc/version Linux version 3.13.0-123-generic (buildd@lcy01-10) (gcc version 4.8.4 (Ubuntu 4.8.4-2ubuntu1~14.04.3) )
Linux下查看驱动是否正常
dmesg lsusb ls /dev/ttyUSB*
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.1 userkey: afe8cf49a3db2f6b7f69fa7 Host: open.lewei50.com Content-Length: 51 Connection: close [{
"Name":"T1","Value":25},{
"Name":"H1","Value":20}] ===>服务器响应 HTTP/1.1 200 OK Date: Sun, 09 Jul 2017 06:41:35 GMT Content-Type: application/json; charset=utf-8 Content-Length: 44 Connection: close Cache-Control: private Set-Cookie: SERVERID=c27dc27aa8d649b8995aeaa2469b14c6||;Path=/ {
"Successful":true,"Message":"Successful. "} 说明网络通信成功
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 //确认串口正常,模块出厂默认波特率=。
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 值
2425 //R-UIM 卡IMSI 返回值,如果没有R-UIM 卡,则返回
MT 的IMSI
OK
7 -
推荐语音拨号流程
AT+CLVL=3 //设置耳机音量
OK
AT+CMUT=0 //设置麦克风静音
OK
AT+CMIC=4 //设置麦克风音量
OK
AT+CDV //语音拨号
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=””
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
今天的分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。
上一篇
已是最后文章
下一篇
已是最新文章