APP下载

基于SMS的智能家居远程控制模块设计

2015-09-09许林叶玮琼成凯丽

计算技术与自动化 2015年2期
关键词:短消息串口指令

许林+叶玮琼+成凯丽

摘 要:本文主要利用串口通信技术和AT指令集设计了一个基于短信(SMS)的远程控制模块。用户可通过手机发送短信实现对接入主机的家居设备控制。文章阐述了该控制模块的硬件设计、PDU模式下短息编码规则、软件设计等内容,搭建一个以三星S3C2440处理器为核心的控制平台用以完成对数据的分析和处理。该设计基于GSM通信系统,保证了控制模块具有很强的可靠性和稳定性。该模块经实验测试验证了其可行性,为工程应用提供了一种解决方案。

关键字:GSM;短消息服务;AT指令;串口通信;智能家居

中图分类号: TP399                       文献标识码:A

Design  of  Intelligent  Home  Furnishing Remote  Control  Module  Based  on  SMS

XuLin*,Ye WeiQiong,Cheng KaiLi

(School of Computer and Communication, Hunan University of Technology, HuNan Zhuzhou  412000, China)

Abstract:This paper using serial communication technology and AT instruction set to design a remote control module based on SMS. The user can through the mobile phone to send text messages to control the Home Furnishing equipment which bring in control center.This paper introduces the design of hardware, analyzes SMS encoding rules under the PDU mode,software design about the module, and built a control platform based on Samsung S3C2440 processor as the core to finished data processing. The design of communication system based on GSM, make sure the control module has strong reliability and stability. The module tests to validate its feasibility, provides a solution for the application in engineering.

Key  words :GSM;SMS;AT;Serial communication;Intelligent Home Furnishing

1 引言

智能家居是指利用计算机技术对接入主机的各种家居子系统进行网络化的控制和管理,以实现一种全新的家居体验。常使用智能手机或平板电脑作为控制终端实现对家居子系统的控制和管理。本文所设计的控制模块基于传统的GSM网络,通过SMS(短信息服务),结合计算机串行通信技术,采用AT指令的通信方式实现对接入主机的家居子系统的控制和管理[1]。相对于依靠智能手机或平板电脑使用APP(Application)的控制方式,采用传统的GSM短消息方式则更加方便快捷,并且保证了非智能机用户和老人同样可享受智能家居所带来的全新体验。本文主要介绍控制模块的硬件设计、短消息的编码与解码、控制模块软件设计实现等内容。

2 硬件平台设计

控制模块硬件结构设计框图如图1所示,硬件设计主要包括以三星S3C2440微处理器为核心搭建的控制平台、GPRS-Modem经通用异步收发器(UART)接入控制平台、家电设备通过I/O总线扩展接入控制平台。

硬件结构主要包括嵌入式微处理器和GPRS/GSM通信模块,其中微处理器采用韩国三星公司的一款基于ARM 920T内核的嵌入式微处理器S3C2440,该处理器主要面向手持设备以及高性价比、低功耗的应用场景,且具有功耗低、外设接口齐全的特点 [2] 。GPRS/GSM通信模块选用西门子公司生产的TC35i,支持GSM900/GSM1800MHz双频、1个RS-232串口接口、串口速率1200bps~115200bps。

串行通信是完成处理器单元和外设之间数据通信的常用方式,在使用串口通信之前需对串口进行初始化配置。串口使用过程包括三部分:打开串口、配置串口、数据传输。本文采用RS-232C串行接口,其中电压在-3V~15V表示逻辑0、+3V~+15V表示逻辑1。

处理方式方式

短消息服务(SMS)是GSM通信系统所提供的一种数据传输服务。通信特点是源端与目标端不需要建立连接,源端将短信内容和目标号码发送至短信服务中心暂存,当目标端接入GSM网络后,短信服务中心将短信内容发送到目标端。GSM系统支持三种模式的短消息服务协议:Block Mode、Text Mode、PDU Mode。如今最常用的是PDU模式,其特点是可以传输除ASCII以外的汉字、图像等数据。在PUD模式中短信内容可分为三种编码方式:7bit编码、8bit编码、UCS2编码。本文采用的是PDU模式下的UCS2编码方式,此编码方式最大特点在于支持Unicode(统一码)字符集,支持中文短信发送,一次性最大可传输70个字符[3]。

3.1 短信服务相关的AT指令

AT(Attention)指令集是一套用于从终端设备(Terminal Equipment,TE)到终端适配器(Terminal Adapter,TA)之间数据交换的指令集合,AT指令是目前手机通讯中最常用的控制指令, 通过它可以实现手机的拨号、发短信等功能。本文所设计的控制模块使用AT指令实现GPRS-Modem与控制平台之间数据通信,完成短信的接收、短信发送、以及其他数据的传输功能。短消息服务中常用的AT指令有[4]:

AT+CSMS  //选择GSM的SMS业务;

AT+CMGF  //选择短信格式 1:Text模式,0:PDU模式;

AT+CMGR  //读取短信;

AT+CMGS  //发送短信;

AT+CMGD  //删除短信;

AT+CSCA  //短信中心号码;

3.2短信息的编码规则分析

本文所描述的短信服务采用PDU模式下UCS2的编码规则。UCS2 编码是指将单个的字符按IEC10646 的规定,转变为16 位的Unicode 宽字符,即将单个的字符转换为由四位的‘0-‘9、‘A-‘F的数字和字母组成的字符串。中文编码严格按照Unicode字符编码规则进行编码,英文编码时,由于其本身为一个ASCII码,则在ASCII前加0补齐Unicode格式的16个字符即可。当完成对短信内容的编码,接着就开始进行PDU 字串的编制。PDU字串同样为一个由‘0-‘9、‘A-‘F组成的ASCII码串[5] 。PDU字串基本组成元素如表1所示:

