GPRS AT 指令中文

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 04 4F605970

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 ,就表示传输出现错误,所收到的信息就要丢掉。

 

你可能感兴趣的:(网络,存储,手机,sms,通讯,电话)