本刊投稿邮箱 !!"#$%&’!(&)*(&% 《电子技术应用》"##$年第 %期
&’(#)*#+ ,-./012. 3功能 4
567# 87’76
569:’(’ 选择短信息服务
569:;(’ 选择短信息内存
569:(&, 选择短信息格式
569:’:5 短信息中心地址
569:<(= 显示新收到的短信息
569:(&8 读短信息
569:(&’ 发送短信息
569:(&> 列出 ’=( 卡中的短信息
569:(’’ 从 ’=( 内存中发短信息
569:(&? 向 ’=( 内存中写入待发短信息
569:(&@ 删除 ’=( 内存中的短信息
569:’:A 选择蜂窝广播信息
表 % 常用 56 指令
&’(3&B2CDB ’EF0GH I2J (2C1BG /2HH-.1/D012.4系统是
目前基于时分多址技术的移动通讯体制中比较成熟、完
善、应用最广泛的一种系统。目前已建成的覆盖全国的
&’( 数字蜂窝移动通信网,是我国公众移动通信网的主
要方式。主要提供话音、短信息、数据等多种业务。基于
&’( 短消息功能可以做成传输各种检测、监控数据信号
和控制命令的数据通信系统 K 能广泛用于远程监控、定
位导航、个人通信终端等。由于公众 &’( 网络在全球范
围内实现了联网和漫游 K建立上述系统不须再组建专用
通信网络,所以具有实时传输数据功能的短消息应用将
得到迅速普及。
目前,人们
的各类 @67 设备基本上以微处理器
为核心,带有 8’"$" L 8’MN+ 等通信接口,在物理层上很
容易实现与 &’( 设备(如手机等)的连接。但对 ’(’ 协
议的研究文献却较少,特别是用单片机控制手机的 ’(’
3’O2J0 (GFFDPG ’GJQ1/G4收发的研究更少。笔者在用单片
机设计基于 &’( 的 ’(’ 数据采集器时,对怎样用单片
机控制手机收发短信息进行了探讨。
+ 串口控制 ,-, 的工作原理
单片机与手机一般采用串行异步通信接口,具有红
外和通信电缆两种连接方式,通信速度可设定,通常为
%R"##CSF。采用红外接口的优点是单片机系统与手机电
气隔离,相互不干扰,接口各自独立,使用方便;缺点是
通信距离较短,红外传播的方向性对接口相对位置有要
求。采用电缆连接时,数据传输的可靠性较好;其主要缺
点是接口的电气参数不兼容,设计不当时会对手机的通
信质量产生影响。笔者经过实践设计的接口电平转换电
路如图 %。
&’( 的短信息业务 ’(’ 利用信令信道传输,这是
&’( 通信网所特有的。它不用拨号建立连接,把要发的
信息加上目的地址发送到短信息服务中心,经短消息服
务中心完成存储后再发送给最终的信宿。所以当目的
&’( 终端没开机时信息不会丢失。每个短消息的信息量
限制为 %T# 字节。
现在市场上大多数手机均支持 &’(#)*#+ 规定的
56 指令集。该指令集是 76’=(欧洲通信技术委员会)发
布的,其中包含了对 ’(’ 的控制。利用 &’( 手机的串行
接口,单片机向手机收发一系列的 56 命令,就能达到控
制手机收发 ’(’ 的目的。76’= 的 &’(#)*#+ 中用于 ’(’
收发控制的主要 56 命令见表 %,56 指令的详细说明请
见文献 UMV。
&’( 手机通过异步通信接口实现对 ’(’ 的控制共
有三种 接 入 协 议 :AB2/W (2XG;基 于 56 命 令 的 6GY0
(2XG;基于 56 命令的 ;@Z (2XG。;@Z 模式是发送或接
用单片机控制手机收发短信息
长沙电力学院 3M%##)))李 鸿
摘 要:介绍用 (:’[+% 系列单片机控制手机收发短信息的原理、硬件电路、;@Z 数据格式和符
合 &’(#)*#+
要求的短信息发送 L接收程序,同时给出了一个应用实例。
关键词:单片机 短信息 ;@Z &’( 接口
计算机应用
"M
欢迎邮购本刊 !""#$!""" 年光盘版,每套 !%% 元《电子技术应用》&%%’年第 !期
()(* +,- 类型 ). ,/ +0, ,*( 1+ -,2 -,(%$!3%45676)
()(* +,- 类型 8/ +0, ,*( (*9( -,2 -,:%$!3%45676 ;
收手机 ()( 信息的一种方法,短信息正文经过十六进制
编码后被传送。目前,+,- )4<7 应用最为广泛,基本上
全国所有的电信局都提供支持 +,- )4<7 的短消息业
务。有些地方则不支持 97=6 )4<7 和 >?45@ )4<7,这就
限制了这两种接入协议的应用,而且 +,- )4<7 已有取
代 >?45@ )4<7 的趋势。为了保证系统具有广泛的适用
性,本文采用 +,- 模式收发 ()(。
+,- 相当于一个数据包 A它由构成短消息 :()(;的信
息组成。作为一种数据单元 A它必须包含源 B 目的地址、保
护(有效)时间、数据格式、协议类型和正文,正文长度可
达 !3% 字节,它们都以十六进制表示。+,- 结构根据短
消息由移动终端发起或以移动终端为目的而不同。
当由移动终端发起时 A+,- 的格式为:
当以移动终端为目的时 A+,- 的格式为:
其中,()(* 为短消息业务中心地址 A,/ B 8/ 为源 B
目的地址 A+0, 为协议识别 A,*( 为数据编码 A-,2 为用户
数据长度 A-, 为用户数据 A1+ 为有效时间 A). 指明是发
出信息 A(*9( 指明短消息到达业务中心的时间。
! "#$ 格式下短信息的接收
根据设置不同,手机将收到的短消息保存在缓存单
元或存入 (0) 卡,单片机从手机中接收短消息实质上就
是从 (0) 或缓存中读出信息。这主要利用 /9C*)D. 和
/9C*)D2 两条指令来完成,其工作过程见图 &。
由于不同的厂商对 /9 指令集的解释代码和响应信
息不一样,所以单片机首先要确认能否与手机建立起通
信,一般用 /9E 指令完成此确认;然后用 /9C*)DF 指
令选定短消息的数据格式;在收到手机的正确回答后以
/9 指令完成读出功能。一般用 /9C*)D2 读取以前的信
息,在收到手机的 .0GD(振铃)数据时,用 /9C*)D. 读
取实时信息。
以下是笔者设计的物流数据采集系统中用到的接
收 ()( 的一个实例,它说明了 +,- 模式的应用。单片机
发送和接收 (手机回答)均为 /(*00 码。所用手机为
(0E)EG( (’#%HI。
操作过程如下(JK内为注释 ;:
发送:/9E
手机回答:8L J已建立联接 K
发送:/9C*)DFM% J选用 +,- 格式 K
手机回答:8L J允许选择 +,- 格式 K
发送:/9C*)D2M& J列出已有的短信息 K
手机回答:C*)D2:!A&AA&3J! 表示信息个数,& 表
示未发信息,&3 表示信息总容量 K
%,"!NH’!%H’O%!%#F%%3%%%,H!NH’!O"!’’&%HF!%%%%%
&N%H%3!%%’’H%&N’&!H3*FNH&,"#E%,*&>’N,’,!O%/%&
3’!%N"’’,"O/%&3’!%N"’’,"O/%&3#!%NH>!"H’3"&N%H
8L
以上这组 +,- 格式的十六进制字符串,不但包含了
短消息的内容,同时包含了发送者的手机号码、短信息
中心号码、短消息发送时间等。
下面对信息内容进行分析:
%,:短信息中心地址(号码)长度。
"!:短信息中心号码类型,"! 是 98G B G+0。98G B G+0
遵守 0P67QPR6I4PR? B ES!N3 标准,指在号码前需加‘C’号 T此
外还可有其他数值,但 "! 最常用,详见文献 U!V、U&V。
NH’!%H’O%!%#F%:()(* 短信息所使用的服务中心
号码 !’H%O’!%#%%。它经过十六进制以字节为单位的高
低半字节换位处理,号码是奇数的添 F,构成一个 WEX
字节。
%3Y+,- 类型,文件头字节,详见文献 U&V、U3V。
%>:主叫号码长度。
H!:主叫号码类型。
’!O"!’’&%HF!:8/ 主叫号码,也经过了处理,实际
号码为 !’"O’!&’H%!。
%%Y +0,,为协议标识。
%%:,*( 短信息编码类型是 D() ,7ZR[?6 /?\]R^76,
即由 O 位 /(*00 码移位组成 H 位十六进制码 (45676),其
方法见表 &。
%&N%H%3!%%’’H%:(*9( 短信息发送时间,%& B %N B %H B
!3Y%%Y’’S%H。
&N:-,2 经处理后的 H 位码 (45676)短信息字节长
度,它小于短消息 /(*00 码的长度。
’&!H3*FNH&,"#E’%,*&>’N,’,!O%/%&3’!%N"’’,"
O/%&3’!%N"’’,"O/%&3#!%NH>!"H’3"&N%H:-, 编码后的
+,- 数 据 , 短 信 息 内 容 “&%%& B %N B %H B !’Y3H0,!%&8L
计算机应用
本刊投稿邮箱 !!"#$%&’!(&)*(&% 《电子技术应用》"##$年第 %期
% & ’()* +# ,- ,. ,/ ,$ ," ,% ,#
"01()* 2% 2# +- +. +/ +$ +" +%
$31()* 4" 4% 4# 2- 2. 2/ 2$ 2"
/ ’(()* 5$ 5" 5% 5# 4- 4. 4/ 4$
. ’(()* 6/ 6$ 6" 6% 6# 5- 5. 5/
- ’(()* 7. 7/ 7$ 7" 7% 7# 6- 6.
8 ’(()* 9- 9. 9/ 9$ 9" 9% 9# 7-
表 " 8:;’ ,<2== 码转成 > 位 95? 码的方法
表 $ 短消息有效时间计算
@A 值 短消息有效时间长度
#B%/$ (@AC%)D. 分钟
%//B%-8 %" 时CE@AF%/$GD$# 分
%->B%H- % 天D(@AF%--)
%H8B".. % 周D(@AF%H")
=4%#$IJ =4"#%6,=K”。
+ 短信息的发送
与接收短消息一样,发送时也要先建立联接,传送
一些初始化指令,然后发送短消息内容。下面是用
<=5L5M< <$.#>; 发 送 一 个 短 信 息 的 例 子 N 内 容 为 :
“"##" O #- O #> O %$!/> =4%#"IJ =4%#$IJ =4"#%6,=K”。其
,<2== 码为:“$"$#$#$""6$#$-"6$#$>"6$%$$$,$/$>"#
/H//$%$#$"/6/+"#/H//$%$#$$/6/+"#/H//$"$#$%/-/%/H/2"#”。
发送:,P5 Q请求建立联接 R
手机回答:IJ Q已建立联接 R
发送:,PC2L76S# Q选择 A4T 模式 R
手机回答:IJ
发送:,PC2
H%->$%#>8#%$#.6#%%###+>%$%8H%$$"#>6%##
##,,"-$"%>/26->"4H.5$#42"+$-4$4%8#,#"/$%#-H
$$4H8,#"/$%#-H$$4H8,#"/.%#->+%H>$/H"-#>%,
不计最初 H 个短信息信元字节,本短信息有 ." 字
节 (%#/ 个字符)。,PC2L7< 仅说明了 :短信息信元 $%#>8#%$#.6#:短信息中心号码:>-%$>#8$%#.##。
%%:A4T %:被叫号码类型。
$%8H%$$"#>6%:被叫号码 %$H8$%"$>#%。
##:协议标识,详见文献 \"]。
##:短信息编码类型是 7/26->"4H.
5$#42"+$-4$4%8#
,#"/$%#-H$$4H8,#"
/$%#-H$$4H8,#"/.%#
->+%H>$/H"-#>:编码
后的 A4T数据,短信息内容为“"##" O #- O #> O %$!/>=4%#"IJ
=4%#$IJ =4"#%6,=K”。
%,:,<2== 码 2PYKZ[:报文结束标志。
, 应用情况及常见主要问题的解决
笔者用 L2G\<]
(收稿日期:"##"F#>F"#)
计算机应用
"-