《单片机控制GSM模块实现短信收发的技术及应用.pdf》由会员分享,可在线阅读,更多相关《单片机控制GSM模块实现短信收发的技术及应用.pdf(4页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、单片机控制 G S M模块实现短信收发的技术及应用 牛丹,等 单片机控制 G S M模块实现短信收发 的技术及应用 S i n g l e-c h i p Co mp u t e r Co n t r o l GSM Mo d u l e S MS Tr a n s c e i v e r T e c h n o l o g y a n d A p p l i c a t i o n s 牛 丹 买和 木提2 周 澄2 翁 多杰2 (1 东南大学自动化学院江苏南京2 1 0 0 9 6;2 河海大学 江苏南京2 1 0 0 0 0)摘 要 介绍用 8 9 S 5 2系列单 片机控制 G S M
2、模块和手机进行通信、收发短信 息的原理、硬件 电路,准 确详细的短信息发送和接收数据格式,同时给 出应用实例。关键词 单片机;短信息;P D U;G S M 中图分类号 T P 2 文献标志码 B G S M系统是 目前基于时分多址技术 的移动通讯 体制中比较成熟、完善、应用最广泛的系统之一。目 前已建成的覆盖全国的 G S M数字蜂窝移动通信 网,是我国公众移动通信网的主要方式,其主要提供话 音、短信息、数据等多种业务 J。基于 G S M短消息功 能可以做成传输各种检测、监控数据信号和控制命 令的数据通信系统,能广泛用于远程监控、定位导 航、个人通信终端等,同时随着科技 的飞速发展和 人民
3、生活水平的不断提高,手机的普及率越来越高,价格也越来越便宜,而且手机工作的无线网络覆盖 范围广,在信息传递方面性能稳定、可靠,所以把手 机作为信息传递的载体,与单片机控制的 G S M模块 结合起来构成应用系统有 着强大 的生命力和广阔的 应用空间 J。通过设计基于 G S M模块 的用手机控制 的自动水闸,对用单片机控制 G S M模块和手机通信、收发短信息进行探讨。1 G S M模块 采用 WA V E C 0 M M1 2 0 6 B G S M G P R S M O D E M,它自带 R S 2 3 2 通讯接 口,可以方便地与 P C机、单片 机连机通讯,可靠地实现数据、传真、短
4、信息及话音 应用。它可以工作在9 0 0 M H z 和 1 8 0 0 M H z 2个频段。模块有 A T命令集接口,支持文本和 P D U模式的短消 息、第3类传真。WA V E C O M M 1 2 0 6 B模块的工作电 压为5 3 2 V,实际一般为 1 2 V,通过微型 F I T 4插头 连接器,实现电源连接。用户可以用单片机或其它 C P U的 U A R T口,使用相应的 A T命令,对模块进行 控制,就可以达到使其产品轻松进入 G S M 网络的 目的。2 串口控制 S MS的工作原理 2 1 单片机与 G S M模块的硬件连接 单片机与 G S M 模块一般采用串行异
5、步通信接 口,通信速度可设定,通常为 9 6 0 0 b p s。采用这种 R S 2 3 2电缆方式进行连接时,数据传输的可靠性较 好,单片机硬件设计采用 1个 T T L转 R S 2 3 2电平 电 路,连接到 M C U的 U A R T口。所涉及的芯片包括单 片机 8 9 S 5 2和 电平转换芯片 MA X 2 3 2。具体 的硬件 电路如图 1 所示。VCC M AX2 3 2 图 1 r r L转 R S 2 3 2电平 电路 2 2 G S M的短信息通信原理 G S M的短信息业务 S M S利用信令信道传输,它 不用拨号建立连接,把要发的信息加上 目的地址发 送到短信息服
6、务 中心,经短信服务中心完成存储后 再发送给最终的信宿。所以当目的G S M终端没开机 时信息不会丢失。每个短信的信息量 限制为 1 6 0 字节。现在市场上大多数手机均支持 G S M0 7 0 5规定 的A T指令集。该指令集是 E T S I(欧洲通信技术委员 会)发布的,其中包含了对S M S 的控制 J。利用 G S M 7 一 仪器仪表与分析监测)2 0 0 8年第4期 模块 的串行接 口,单 片机 向 G S M 模块 收发一系列的 A T命令,就能达到控制 G S M模块 收发 S M S的 目的。用单片机控制 G S M模块收发短信息所涉及到的 A T 指令如表 1 所列。表
7、 1 主要 A T指令 3 单片机控制 G S M模块的软件实现 3 1 方式简介 WA V E C O M M1 2 0 6 B G S M模块 有 3种方式来发 送和接收 S M S 信息:B l o c k M o d e,T e x t M o d e 和 P D U Mo d e。B l o c k Mo d e目前很少应用。T e x t Mo d e是纯文 本方式,可使用不同的字符集,从技术上说也可用于 发送 中文短消息,但 国内手机基本上不支持,主要用 于欧美地区。P D U M o d e 被所有手机支持,可以使用 任何字符集,这也是手机默认的编码方式 引。下面 介绍在 P
8、D U Mo d e 下发送和接收短消息的实现方法。P D U串表 面 上是 一 串 A S C I I码,由 0 9、A F 这些数字和字母组成。它们是 8 位字节的 l 6 进制数。P D U串不仅包含可显示的消息本身,还 包含很多其它信息,如 S M S服务中心号码、目标号 码、回复号码、编码方式 和服务时间等。发送 和接收 的 P D U串,结构是不完全相同的。从原理上说,使用 单片机控制 G S M模块和手机通信 只要简单的把包 含 A T指令的相应的 A S C I I 码组成的 P D U串用程序 从串口发出去就可以实现,但实际它也有严格的格 式。关于这个格式,本文下面从发短信和
9、接收短信 2 个方面进行详细的介绍。3 2 发送短消息 A T指令为 A T+C M G S=要通信的目的电话号 码,例 如 1 3 8 1 3 0 8 3 4 8 3,假定 发 送 内容 为英 文 大 写 O K,则单片机发送到串口的 P D U串的结构和编排方 式如下:一8 0 x 41,0 x 5 4,0 x 2b,0 x 4 3,0 x 4d,0 x 4 7,0 x 5 3,0 x 3d,0 x 31,0 x 33,0 x 3 8,0 x 31,0 x 3 3,Ox 3 0,0 x 38,0 x 3 3,0 x 3 4,0 x 3 8,0 x 3 3,0 x 0 d,0 x 0 a,0
10、 x 4 f,0 x 4 b,0 x l a 上述编码分 5 部分,具体解释为:0 x 4 1,0 x 5 4,0 x 2 b,0 x 4 3,0 x 4 d,0 x 4 7,0 x 5 3,0 x 3 d分 别为 A T+C MG S=的 1 6进制 A S C I I 码 O x 31,0 x 3 3,0 x 3 8,0 x 31,0 x 3 3,0 x 3 0,0 x 3 8,0 x 3 3,0 x 3 4,0 x 3 8,0 x 3 3为通信对方手机号码 1 3 8 1 3 0 8 3 4 8 3 的 l 6进制 A S C I I 码 O x O d,0 x 0 a为 1 个 回车符
11、和换行符的 A S C I I 编码 0 x 4 f,0 x 4 b 为待发送内容的 A S C I I 编码,此例子 为英文大写 O K的 A S C I I 编码 O x l a为键盘操作 C t r l+z的 A S C I I编码 注意:单 片机 向 G S M模块发送每 1条指令后,必 须以1 个回车符和换行符作为该条指令的结束。如 果没有 0 D H,0 A H这 2个编码,G S M模块将不识别这 条指令。3 3 接收短消息 A T指令为 A T+C MG R=序号,如 l,2等,表示读 取卡中收到的编号为 1,2的短信内容,但因为我们不 知道最新接收的短信编号为多少,所以使用这
12、条 A T 指令将很难读到最新短信。现采用的 A T指令为 A T +CNMI=2,2。“A T+C N MI”指令,主要用于设定 当有短消息到 达时,进 行处 理。“A T+C N MI”指 令 语 法为 A T+C N MI=,现设定为 A T+C N M I=2,2。具体意 义如下:第 1 个 2代表有短消息到达时通知 T E,在数据 线被 占用的情况下,先缓 冲起来,待数据线空 闲,再 行通知。第2 个2表示把新短信息储存到S I M卡,并且向 T E发出通知。通过上述的分析,可知若要 G S M模块接收信息,首先单片机要通过 串口发送 到 G S M模块 的 P D U 串 的结构和
13、编排方式如下:O x 4 1,0 x 5 4,0 x 2 b,0 x 4 3,0 x 4 e,0 x 4 d,0 x 4 9,0 x 3 d,0 x 3 2,0 x 2 c,0 x 3 2,O x Od,0 x 0a 编码分 2部分:0 x 41,0 x 54,0 x 2b,0 x 4 3,0 x 4 e,Ox 4 d,0 x 4 9,O x 3d,0 x 3 2,0 x 2 c,0 x 3 2为 A T+C N MI=2,2的 1 6进 制 A S C I I 码。注意:当G S M模 块接收 到 1条完整 的 A T指令 单片机控制 G S M模块实现短信收发的技术及应用牛丹,等 后,G
14、S M模块并不立 即执行这条指令,而是先把刚才 接收到的 A T指令 的全部 A S C I I编码序列全部反 发 送出来(含 0 D H,0 A H),如果通信成功的话,还会接 着回送大写英文 O K的 A S C I I 编码。因此单片机接 着会通过串口从 G S M模块接收到下列 P D U串:61 7 4 2 B 6 3 6E 6D 6 9 3D 3 2 2 C 3 2 OD 0A 0D 0A 4F 4B 0 D 0A 编码分 3部分:6 l 7 4 2 B 6 3 6 E 6 D 6 9 3 D 3 2 2 C 3 2为 a t+c n i n i 2,2的 1 6进制 A S C
15、I I 码 O D 0 A同上为结束字符 0 D 0 A 4 F 4 B 0 D 0 A为通信成功回送的O K编码 上面的这个 P D U串接收完后,G S M模块处于等 待状态,只有当接收到手机发送来的短信后,G S M模 块才会接着把收到的短信通过串口传人单片机。注意:G S M模块向单片机传送短信息内容时,其 P D U数据包的内容是以 1 6 进制表示的数据,但并 不是直接向单片机传递 1 6进制数据,而仍然是把每 1位 1 6进制数 以 A S C I I 编码来 发送。这样,2个字 节的 l 6 进制数就变成 4字节的 A S C I I 码L 2。但是,P D U数据包中的数据字
16、节长度部分仍然是实际字节 长度,而不是变成 A S C I I 码 的字节长度,这在 编程 时 应特别注意,否则接收的数据会不正确。下面为接收到的短信 P D U串的结构 和编排 方式:下面为接收到手机号为 1 3 8 1 3 0 8 3 4 8 3的人发来 的内容为 a 的短信 P D U串:0D 0A 2B 43 4D 5 4 3A 2 O 2 2 31 33 3 8 3 1 3 3 3 0 3 8 3 3 3 4 3 8 3 3 22 2C 2C 2 2 3 0 3 7 2 F 31 3 0 2F 3 2 3 6 2C 3 2 3 0 3A 3 0 3 8 3A 3 5 3 0 2B 3
17、 3 3 2 2 2 OD 0A 61 0D 0 A 编码分 5部分:0 D 0 A 2 B 4 3 4 D 5 4 3 A 2 0为+C M T:和空格 的 1 6进制 A S C I I 码;2 2 3 1 3 3 3 8 3 1 3 3 3 0 3 8 3 3 3 4 3 8 3 3 2 2为“1 3 8 1 3 0 8 3 4 8 3”的 1 6进制 A S C I I 码;2 C 2 C 2 2 3 0 3 7 2 F 3 1 3 0 2 F 3 2 3 6为,“0 7 1 0 2 6”的 1 6进制 A S C I I 码,表示 日期;2 C 3 2 3 0 3 A 3 0 3 8
18、 3 A 3 5 3 0 2 B 3 3 3 2为,2 0:0 8:5 0+3 2 的 l 6进制 A S C I I 码,表示时间;0 D 0 A 6 1 0 D 0 A为最后短信内容 a;把上面 1 6进制 A S C I I 码 翻译成字符连接起 来为:+CMT:“1 3 81 3 0 8 3 48 3”,“07 1 0 2 6,2 0:08:5 0 +3 2”4 应用介绍 利用上述原理和接口技术完成用手机控制 自动 水闸,系统用手机发送短信控制水闸的开启和关闭,以及开关的高度。单片机连接 G S M模块作为通信的 另一端,在单片机 内编写程序查看 G S M 模块接收到 短信的内容,从
19、而控制电机的正反转来开启或者关 闭闸门。同时系统为 了安全,考虑到接收 的 P D U串 包含有发送方 的手机号,故设置对某 一确定手机号 信息接收进而控制电机,对于其他号码采取屏蔽不 操作。同时还设置把第 1 次接收的短信内容和预先 设置 的密码 比较,只有 密码 正确才进行接 下来 的操 作。通过实践的验证,应用上述原理设计的系统,能 够精确的按照短信的内容控制电机的操作。程序流 程如图2所示。控 制 水 手 动 篙 葬 霎 Y 龟 检 到 信号码是否屏蔽!二 y y 容是R v-l 启动A D 转换读取水位和 二 闸位数值,并把此数据 l 通过短信发送 图 2 程序流程 图 5 结语 本
20、文介绍 了用单 片机控制 G S M模 块的技术,给 出了具体的发送和接收短消息的 P D U串格式,通过 实践,发现此技术在获取和理解 G P R S 及其他通信手 段的通信格式串上也有很大的指导意义。(下转第 1 2页)一9 一 二 仪器仪表与分析监测)2 0 0 8 年第4期 图5 R T L 级仿真波形图 器来提高 F P G A硬件运行速度,对于算法较复杂的 自 下载 到 V i r t e x 2 P 2 v p 2 0 中,实 现 速 度 为 4 1 适应滤波器优化设计具有很 大的实用价值。通过调 5 7 3 M H 的 4阶 L M S自适应滤波器,其速度是文献节 L M S滤
21、波器的步长因子进行仿真分析,给出了相 5 中速度的8倍。使用资源为 1 9 6个 F l i p F l o p s 块,应的仿真结果,进行 的硬件设计验证设计 出了响应 2 0 5个 4输入查找表(L U T s),各 占芯片资源 的 1,9 速度为 4 1 5 7 3 MH z的4阶 L MS自适应滤波器。个 1 8 1 8 嵌入式乘法器,占芯片乘法器的 1 0,表 明实现整个 系统 只需芯片资源 的很小一部 分,剩余参考文献 资源可用于实现后面的信号处理部分功能。通过对 1 邹燕碧,高鹰 自适应滤波算法综述 J 广州 F P G A 基本逻辑单元的使用情况和滤波滤波结果的分 大学学报(自
22、 然科学版),2 0 0 2,1(2):4 4 5 0 析,进一步说 明采用 F P G A实现 L M S算法 的 自适应 2 潘松,黄继业,曾毓 S O P C技术实用教程 M,滤波器是可行的。北京:清华大学出版社,2 0 0 5:1 5 0-1 6 6 3 3 结果比较及其应用 3 覃景繁,欧 阳景正 一种新 的变步长 自适应滤 从上述各个波形 图都 可 以看 出,无论 是算法级 波算 法 J 数据 采集 与 处理,1 9 9 7,1 2(3):仿真还是 R T L级硬件 V H D L代码仿真,结果是一致 1 7 1-1 9 4 的,达到了自适应滤除干扰信号的目的,而且信号失 4 X
23、i li n x S y s t e m G e n e r a to r f o r D S P V e r s i o n 9 1 真较小,证明了硬件(F P G A)实现 白适应滤波的可行 U s e F s G u i d e p d f 2 0 0 7 性。本设计具备灵活的可修改性,可 以根据时间性 5 李国峰 数字通信 中自适应滤波器的研究 D 天津:南开大学,2 0 0 2 4 -4-女 女 电 4-6 4-(上接 第9页)2 李鸿 用单片机控制手机收发短信息 J 电 参考文献 子技术应用,2 0 0 2(1):2 4-2 6 1 王骐,何嘉斌 单片机控制 G S M模块实现短信 3 李艳华,陈慧明 单片机控制 G S M手机的技术 收发的软件设计 J 单片机与嵌入式系统应 及应用 J 单片机与嵌入式系统应用,2 0 0 5 用 2 0 0 5(1):6 3 6 6 (2):7 3-7 5 一l 2 一