SIM300常用命令
经常用到的一些AT指令
simcom的
1、AT+IPR?(查询模块的波特率)
模块会返回+IPR: 9600之格式的信息,9600即波特率,注意9600与冒号之间是有空格的;
2、AT+IPR=9600;&W(设置模块的固定波特率)
此命令写一次之后就可以了,simcom支持掉电保护,之后此模块波特率就一直为9600了,成功返回OK,错误返回ERROR,说明命令格式错误;
3、AT+CIPCCFG=3,2,1024,1(设定模块缓冲区为1024字节)
此命令成功返回OK,错误返回ERROR,说明命令格式错误,=号后面数据根据个人需求填写;
4、AT+CIPCCFG?(查询模块缓冲区的大小)模块会返回+CIPCCFG:3,2,1024,1这种格式的信息。1024即为缓冲区大小;
5、AT+CFUN=1,1(全功能命令,立即执行)
此命令可以开启simcom模块的大部分功能,一般在初始化模块的时候都要写上;
6、AT+CLIP=1(显示来电号码)
显示来电号码,如果没有这条指令,则来电话模块只送出ring,不送出号码;
7、ATH(挂断电话)
这个就不用多说了,送出就挂断电话,在Benq里还可以做完全断开gprs网络用;
8、ATA(接听电话)
接听电话,也不用多说了,来电话发这个给模块就可以接听了;
9、AT+VTS="dt"(dtmf音)
开启dtmf音,dtmf音就是你拨打10086时提示你按几键发给10086的,开始我也不知道。。。听同事说才明白,benq开启dtmf音是AT+WDTMF=1,0,7,7,麻烦;
10、AT+VTD=70(dtmf音持续长短)
持续项为0~255;
11、AT+CLVL=(通话音量大小)
范围是0~100,数值越小,则音量越轻;
12、AT+SIDET=(侧音灵敏度大小)
范围是1~32767,越大越灵敏,日常通话建议设为0,设大了容易产生啸叫,在设置监听功能时可以把此值设大一些;
13、AT+CMIC=0,15(改变麦克风的增益)
逗号前有0,1两项,1为免提通话状态,逗号后即音量大小了,当然是对方听到你的。此功能是切换免提用的;
14、AT+CHFA=(0/1此命令用来切换两个音频通道)
simcom提供两个音频通道,用此命令来切换;
15、AT+CMGS=(发送短信的长度)
当然你也可以不用发=号,则可以写任意长度短信(模块支持长度范围内);
16、AT+CMGL=0(读取新sms)
返回+CMGL: 21(如果有短消息的话)之格式的信息,后面回车换行跟着就是短信内容了;
17、AT+CMGD=(删除第几条短信)
后面是几就删除第几条短信咯;
18、AT+CNMI=2,1(新sms来时送出脉冲)
此命令最好在初始模块时就加上,如果没有此命令,嘿嘿,有短信你也不知道了,正确放回OK,错误返回ERROR,格式错误;
19、AT+CSCA?(读取sms服务中心号码)
返回+CSCA: "+8613800532500",145之格式的信息,我是青岛的,所以返回是这个号码;
20、AT+CIPSHUT(关闭移动场景返回到IP INITIAL)
在连线不成功时这条命令挺管用的,可以断开连接然后可以再次执行连线,建议跟AT+CIPCLOSE一起用(个人建议),如果这条命令都不行的话就只有给模块重启了,移动场景是什么到现在我也不明白,谁明白可以告诉我啊;
21、AT+CIPSEND=(通过gprs网络发送数据指令)
等号后面跟发送数据长度,返回〉号后可以填写数据,达到规定数据量自动发送,也支持无规定数据量的发送,发送成功返回SEND OK,不成功返回SEND FAIL,也可能不返回东东;
22、AT+CIPSTART="TCP","192.43.10.157","4005"(gprs拨号连线)
正确返回OK,错误ERROR,格式错误,连上线返回CONNECT OK,连线失败返回CONNECT FAIL;格式能看懂吧应该;
23、AT+CIPSTATUS(查询模块gprs状态)
模块返回STATE: CONNECT OK(在线),STATE: IP IND(连线失败,接受场景配置),STATE: IP CLOSED(对方掉线或断开连接了),STATE: PDP DEACT(连接断开,你应该检查一下你的天线了),STATE: TCP CONNECTING(正在连接,这种情况下一般都连接失败,所以就直接AT+CIPCLOSE,AT+CIPSHUT一起用,然后重连得了,当然我的做法,不一定好),我碰到的只有这几种状态,其他状态没遇到过;
24、AT+CCLK="07/03/28,06:46:30+00"(给模块设定时间日期)
格式应该看的懂,正确放回OK,错误返回ERROR,格式错误;
25、AT+CCLK?(读取日期时间)
返回+CCLK: "03/01/01,16:07:46+00"之格式的信息;
26、AT+CSQ(读取信号强度)
返回+CSQ: 20,0之格式的信息,20为有用的值对我来说,信号强度;
27、AT+CBC(读取电池电量)
返回+CBC: 1,96,4149之格式的信息,0 模块由电池供电,1 模块装有电池,但不由电池供电,2 模块没有电池,3 模块电源无效, 禁止呼叫,1-100表示电量百分比,后面那个数不清楚作用,不过模块读取的电量信息不是很准,我明明装的电池有时还返回2;
AT+CFUN具体开启什么功能我也不清楚,问售后也没说出个所以然来,只知道要想正常使用simcom模块就得把其大部分功能都打开,也就是表示simcom正常开机了。
关于AT+COPS这个跟网络堆栈没什么联系吧~!?以下是技术手册上说的,之前用BENQ用过这个命令,只是读取sim卡是哪个运营商的指令
AT+COPS 运营商选择
选择运营商有3种可能:
1、移动台进入manual手动模式想查找提供给用户的运营商如果查找正确并注册成功,移动台处于idle状态.
2、移动台进入automatic自动模式,想查找本地运营商.如果查找正确并注册成功移动台处于idle状态;如果不成功,移动台自动搜索其他的网络.
3、移动台进入manual/automatic手动/自动模式,想查找提供给用户的运营商(类似处于manual模式),如果不成功进入automatic模式.
读取命令返回当前模式和选择的运营商。
要想选择并注册网络运营商,发送如下的命令行:
AT+COPS=<mode>, [<format> [ , <oper> ] ]
对AT+COPS=<mode> 命令的可能的响应
OK ( 选择全部的网络业务)
+CME ERROR: 30 ( 没有网络业务)
+CME ERROR: 32 ( 网络不允许? 只允许紧急电话)
+CME ERROR: 3 ( 电话期间不允许此操作)
+CME ERROR: 4 ( 错误参数)
对AT+COPS? 命令的响应语法
+COPS: <mode> [, <format>, <oper> ]
对AT+COPS=? 命令的响应语法
+COPS: [ 列举所支持的<stat>, <oper> 字母数字型数字型 ]
命令行参数值如下定义
<mode>:
0: 自动(缺省值)
1: 手动
3: 用于设置<format> 域 对于读取命令AT+COPS?
4: 手动/ 自动要有<oper> 域,如果手动选择失败,进入自动模式
<format>:<oper> 域的格式
0 长字母数字格式(最多16 个字符)
1 短字母数字格式(最多8 个字符)
2 数字格式(缺省值)
<stat> <oper> 的状态
0: 未知
1: 可用
2: 当前正在使用
3: 禁止
<oper> 运营商标识
格式:AT+COPS?
返回:+COPS:0
OK //说明未找到网络
返回:+COPS:0,0,”UNICOM”
OK //说明是联通MOBILE是移动