GPRS AT 指令中文
来源:互联网 发布:windows dos2unix安装 编辑:程序博客网 时间:2024/05/21 22:01
GPRS AT 指令中文(1)
FUNCTIONS AT COMMANDS DETAILS
厂家认证 AT+CGMI 获得厂家的标识
模式认证 AT+CGMM 查询支持频段
修订认证 AT+CGMR 查询软件版本
生产序号 AT+CGSN 查询IMEI NO.
TE设置 AT+CSCS 选择支持网络
查询IMSI AT+CIMI 查询国际移动电话支持认证
卡的认证 AT+CCID 查询SIM卡的序列号
功能列表 AT+GCAP 查询可供使用的功能列表
重复操作 A/ 重复最后一次操作
关闭电源 AT+CPOF 暂停模块软件运行
设置状态 AT+CFUN 设置模块软件的状态
活动状态 AT+CPAS 查询模块当前活动状态
报告错误 AT+CMEE 报告模块设备错误
键盘控制 AT+CKPD 用字符模拟键盘操作
拨号命令 ATD 拨打电话号码
挂机命令 ATH 挂机
回应呼叫 ATA 当模块被呼叫时回应呼叫
详细错误 AT+CEER 查询错误的详细原因
DTMF信号 AT+VTD,+VTS +VTD设置长度,+VTS发送信号
重复呼叫 ATDL 重复拨叫最后一次号码
自动拨号 AT%Dn 设备自动拨叫号码
自动接应 ATS0 模块自动接听呼叫
呼入载体 AT+CICB 查询呼入的模式,DATA or FAX or SPEECH
增益控制 AT+VGR,+VGT +VGR调整听筒增益,+VGT调整话筒增益
静音控制 AT+CMUT 设置话筒静音
声道选择 AT+SPEAKER 选择不同声道(2对听筒和话筒)
回声取消 AT+ECHO 根据场所选择不同回声程度
单音修改 AT+SIDET 选择不同回声程度
初始声音参数 AT+VIP 恢复到厂家对声音参数的默认设置
信号质量 AT+CSQ 查询信号质量
GPRS 指令中文(2)
网络选择 AT+COPS 设置选择网络方式(自动/手动)
网络注册 AT+CREG 当前网络注册情况
网络名称 AT+WOPN 查询当前使用网络提供者
网络列表 AT+CPOL 查询可供使用的网络
输入PIN AT+CPIN 输入PIN码
输入PIN2 AT+CPIN2 输入第二个PIN码
保存尝试 AT+CPINC 显示可能的各个PIN码
简单上锁 AT+CLCK 用户可以锁住状态
改变密码 AT+CPWD 改变各个PIN码
选择电话簿 AT+CPBS 选择不同的记忆体上存储的电话簿
读取电话簿 AT+CPBR 读取电话簿目录
查找电话簿 AT+CPBF 查找所需电话目录
写入电话簿 AT+CPBW 增加电话簿条目
电话号码查找 AT+CPBP 查找所需电话号码
动态查找 AT+CPBN 查找电话号码的一种方式
用户号码 AT+CNUM 选择不同的本机号码(因网络服务支持不同)
避免电话簿初始化 AT+WAIP 选择是否防止电话簿初始化
选择短消息服务 AT+CSMS 选择是否打开短消息服务以及广播服务
短消息存储 AT+CPMS 选择短消息优先存储区域
短消息格式 AT+CMGF 选择短消息支持格式(TEXT or PDU)
保存设置 AT+CSAS 保存+CSCA and +CSMP参数设置
恢复设置 AT+CRES 恢复+CSCA and +CSMP参数设置
显示TEXT参数 AT+CSDH 显示当前TEXT模式下结果代码
GPRS AT指令(3)
新消息提示 AT+CNMI 选择当有新的短消息来时系统提示方式
读短消息 AT+CMGR 读取短消息
列短消息 AT+CMGL 将存储的短消息列表
发送短消息 AT+CMGS 发送短消息
写短消息 AT+CMGW 写短消息并保存在存储器中
从内存中发短消息 AT+CMSS 发送在存储器中保存的短消息
设置TEXT参数 AT+CSMP 设置在TEXT模式下条件参数
删除短消息 AT+CMGD 删除保存的短消息
服务中心地址 AT+CSCA 提供短消息服务中心的号码
选择广播类型 AT+CSCB 选择系统广播短消息的类型
广播标识符 AT+WCBM 读取SIM卡中系统广播标识符
短消息位置修改 AT+WMSC 修改短消息位置
短消息覆盖 AT+WMGO 写一条短消息放在第一个空位
呼叫转移 AT+CCFC 设置呼叫转移
呼入载体 AT+CLCK 锁定呼入载体以及限制呼入或呼出
修改SS密码 AT+CPWD 修改提供服务密码
GPRS AT指令中文(4)
呼叫等待 AT+CCWA 控制呼叫等待服务
呼叫线路限定 AT+CLIR 控制呼叫线路认证
呼叫线路显示 AT+CLIP 显示当前呼叫线路认证
已连接线路认证 AT+COLP 显示当前已连接线路认证
计费显示 AT+CAOC 报告当前费用
累计呼叫 AT+CACM 累计呼叫费用
累计最大值 AT+CAMM 设置累计最大值
单位计费 AT+CPUC 设置单位费用以及通话计时
多方通话 AT+CHLD 保持或挂断某一通话线路(支持多方通话)
当前呼叫 AT+CLCC 列出当前呼叫
补充服务 AT+CSSN 设置呼叫增值服务
非正式补充服务 AT+CUSD 非正式的增值服务
保密用户 AT+CCUG 选择是否在保密状态
载体选择 AT+CBST 选择数据传输的类型
选择模式 AT+FCLASS 选择发送数据or 传真
服务报告控制 AT+CR 是否报告提供服务
结果代码 AT+CRC 报告不同的结果代码(传输方式、语音或数据)
设备速率报告 AT+ILRR 是否报告当前传输速率
协议参数 AT+CRLP 设置无线连接协议参数
其他参数 AT+DOPT 设置其他的无线连接协议参数
传输速度 AT+FTM 设置传真发送的速度
接收速度 AT+FRM 设置传真接收的速度
HDLC传输速度 AT+FTH 设置传真发送的速度(使用HDLC协议)
GPRS AT指令中文(5)
HDLC接收速度 AT+FRH 设置传真接收的速度(使用HDLC协议)
停止传输并等待 AT+FTS 停止传真的发送并等待
静音接收 AT+FRS 保持一段静音等待
固定终端速率 AT+IPR 设置数据终端设备速率
其他位符 AT+ICF 设置停止位、奇偶校验位
流量控制 AT+IFC 设置本地数据流量
设置DCD信号 AT&C 控制数据载体探测信号
设置DTR信号 AT&D 控制数据终端设备准备信号
设置DSR信号 AT&S 控制数据设备准备信号
返回在线模式 ATO 返回到数据在线模式
结果代码抑制 ATQ 是否模块回复结果代码
DCE回应格式 ATV 决定数据通信设备回应格式
默认设置 ATZ 恢复到默认设置
保存设置 AT&W 保存所有对模块的软件修改
自动测试 AT&T 自动测试软件
回应 ATE 是否可见输入字符
回复厂家设置 AT&F 软件恢复到厂家设置
显示设置 AT&V 显示当前的一些参数的设置
认证信息 ATI 显示多种模块认证信息
区域环境描述 AT+CCED 用户获取区域参数
自动接收电平显示 AT+CCED 扩展到显示接收信号强度
一般显示 AT+WIND
在 ME 和 MSC 之间数据计算模式 AT+ALEA
数据计算模式 AT+CRYPT
键盘管理 AT+EXPKEY
PLMN上的信息 AT+CPLMN
模拟数字转换测量 AT+ADC
模块事件报告 AT+CMER
选择语言 AT+WLPR 选择可支持的语言
增加语言 AT+WLPW 增加可支持的语言
读GPIO值 AT+WIOR
写GPIO值 AT+WIOW
放弃命令 AT+WAC 用于放弃SMS、SS and PLMN
设置单音 AT+WTONE 设置音频信号(WMOi3)
设置DTMF音 AT+WDTMF 设置DTMF音(WMOi3)
AT指令操作GPRS Modem实现网络传输
GPRS Moderm实现TCP连接的AT指令主要操作步骤:
AT/r
AT+ccid/r //检测是否装有SIM 卡
AT+cgmr/r //检测软件版本,5.0 以上的才有GPRS 功能支持
AT+csq/r //检测信号质量,确定是否可以登陆上网络;若返回10--31,0之间的信号数字则继续,
如果信号是99,99,则应该考虑不停的的让模块去搜寻网络。
AT+CGCLASS="B"/r //设置模块工作类型
AT+CGDCONT=1,"IP","CMNET"/r
AT+CGATT=1 //激活PDP,获得IP
AT+CIPCSGP=1,"CMNET"/r
AT+CIPSTART="TCP",211.147.18.79,1433/r
AT+CIPSEND/r
> //返回“>”后输入要传输的数据,再发送CTRL+Z,即将所要发送的数据发送到指定IP的服务器上
AT+CIPCLOSE/r //只有在TCP/UDP处于CONNECT OK的状态下才返回OK,否则返回ERROR
AT+CIPSHUT/r //关闭移动场景
通过串口发送AT的过程
(1)设置串口参数
(2)打开串口
(3)发送AT指令,然后等待模块响应
(4)接收相应,然后处理
(5)通讯完成,关闭串口
(原创)AT 发送中文短信 流程
AT
OK
AT+IPR=115200
OK
AT+FLO=0
OK
AT+CSCA?
+CSCA: "+8613800100500",145 //短信服务中心号码(北京)
OK
AT+CMGF=0 //PDU模式发送
OK
AT+CSCS="UCS2" //Unicode编码
OK
AT+CMGS=019 //代表发送字节长度短消息中心号码和目
//的号码包含其中中文用unicode编码
>0011000D91683119509808f0000801044f60597d //手机号码13910589800
+CMGS: 93
0011000D91685109114796F0000801044F60597D
0011000D91685123818000F1000801044F60597D
0011000D91683110259505F0000801044F60597D
13015259500
5。编程技巧
18701557905
发送完AT指令后,一般需要等待模块做出响应。串口通讯是一种流式通讯,通讯另一方可能正常相应,也有可能不能正常响应,这是就需要对这种情况进行处理。
(1)可以设置读超时,如果对方不能正常响应,则系统会认为与对方通讯失败
(2)如果对方成功响应,那么还需要对对方相应的信息进行判断,确定串口数据流中的那些是相应自己AT指令的数据。一般地,期望的响应都有一定的特征信息,可以通过判断相应的数据是否包含特征信息来判断。
例如,一般当发送一个AT指令后,通常会有一个OK作为相应的结尾,那么就可以通过相应数据是否包含OK判断针对自己的响应是否结束。
例如,如果GSM/GPRS模块认为指令有问题,或者执行指令出错,会返回ERROR,那么程序就不能一直等待自己期望的特征数据出现,如遇到ERROR,就应该返回报错。
(3)即使对方能够成功响应,有时候对方对指令的处理需要一定的时间,这时候并不能通过一个read函数将所有的相应数据都读回。因此就需要将每次读回的数据缓存起来,然后不断的读取数据,直到期望的特征数据出现为止。
(4)在不断的读取数据时,应该在每次读取之间sleep一小会,以保证下次尽量能够读到数据。
基于GSM模块实现中文短信息发送
苗雨 孟显勇
(吉林大学珠海学院,广东 珠海 519041)
摘 要 短信的发送需要GSM模块和处理器协作完成,GSM模块与ARM处理器通过串口连接,处理器向串口发送接收AT命令与GSM模块形成通信回路。中文短信的发送采用PDU模式,根据PDU模式标准形成PDU发送包,实现短信发送。本文根据无线电话项目的短信发送模块的实现开发流程编写。
关键词 GSM;SMS;AT命令;PDU
1 引言
2007年全国手机短信发送量达到5921亿条,日均发送量超过16亿条。短信的应用也扩展到各个领域,本文介绍了多媒体电话短消息发送模块的实现原理和具体的实现方法。由短消息发送流程可以了解短信息发送过程的每一个环节,对短信息安全,屏蔽垃圾短信有一定的作用。
2 GSM模块及GSM模块的短信功能
GSM(Global System for Mobile communication)系统是目前基于时分多址技术的移动通讯体制中比较成熟、完善、应用最广泛的一种系统。目前已建成的覆盖全国的GSM数字蜂窝移动通信网,是我国公众移动通信网的主要方式,主要提供话音、短信息、数据等多种业务。基于GSM短消息功能可以做成传输各种检测、监控数据信号和控制命令的数据通信系统,能广泛用于远程监控、定位导航、个人通信终端等。由于公众GSM网络在全球范围内实现了联网和漫游,建立上述系统不需再组建专用通信网络,所以具有实时传输数据功能的短消息应用将得到迅速普及。
SMS是由Etsi所制定的一个规范(GSM 03.40 和 GSM 03.38)。它可以发送最多160个字符,当使用7-bits编码的时候,8-bit编码(最多140个字符)通常无法直接通过手机显示,通常被用来作为数据消息。16-bit信息(最多70个字符)被用来显示Unicode(UCS2)文本信息,可以被大多数的手机所显示。一个以class 0 开头的16-bit的文本信息将在某些手机上作为Flash SMS显示。
3 实现中文短信发送
GSM模块支持两种方式来发送和接收SMS短信息,文本模式和PDU(Protocol Description Unit)模式,文本模式只能发送普通的Ascill字符,要发送图片,铃声,其它编码的字符(如中文)就必须采用PDU模式。
PDU模式中,可以采用三种编码方式来编码要发送的内容,分别是7bit编码,8bit编码,16bit编码,7bit编码用于发送普通的Ascill字符,8bit编码通常用于发送数据信息,如图片和铃声,而16bit编码用于发送Unicode字符。三种编码可以发送的最大字符分别是160,140,70。
发送中文短信要采用PDU模式的Unicode编码方式,具体步骤描述如下:
(1)GB2321编码到Unicode编码的转换。
●操作系统提供函数(有些系统不提供,如deltaos)。
●手动查表。
(2)Unicode编码到16bit编码的转换。
●得到的Unicode编码后,还需要转换成PDU的16bit编码才可以正确的发送。
●这个转换过程中Unicode编码最开始的0xffff标志要去掉,在0xffff之后的内容才是真正的Unicode字符。
●Unicode是双字节,根据系统如果是小端字节序(little-endian),也就是说,存储的时候,先存低位再存高位,例如:“中”的Unicode编码是0x4E2D,储存的时候是2D4E,在转换到16bit编码的时候要转换顺序,如果是大端字节序(big-endian)如本系统,就不需要转换了。
●正确计算16bit编码的消息体长度,PDU规范中,包括消息体本身。
●正确设置TYPE,TP-MR,TP-PID,TP-VP,在下文PDU格式中,依次设置为:11,00,00,08,01(以上都为16进制数)。
(3)形成标准的发送包。
3.1 短信发送过程分析
处理器通过向串口发送接收AT命令与GSM模块形成通信回路,通过AT命令实现对GSM模块的基本操作,用于发送短信的AT命令如表1所示。
发送短信可用文本模式和协议数据单元模式(PDU,protocol data unit)。大多手机不支持文本模式,只支持PDU模式。PDU模式是把短信正文经十六进制编码后被传送,其编码总体上分为三个部分:服务中心号、接收方手机号、短信内容,如“你好”短信PDU编码是这样的(其中xyz是手机号具体数字): 0011000B8131258698yxFz000801044F60597D,其意义如表2所示。
表1 发送短信使用的AT命令
AT命令 功能 例子
AT+CMGF 设置短信的格式,0=PDU模式(默认),1=文本模式 AT+CMGF=0
AT+CSCA 获取服务中心的号码 AT+CSCA?
AT+CMGS 发送AT+CMGS= YYY ;其中 YYY 为TPDU的十进制长度AT+CMGS=19
接收到“>” 响应后发送短信内容
表2 发送数据分析
接收号部分 短信内容部分
00 11 00 0B 8131208698yxFz 000801 044F605970
00:SCA以00写入,应用默认的服务中心地址,该服务中心地址用AT+CSCA指令写入
11:PDU类型
00:TP-MR表示MR 消息参考
0B:接收号字符数
81:表示是国内代码
31258698yxFz:接收号 编码时长度为奇数末尾追加“F”每两个字节进行位置交换,即13526889xyz
00:TP-PID协议标示
08:TP-DCS数据编码方式
01:TP-VP有效期
04:UDL用户数据长度,用十六制表示
4F60597D:短信内容的UNICODE编码
如果发送成功,串口返回以下结果:
+CMGS: X 这里的X是个数字
OK
3.2 发送短信程序流程及主要函数
1)接口函数_SendMessage()
2)发送短信主体函数Send_SMS()
3)数据处理函数MakeSSP()
函数MakeSSP是短信发送部分重要函数,把struct_SMS _appUnit结构中的数据转换成struct _SMS_SUBMIT_PDU结构,形成发送包。
4 总结
以上详述了短信发送模块实现的步骤,本文内容通过测试。可以实现短信的发送,响应时间等参数符合要求。但如果要连续发送短信,或短信发送量要求比较高的情况还需要设计数据库实现数据的管理。对于短信发送的信息安全问题,将是下一个阶段的研究重点。
手机发短信常用AT指令
实用的AT指令
单片机和GSM引擎之间采用AT指令实现互相之间的通信,因此有必要了解一下AT指令的格式和几条常用的指令。更详细的资料可以参考GSM07.05和GSM07.07规范。
单片机发出的AT指令用来建立通信链路,AT指令集的命令格式帧都以AT开头,下面是几个常用的AT指令。
1.设置短消息中心
AT+CSCA=“+8613800270500”回车(具体的号码由当地的运营商决定。)
2.接收短消息
+CMTI:“SM”,X (X表示接收短消息的SIM卡存储号码)
AT+CMGR=X回车 (从X存储区读短消息)
AT+CMGD=X回车 (从X存储区删除短消息)
3.发送短消息
AT+CMGF=1回车(采用文本格式发送,如用PDU格式,则AT+CMGF=0)
AT+CMGS=“+8613xxxxxxxxx”回车
>输入短消息。Crtl+Z结束并发送。
4.重要的指令
ATZ;E 回车 Echo OFF
ATZ;E1回车 Echo ON
AT+CREG?回车 回答x(X=2脱网,X=1注册,X=0状态不明)
AT+COPS?回车 表示SIM卡是否被网络接受
AT+COPS=?回车 显示所有可用的网络。
5.建立语音呼叫
AT+CREG?回车(是否网络注册)
ATD13xxxxxxxxx;回车(语音呼叫和数据呼叫建立的区别在于号码后所接的分号上)
6.改变并保存参数
AT+IPR=2400 回车(改变RS232口的速率至2400bps)
AT&W 回车 (保存已改参数)
7.输入PIN码
AT+CPIN=“xxxx”
通信链路建立以后,单片机就可以发出信息单元帧了,信息的帧格式如下:
其中标志帧开始的帧头为十六进制的10H和02H,标志信息结束的是10H和03H,最后二位是数据部分按16位求和以后取模的结果,用做校验位。对于数据位,为了避免出现错误的结束标志,规定每出现一个10H码字以后,后面插入一个空字符00H。接收端如果收到信息以后,就要相应地去掉空字符。如果接收端收到的数据部分和BCS部分按照16位相加以后的结果不等于0,就表示传输出现错误,所收到的信息就要丢掉。
- GPRS AT指令中文
- GPRS AT 指令中文
- GPRS AT 指令中文
- GPRS常识--AT指令
- GPRS的AT指令解析
- GPRS模块AT指令集(1)
- GPRS模块AT指令集(2)
- GPRS模块AT指令集(3)
- GPRS模块AT指令集(4)
- GPRS模块AT指令集(5)
- GPRS模块AT指令集(6)
- GPRS模块AT指令集(7)
- GPRS模块AT指令集(8)
- GPRS模块AT指令集(9)
- GPRS模块AT指令集(10)
- AT 指令控制GSM/GPRS 模块
- GPRS连接,用AT指令拨号上网
- C++之AT指令与GPRS通信
- 关于向AIX中ftp 问题
- 水晶报表 小代码大作用【BY 阿泰】
- System.Web.Security
- GCC编译优化指南
- TLF 使用详解!!
- GPRS AT 指令中文
- POJ 1276-CashMachine 背包问题
- (转)Linux 与 BSD 之间的 10 个不同之处
- 电子商务九惑
- 软件工程常用工具列表
- 解决jquery和mootools冲突的方法
- 终于搞定Oracle 10g em登录提示“数据库状态当前不可用可能是因为数据库的状态为装载或不装载”问题
- 二、十、十六进制 互转【BY大鱼儿@Live】
- 【C++】Chapter25:模式总结(下)