表1 PDU字串组成元素

控制模块选取“客厅灯”和“客厅空调”这两个家居子系统作为模拟测试对象,对这两个子系统的控制命令包括开客厅灯、关客厅灯、开客厅空调、关客厅空调,与之对应的短信内容为命令大写首字母组合,对应的UCS2编码如表2所示。控制中心在检测到命令控制完成后,需将控制结果回馈给客户手机端,具体回复内容包括成功开启、成功关闭、控制失败,对应的短信内容和UCS2编码如表3所示:

表2 控制命令编码对应表

控制命令选取“开客厅灯”为例进行短信解码分析,手机编辑短信内容“KKTD”以控制平台绑定号码为目标地址发送短信。则控制平台接收短信主要通信过程如下所示:

AT  //向Modem发送AT命令;

OK  //Modem回复OK,表示连接成功;

AT+CMGR=1 //从Modem读取SIM卡里的第一条短信;

+CMGR:   //Modem返回SIM卡中的短信数据;

>0891683108200505F0240D91683150781765F100084190102103000004

>4B4B5444

AT+CMGD=1  //删除SIM卡中第一条短信;

从Modem返回的数据中第一行是短信的相关属性,例如短息的发送者、短信中心号码、发送时间、短信内容长度等,第二行表示短信的内容。

根据PDU字串组成元素表以及短信服务接收端的编码格式对收到的字串解码,结果如表4所示:

表4 PDU接收字串组成格式

短信解析结果为:短信服务中心号码是+8613800100500,发送方号码是13058771561,短信内容是“KKTD”,发送时间是:2014-09-01 12:30:00。

控制结果选取“成功开启”为例进行反馈过程短信编码分析,目的为向13058771561发送一条短信,短信内容为:“成功开启”。根据PDU字串组成元素表以及短信服务发送端的字串格式进行PDU字串的构造,构造结果如表5所示:

表5 PDU发送字串组成格式

0891683108100005F031000D91683150781765F10000A7  08  6210529F5F00542F;

PDU Type:31 表示要求发送回复;

格式化的短信中心号码:0891683108100005F0;

计算短信长度:PDU字串长度除以2结果用十进制表示 46位/2=23;

控制平台使用AT指令发送短信过程如下所示:

AT   //向Modem发送AT;

OK   //Modem返回OK表示连接成功;

AT+CMGF=0  //指明短信模式为PDU模式;

OK   //Modem就绪;

AT+CMGS=23 //发送短信,指明短信长度23;

> 0891683108100005F031000D91683150781765F10000A7086210529F5F00542F(">"表示输入发送内容:短信中心号码+PDU字串Ctrl+Z发送,串口有OK回复表示短信发送成功)

4软件设计实现

控制模块软件设计主要包括GPRS-Modem、控制平台、控制程序三部分。软件设计结构如图2所示:

图2 模块软件设计框图

GPRS-Modem通过接收来自控制平台的AT指令,完成对短息的接收和发送。

控制平台完成系统上电初始化、对接收到PDU字串的解析以及反馈信息的PDU字串的构造等功能。系统上电后首先对串口进行初始化配置,配置串口相关的主要参数有:波特率为115200bps、无奇偶校验位、停止位1位、数据位8位、采用硬件流控等。完成对串口配置后从控制平台向Modem发送命令:“AT”,若串口回复“OK”则表示串口配置成功。完成初始化后,若检测SIM卡中有短信到达,通过AT+CMGR指令从Modem读取SIM卡里信息,在控制平台中完成对短息的解析,解析过程如上文分析所示。解析完成后将解析的命名交给控制程序进行命令控制操作,最后使用AT+CMGD指令删除SIM卡里的信息。

控制程序设计为一个多道分支程序,以接收到的短信内容作为参数进入对应的分支,执行具体的控制操作,控制完成后将控制结果返回给控制平台完成对控制结果的编码和PDU字串构造处理。使用AT+CMGS指令将回馈信息发送回用户手机。

5结束语

本文设计了一种基于SMS的智能家居远程控制模块,文章阐述了短信息服务的原理和AT指令集等内容。GSM网络具有覆盖面广且远距离通信可靠性高等特点,模块依赖于GSM网络能保证控制过程的稳定、可靠。短消息服务(SMS)具有操作方便、实时性好、价格低廉等特点,以手机作为控制终端使得控制操作简单灵活,同时免去了对用户端的开发,降低研发成本。本文设计的控制模块经实验验证成功,为实际工程应用提供了一种快速、高效的远程控制解决方案。

参考文献

[1]  李志伟.基于AT指令的串行通信程序的设计[J].微计算机信息,2007,23(3-3 ):272-274.

[2]  张 豪,杨春燕,汪筱阳.S3C2440A芯片及应用[J].电子设计工程,2011.12,19(24):26-34.

[3]  魏志强,黄亮.基于短信的远程控制与追踪系统设计与实现[J].微处理机,2011.6,3:92-95.

[4]  张立材,王荣.基于短信息的智能家居控制技术研究[J].工业控制计算机,2014,27(4):91-92.

[5]  陈姚节,卢建华.基于手机短信远程控制系统的研究与设计[J].网络与通信,2010,26(11-3):31-33.

猜你喜欢

短消息串口指令
一样,不一样
《单一形状固定循环指令G90车外圆仿真》教案设计
新机研制中总装装配指令策划研究
基于北斗通信终端的数据转发控制器设计
MCS—51单片机中的多串口通讯技术的应用
全国计算机等级考试机房准备工作探讨
微机串口的测试诊断
移动网短消息业务流程及案例分析
小灵通里的父爱
太空第一人