21 世纪是信息化的世纪, 各种通信和互联网等技术推动了人类文明的巨大进步。智能家居控制系统的出现使得人们可以通过手机或者互联网在任何时候、任意地点对家中的任意电器(空调、热水器、电饭煲、灯光、音响、DVD 录像机) 进行远程控制; 可以在下班途中, 预先将家中的空调打开、让热水器提前烧好热水、电饭煲煮好香喷喷的米饭?而这一切的实现都仅仅是轻轻的点几下手机按键或鼠标。此外, 该系统还可使家庭具有多途径报警、远程监听、数字留言等多种功能,如果不幸出现某种险情, 您和110 可以在第一时间获得通知以便进一步采取行动。舒适、时尚的家居生活是社会进步的标志, 智能家居系统能够在不改变家中任何家电的情况下, 家内家外(在家内通过无线局域网,在家外通过电信或互联网) 都能对家里的电器、灯光、电源、家庭环境进行方便的控制, 使人们尽享高科技带来的简便而时尚的现代生活。
1 智能家居系统控制的工作原理
本系统是基于红外和GSM 网络的用于智能家居环境中的一种远程自动控制系统。其工作原理为: 用户通过自身的手机发出命令短消息, 在家值守的GSM 模块接收到命令后发送给主机(单片机) , 主机通过对命令的处理, 把命令通过红外传输到相应的分机(单片机) 上, 分机对命令处理后, 启动相应设备, 完成用户给出的命令并向主机回复应答, 主机收到应答后, 通过GSM 模块发出回复短消息, 报告用户完成命令。若在规定的时间内(这里定时60s) 主机没有接收到分机的回复信息, 即把该操作认为无效, 回复操作无效短消息给用户手机, 要求用户重新发出命令。若收到的短信息有误, 主机便立刻回复用户该操作无效, 请求重新发出命令。系统构成如图1 所示。
图1 系统构成图
2 硬件设计
2.1 MCU 与GSM 通信模块
本单片机通过RS232串行通信接口与GSM 模块通信, 提取GSM 设备的短信, 发送相关的信息, 并通过串行通信接口与红外模块相连, 利用红外模块, 达到主、分机之间的通信, 因此, 选用A T89S52芯片。控制上需要用到两个串行接口, 但89S52 只有一个串口, 故还需要在程序中进行模拟串行接口通信。其最简外部接线电路如图2 所示。
图2 A T 89S52 外部接线
89S52 与TC35之间通过异步串行接口进行通信,通信速率为9600b?s, 具有1 位起始位、8 位数据位、1位停止位, 无奇偶校验。
单片机启动后, 便发出A T + CM GD = 2 指令, 清除第二存储空间的数据, 然后不断地发出指令读取第二存储空间。若有数据, 即表示接收到数据, 并开始对数据进行处理, 处理完毕后再把该空间数据删除。当单片机向手机发出短消息时, 单片机会向GSM 模块发出A T、A T + CM GF = 0、A T + CM GS= X 一系列的指令, 当接收到回复信息后, 最后发出短消息的内容。
2.2 红外无线通信模块
红外发送器电路如图3 所示包括38kHz晶体振荡器、反相器、与非门、驱动门Q 1 和红外发射管D 1 等部分。其中38kHz 晶体振荡器、电阻R 3 和反相器组成脉冲振荡器, 用以产生38kHz 的脉冲序列作为载波信号,红外发射管D 1 选用V ishay 公司生产的TSAL 6238, 用来向外发射950nm 的红外光束。
图3 红外发射器电路图
红外接收器电路如图4 所示, 当接收器收到数位"0"时,Q 2 管导通, 使得RXD 接收到低电平, 收到数位"1"时,Q 2 管截至, RXD 接收到高电平。
图4 红外接收器电路图
2.3 模拟控制
本系统将以不同的电机做出不同的动作, 来模拟说明智能家居对系统控制的响应。如图5 所示, 当分机的单片机收到本机的地址信息, 便提取信息中的数据,根据数据的命令, 若把P 010, P 011 脚置成低电平, 其他为高电平, 则Q 3、Q 4 管导通, 电机便正向旋转, 若把P 012, P 013 脚置成低电平, 其他为高电平, 则Q 5、Q 6 管导通, 电机便反向旋转( 以前一情况为正向时)。若一台分机上连多个电机, 有多台分机, 便可以实现在智能家居环境中对家庭各个设备的同步控制。
图5 电机驱动电路
3 软件设计
3.1 单片机主程序设计
主机上电复位后进行初始化, 然后不断地对GSM模块进行扫描查询。当查询到GSM 模块接收到用户发送的短信时, 便对短信进行处理, 提取相关信息, 然后通过红外模块相分机发送相应的命令数据。接着就在一定时间(可根据用户需要调整, 这里设为60s) 内等待分机的回复信息。当接收到回复信息或规定时间内没有接收到分机的回复信息, 主机都返回到扫描查询状态。主机主程序流程图如图6 所示。
分机上电复位后进行初始化, 然后等待接收主机发送的命令信息。接收到命令信息后, 从中提取地址和数据信息, 若为本分机地址, 则对数据进行处理并作出响应, 同时向主机发送确定信息; 若非本分机地址, 则返回, 继续等待主机发送的命令信息。分机主程序流程图如图6 (b) 所示。
3.2 中断程序设计
本系统需要模拟串行数据发送和接收, 所以需要用上外部中断来接收数据, 确保数据传输的同步性和实时性。每接收一位数据, 中断都会响应一次, 接收8位为一个有效数据, 接收8 个数据为一个数据帧。外部中断流程图如图7 (a) 所示。
为了确保主机正常工作, 加入主机等待分机回复的等待时间。而为了时间的实时性和准确性, 用到单片机内部的定时器1.设定其工作模式为模式1, 初值为0x4bff (50m s)。中断20 次为1s, 60 次循环为60s, 当60s到时, 标志位置位后返回。时间中断流程图如图7 (b)所示。
4 结 论
本系统安全可靠, 性能稳定。同时本系统除用于家庭设备远程自动控制外, 也可用于家庭通信、家庭安全防范, 共同组建智能家居控制系统。