摘 要:选用51单片机和GSM远程通信模块,设计实现了家用电器远程控制系统。客户可利用手机短信,借助移动通信网络实现对家用电器的开关等远程控制。该系统具有用户身份信息和用户指令自动识别等功能,操作简单,实用性强,具有广阔的应用前景。
关键词:单片机;GSM模块;远程控制;手机短信
随着电子信息等高新技术的快速发展,大量采用电子技术的电器产品进入大家的生活。人们在从众多电子产品中得到极大方便的同时,也对其进一步发展提出了更高要求,智能化便是其中之一。家用电器远程控制的实现,可极大地提高城市生活的品质,其研究和实现非常有意义[1]。
1 系统功能需求分析
(1)用户身份识别
用户身份识别是保证系统安全必不可少的环节,有电话号码识别和密码验证两种,本系统中选择电话号码识别。电话号码可以在用户使用该系统时由单片机直接进行识别,无需用户进行额外操作,可有效提高控制效率。
(2)控制指令发送与接收
控制指令的发送与接收是远程控制系统中远程通信的核心内容,有线通信和无线通信均能满足该功能需求。其中有线通信的通信介质常见的有固定电话网络和互联网,但是其使用场所常限于室内,并且需要通信线缆及信号的覆盖。无线通信则基本不受线缆的限制,特别是移动电话广泛使用的GSM网络,基站分布多,信号覆盖范围广,为远程控制提供了极好的信号支持;另外控制设备(即手机)普及率高,携带方便,可随时随地进行远程控制。
(3)远程控制终端的识别
用户向该系统发送指令的途径有发送双音多频信号和发送短信两种。发送双音多频信号需要进行语音呼叫,且系统需要提供语音提示,引导用户操作,系统设计上较为复杂。发送短信则方便快捷,系统只需要预设一个数字对应一个家用电器的工作状态,如“1”和“2”分别对应电灯的开和关,用户只需发送一条内容为单一数字的短信到GSM模块,即可实现相应电器的控制。发送短信比语音呼叫的等待时间短,时效性强。另外考虑到运营商的收费问题,发送短信比语音呼叫廉价,故通过短信发送指令的经济性较高。
(4)良好的人机对话界面
考虑到被控对象较多时,为避免错误操作,需要提供控制指令提示的功能。方法同样为语音提示和短信提示两种。语音提示需要语音模块提前保存提示内容,然后在用户需要提示时播放该段语音,但是当被控对象较多时,语音则会很长,实时性较差。短信提示则只需要GSM模块向用户手机发送一条短信,然后用户可以立即获得所需信息,等待时间短。因此系统选用短信提示。
2 系统构成及工作原理
系统结构图如图1所示。系统利用用户手机与GSM模块通过GSM网络实现远程无线通信。用户通过手机向GSM模块发送数字短信作为控制指令,GSM模块收到短信后将短信代码发送到单片机,单片机作为控制器,对短信代码进行解码,提取并识别用户身份以及控制指令,识别后通过I/O口控制继电器的通断,从而控制家用电器。
当用户需要获取提示命令时,向GSM模块发送内容为“0”的短信,单片机接收到GSM模块发送的代码以后,对用户身份和控制指令进行提取和识别,控制GSM模块向用户手机发送提示信息。
(1)用户手机:向GSM模块发送控制指令,接收提示短信息,实现远程通信。
(2)GSM模块:接收用户手机的信号(包括短信和呼叫),并将串行数据发送到单片机;接收单片机发送的AT指令,执行发送短信等操作。
(3)单片机:接收并处理GSM发送的串行数据,从而执行识别用户身份、识别用户指令、控制继电器开闭等操作;存储数据,保存提示信息的发送代码;向GSM模块发送AT指令。
(4)继电器:作为开关电路控制家用电器的通断。
3 系统硬件的设计
本系统硬件设计的核心为51单片机和GSM模块,围绕这两部分,硬件设计分为以下几个方面。
3.1 单片机与GSM模块通信连接
GSM模块与51单片机间的通信为串行通信。GSM模块的串行数据输入口为“RXD”,串行数据输出口为“TXD”。51单片机串行数据传输需使用P3口的第二功能,其中P30为串行数据输入口,P31为串行数据输出口[2]。
考虑到电平匹配的问题,采用RS232电平转换电路。电路连接图如图2所示。此电路可以实现GSM模块与单片机的串行通信,GSM模块接收到上位机的信号后,便将数据传送到单片机;单片机通过此电路向GSM模块发送AT指令。另外,将MAX232芯片的“GSM_TXD”和“GSM_RXD”引脚通过串口线与计算机连接,就可以通过计算机监视串口收发情况,供系统调试使用。
3.2 远程控制终端的设计
单片机控制家用电器方法有很多,包括继电器控制、红外控制、无线电控制等。这几种方法中,继电器控制最为简单,只需要一个通用I/O口即可控制一个继电器。单片机通过继电器控制家用电器,电路图如图3所示。
4.2 发送汉字信息
单片机通过GSM模块发送汉字短信息为AT指令的应用,简单步骤如下:(1)发送“AT+CMGF=0”,设置短信模式为PDU,返回“OK”,设置成功;(2)发送“AT+CMGS=<length>”,设置短信息长度,根据信息内容长度确定length取值,返回“>”;(3)写入短信代码,格式为PDU格式;(4)发送16进制数“1a”,发送短信;(5)结束[3]。
4.3 系统总流程图
系统总流程图如图4所示。
5 系统测试
本设计已经完全实现了硬件和软件的设计与调试,实现了通过发送短信息对普通家用电器的开/关机操作。系统测试如下:
短信控制:当发送短信“1”到GSM模块的手机号时,系统控制的继电器闭合,与之相连的电灯点亮;当发送短信“2”时,继电器关断,电灯随之熄灭。
获取提示信息:当发送短信“0”到GSM模块的手机号时,系统立即向用户发送一条提示短信息,简单明了。
以上两个功能相对独立,相互无影响,用户可根据实际情况决定是否需要提示。
系统调试时,GSM模块串行口收发状态如图5所示,用户成功接收提示信息,如图6所示。
系统测试结果表明,该系统运行稳定、可靠,系统可拓展性很强,实际应用中可根据需要添加很多应用对象。同时也可以补充增加红外控制、无线电控制等终端控制设备,操作也相对简单,从而控制更多不同原理的家用电器。另外,该系统在工农业领域也有广泛的应用空间。
参考文献
[1] 师文庆,张智勇,陈用.基于DTMF与单片机的电话远程和红外近程测控系统[J].电子技术应用,2007,33(7):81-83.
[2] 张毅刚,彭喜源.MCS-51单片机应用设计[M].哈尔滨: 哈尔滨工业大学出版社,2007.
[3] 李树江,李楠.基于GSM的中央空调末端控制器研究[J].电子技术应用,2009,35(9):50-53.