智能家居的远程自动控制系统设计
摘 要:研究和提出了应用于智能家居环境中的一种远程自动控制系统设计方案。它将操作指令由GSM 手机经GSM 网络传至家中的值守GSM 模块, 再由该GSM 模块通过由单片机控制的红外无线局域网传输红外信息来控制家电动作, 完成对信息家电的控制意图, 并可将信息家电的信息反馈回来, 以便进行下一步的控制。系统安全可靠,性能稳定。同时该系统除用于家庭设备远程自动控制外, 也可用于家庭通信、家庭安全防范, 共同组建智能家居控制系统。 1 智能家居系统控制的工作原理 本系统是基于红外和GSM 网络的用于智能家居环境中的一种远程自动控制系统。其工作原理为: 用户通过自身的手机发出命令短消息, 在家值守的GSM 模块接收到命令后发送给主机(单片机) , 主机通过对命令的处理, 把命令通过红外传输到相应的分机(单片机) 上, 分机对命令处理后, 启动相应设备, 完成用户给出的命令并向主机回复应答, 主机收到应答后, 通过GSM 模块发出回复短消息, 报告用户完成命令。若在规定的时间内(这里定时60s) 主机没有接收到分机的回复信息, 即把该操作认为无效, 回复操作无效短消息给用户手机, 要求用户重新发出命令。若收到的短信息有误, 主机便立刻回复用户该操作无效, 请求重新发出命令。系统构成如图1 所示。
图1 系统构成图
2 硬件设计 2.1 MCU 与GSM 通信模块 本单片机通过RS232 串行通信接口与GSM 模块通信, 提取GSM 设备的短信, 发送相关的信息, 并通过串行通信接口与红外模块相连, 利用红外模块, 达到主、分机之间的通信, 因此, 选用A T 89S52 芯片。控制上需要用到两个串行接口, 但89S52 只有一个串口, 故还需要在程序中进行模拟串行接口通信。其最简外部接线电路如图2 所示。
图2 A T 89S52 外部接线 89S52 与TC35 之间通过异步串行接口进行通信,通信速率为9 600b?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 结 论 本系统安全可靠, 性能稳定。同时本系统除用于家庭设备远程自动控制外, 也可用于家庭通信、家庭安全防范, 共同组建智能家居控制系统。
|