基于单片机的智能家居远程控制系统的设计与实现
2012-04-29徐文斌,孙广大,黄健,何显扬,严玺
徐文斌,孙广大,黄健,何显扬,严玺
摘要:该文实现了对家居系统的远程控制功能,通过发送短信可以实现窗户的开与关、热水器的预热、电饭锅煮饭;通过红外人体感应,控制公共楼梯的路灯的开关。
关键词:红外人体感应;单片机;GSM;智能家居
中图分类号:TP271+.4文献标识码:A文章编号:1009-3044(2012) 02-0473-03
Smart Home Based on SCM Remote Control System Design and Implementation
XU Wen-bin, SUN Guang-da, HUANG Jian, HE Xian-yang, YAN Xi
(GuangZhou College of South China University of Technology, Guangzhou 510800, China)
Abstract: Home remote control system was implemented in this paper, can be achieved the widows opening and shutting by send? ing messages , water heaters warming up, rice cooker cooking; besides controlling the public light through the Infrared body sensor.
Key words: Infrared body sensor; SCM; GSM; smart home
智能家居是通过综合采用先进的计算机、通信和控制技术(3C),建立一个由网络服务系统和家庭自动化系统组成的家庭综合服务与管理集成系统,从而实现全面的安便利的通讯网络以及舒适的居住环境的家庭住宅。为了实现智能家居,提高生活质量,在工作回家时也可以预先预热热水器、煮饭,特殊天气情况下,在外也可以远程控制窗户的开关。人离灯亮的这个问题一直困扰着很多人,就如公共楼梯的路灯,如果没人的时候,路灯可以熄灭,节省电力,当有路人经过时,路灯自动点亮,人走了,路灯再熄灭,这样就能够很好的节省了电力资源,而且不影响正常的使用。
1总体设计
本文设计的系统总体功能如图1所示。该智能家居是通过终端控制器发出控制指令,经过无线信号传输到主机,处理后再由不同指令控制家居中不同的设备。本设计系统的工作流程为:通过发送短信到GSM模块上,GSM模块输出信号到单片机,利用单片机控制热水器的预热功能,另外,给普通的电饭锅安装上预约的功能,通过单片机接收到GSM模块输出的信号,实现预先煮饭的功能;在落地窗户的两边安装一个电机,通过滑轮与落地窗的底滑轮连接,通过单片机接收GSM模块输出的信号,在窗户的两端安装行程开关,实现开关窗户的功能。
图1系统总体结构图
2系统硬件设计
2.1硬件总体设计
本论文设计中,采用到STC12C5A60S2单片机、TC35iGSM模块、直流电机、继电器、人体感应模块HC-SR501等硬件来实现功能。系统硬件连接原理图如图2所示。
系统总体功能如下:
①在电饭锅电路板连接上继电器,继电器连接到电饭锅的开关上,单片机控制继电器开关。
②把直流电机与落地窗的滑轮连接,利用电机的正反转控制窗户的开与关。
③路灯的开关与独立的继电器相连,单片机控制继电器开关。
④热水器的开关与独立的继电器相连,单片机控制继电器开关。
2.2单片机控制系统设计
本项目采用51的单片机,是高速/低功耗/超强抗干扰
的新一代8051单片机,指令代码完全兼容传统8051,但速度快8-12倍。内部集成MAX810专用复位电路,2路PWM,8路高速10位A/D转换(250K/S),针对电机控制,强干扰场合。如图3所示是单片机最小系统。
2.3人体感应系统设计
人体的温度与环境温度不同,一般要高于环境温度,而温度不同发出的红外线也不同,开关内部有热释电传感器,它能准确检测到人体所发出的特定波长的红外线,经电路放大过滤处理后就可以用于控制开关。
2.4 GSM TC35I模块
TC35I通信模块具备GSM无线通信的全部功能,并提供标准的UART串行接口,支持GSM07.05所定义的AT命令集的指令因此,MCU能够非常方便地通过UART接口与GSM模块连接,并直接使用AT命令就可以方便地实现短信息的收发、查询和管理。单片机与GSM模块的连接图如图4所示。
2.5电机控制
当窗户上的撞块撞击带有滚轮的撞杆时,撞杆转向右边,顶下推杆,使微动开关中的触点迅速动作,开关马上输出信号到单片机上,命令电机停止转动。当运动机械返回时,在复位弹簧的作用下,各部分动作部件复位,输出信号到单片机上,命令电机工作。发送短信到GSM模块上,通过识别短信的内容,输出信号到单片机上,单片机分析后,控制电机工作正转/反转(开窗/关窗),当连接在窗上的行程开关触碰到窗框,立即反馈信号到单片机,单片机控制电机停止工作。其原理图如图5所示:
图2系统原理图
图3单片机最小系统
图4单片机与GSM模块的连接图
图5电机正反转控制原理图
3软件设计方案
3.1 AT指令
用手机发送指定的短信息到GSM模块上,实现远程控制功能,以下是指定的AT指令。
发送指令步骤:
1)输入AT+CMGF=1(设置短信文本)
返回OK后
2)输入AT+CMGS=“13912340010”(设置对方号码)
指令:
①AT+CMGC=“0x00”(开窗)
②AT+CMGC=“0x01”(关窗)
③AT+CMGC=“0x02”(煮饭)
④AT+CMGC=“0x03”(热水器预热)
3.2串口通信
串口通信是将数据字节分成一位一位的形式在一条传输线上逐个地传送,此时只需要一条数据线,外加一条公共信号地线和若干控制信号线。因为一次只能传送一位,所以对于一个字节的数据,至少要分8位才能传送完毕。发送时,要把并行数据变成串行数据发送到线路上去,接受时,要把穿行信号变成并行数据,这样才能被计算机及其它设备处理。以下是部分通信程序:
void init_serialcom( void )
{SCON = 0x50 ;
TMOD |= 0x20 ;
PCON |= 0x80 ;
TH1 = 0xFD ;
IE |= 0x90 ;
TR1 = 1 ;
TI=1; }
void send_char_com( unsigned char ch)
{ SBUF=ch;
while (TI== 0);
TI= 0 ; }
3.3单片机程序设计
采用C语言,通过Keil软件进行编程。C语言既具有高级语言的特点,又具有汇编语言的特点,应用范围广泛,具备很强的数据处理能力。C语言对编写需要硬件进行操作的场合,明显优于其它高级语言,有一些大型应用软件也是用C语言编写的与函数配合功能。部分函数如下:
TMOD=0X20; //设定T1定时器工作方式2
TH1=0Xfd;//T1定时器装初值
TL1=0Xfd;//T1定时器装初值
TR1=1;//启动T1定时器
REN=1;//允许串口接收
SM0=0;//设定串口工作方式
EA=1;//开总中断
ES=1;//开串口中断
4结束语
通过本设计,能够实现远程控制家居的功能,有效地体现了智能家居的实用性与可靠性,为未来人们的家居生活质量提高了一个新的层次。通过实验测试,本系统运行稳定。
参考文献:
[1]连翔,张小军.基于GSM模块TC35i的机房温度测控系统[J].电子工程师,2008(9).
[2]吴文通,蒋达国.8051单片机教学的思考与探索[J].井岗山医专学报,2001(6).
[3]徐敏,卢周平.单片机原理及应用课程教学改革与实践[J].实验室研究与探索,2006(1).
[4] Moskowitz R,Nikander P.Host Identity Protocol(HIP)Architecture[S]. RFC4423,2006.
[5] AT Command Set Siemens cellular engines version 2.10[S].Siemens AG,2001.