欢迎来到天天文库
浏览记录
ID:34430279
大小:38.50 KB
页数:6页
时间:2019-03-06
《串口应用实例——手机短信发送》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、串口应用实例——手机短信发送一:简介PC与手机通过串口连接,通过电脑控制手机发送短信,由于最近几年手机大多都提供USB接口,通过手机USB驱动程序在手机和PC之间建立虚拟串口设备。由于大多数安卓手机和苹果手机很难找到linux下的虚拟驱动软件,所以采用早起的诺基亚手机,使用一个名为Gnokii的手机驱动软件。手机采用NOKIA6300手机进行操作。二:AT指令简介AT即Attention,AT指令集是从终端设备(TerminalEquipment,TE)或数据终端设备(DataTerminalEquipment,DTE)向终端适配器(Term
2、inalAdapter,TA)或数据电路终端设备(DataCircuitTerminalEquipment,DCE)发送的。通过TA,TE发送AT指令来控制移动台(MobileStation,MS)的功能,与GSM网络业务进行交互。用户可以通过AT指令进行呼叫、短信、电话本、数据业务、传真等方面的控制。90年代初,AT指令仅被用于Modem操作。没有控制移动电话文本消息的先例,只开发了一种叫SMSBlockMode的协议,通过终端设备(TE)或电脑来完全控制 SMS。几年后,主要的移动电话生产厂商诺基亚、爱立信、摩托罗拉和HP共同为GSM研
3、制了一整套AT指令,其中就包括对SMS的控制。AT指令在此基础上演化并被加入GSM07.05标准以及现在的GSM07.07标准,完全标准化和比较健全的标准。如:对SMS的控制共有3种实现途径:最初的BlockMode;基于AT指令的TextMode;基于AT指令的PDUMode。到现在PDUMode已经取代BlockMode,后者逐渐淡出。GSM模块与计算机之间的通信协议是一些AT指令集,AT指令是以AT作首,字符结束的字符串,AT指令的响应数据包在中。每个指令执行成功与否都有相应的返回。其他的一些非预期的信息(如有人拨号进来、线路无信号等)
4、,模块将有对应的一些信息提示,接收端可做相应的处理。由于本次只用到短信的AT指令所以只介绍AT指令集中的短信收发功能指令GSMAT指令集1、AT+CSMS选择消息服务。支持的服务有GSM-MO、SMS-MT、SMS-CB。 2、AT+CNMA新信息确认应答。 3、AT+CPMS优先信息存储。这个命令定义用来读写信息的存储区域。 4、AT+CMGF优先信息格式。执行格式有TEXT方式和PDU方式。 5、AT+CSAS保存设置。保存+CSAS和+CSMP的参数。 6、AT+CRES恢复设置。 7、AT+CSDH显示文本方式的参数。
5、8、AT+CNMI新信息指示。这个命令选择如何从网络上接收短信息。 9、AT+CMGR读短信。信息从+CPMS命令设定的存储器读取。 10、AT+CMGL列出存储的信息。 11、AT+CMGS发送信息。 12、AT+CMGW写短信息并存储。 13、AT+CMSS从存储器中发送信息。 14、AT+CSMP设置文本模式的参数。 15、AT+CMGD删除短信息。删除一个或多个短信息。 16、AT+CSCA短信服务中心地址。 17、AT+CSCB选择单元广播信息类型。 18、AT+WCBM单元广播信息标识。 19、AT+WMSC
6、信息状态(是否读过、是否发送等等)修正。 20、AT+WMGO信息覆盖写入。 21、AT+WUSS不改变SMS状态。在执行+CMGR或+CMGL后仍保持UNREAD。三:PDU编码简介目前,发送短消息常用Text和PDU(ProtocolDataUnit,协议数据单元)模式。使用Text模式收发短信代码简单,实现起来十分容易,但最大的缺点是不能收发中文短信;而PDU模式不仅支持中文短信,也能发送英文短信。PDU模式收发短信可以使用3种编码:7-bit、8-bit和UCS2编码。7-bit编码用于发送普通的ASCII字符,8-bit编码通常
7、用于发送数据消息,UCS2编码用于发送Unicode字符。一般的PDU编码由ABCDEFGHIJKLM十三项组成。A:短信息中心地址长度,2位十六进制数(1字节)。B:短信息中心号码类型,2位十六进制数。C:短信息中心号码,B+C的长度将由A中的数据决定。D:文件头字节,2位十六进制数。E:信息类型,2位十六进制数。F:被叫号码长度,2位十六进制数。G:被叫号码类型,2位十六进制数,取值同B。H:被叫号码,长度由F中的数据决定。I:协议标识,2位十六进制数。J:数据编码方案,2位十六进制数。K:有效期,2位十六进制数。L:用户数据长度,2位十
8、六进制数。M:用户数据,其长度由L中的数据决定。J中设定采用UCS2编码,这里是中英文的Unicode字符。需要注意的是,PDU串的用户信息长度(TP-UDL),在
此文档下载收益归作者所有