1 引言
智能家居于20 世纪80 年代兴起于日本和欧美,于90 年代末进入中国,伴随着经济的发展和人们生活水平的提高逐渐为国人所了解和接受。目前国内的各种智能化系统和产品较多,但各系统相互独立,集成度较低,彼此联系不大。比如楼宇对讲系统、安防系统、家用电器自动控制系统等,都各有自己的终端,没有统一的智能控制平台。对用户而言,这种状况增加了使用成本和操作的复杂性;对施工而言,则导致了重复布线。本文针对此种状况,设计一种采用单片机AT89C52 为控制核心,利用原有的电话网络,将楼宇对讲、安防报警和电话远程监控系统集成起来,形成一个统一的智能控制平台,并通过CAN 总线组网与门口机和管理机相连,能实现楼宇对讲、电话远程监控和报警等功能的智能家居控制系统。此系统操作简单,无需重复布线,成本有所降低,是一种真正适用于智能家居的系统。
2 智能家居控制系统的主要构成及功能
(1)楼宇对讲系统
楼宇对讲采用小区联网式系统,在各住宅单元门口及住户家中安装对讲系统,以实现访客身份验明和与住户对讲,以及住户远程控制开锁的功能,从而有效地防止非法人员进入住宅楼。
(2)家居安防系统
家居安防系统具有防盗、防火、远程监控及报警等功能。
(3)家用电器自动控制系统
家用电器自动控制系统的主要功能是控制家用电器、照明等电气设备。该系统能够实现本地集中控制家庭内部照明或家用电器,也可以在需要时通过电话远程控制家庭内部家电设备,节约能源。
3 智能家居控制系统硬件设计与实现
智能家居控制系统室内分机系统构成,如图1 所示。该系统主要由单片机及其I /O 口扩展部分、楼宇对讲部分、安防报警部分、电话远程监控部分、与CAN总线连接的节点部分,以及键盘、显示部分组成。
图1 智能家居控制系统室内分机系统构成图
3.1 单片机及其I/O 口扩展部分
单片机选用控制功能强大的AT89C52为主控制器,主要用于信号的采集、数据处理、控制信号的输出等,是整个控制系统的核心。由于本系统所需的I/O 口较多,单片机本身提供的I/O 口不够,故利用芯片8255对其I/O 口进行扩展。其中8255 的PA 口工作于输出方式,用于对家用电器进行开关控制;PB 口工作于输入方式,用于各种报警探测器的警情信号的输入;PC 口用于扩展键盘。
为了满足楼宇对讲系统中各部分的功能要求,本系统使用三根I/O 口线和一个开锁键。
三根I/O 口线中,一根做输出,用于控制对讲分机的振铃;一根做输入,用于检测对讲分机的摘机信号;一根用于控制对讲分机的模拟音频信号通道的控制继电器,使用户可以在其接通后通过音频模拟通道直接进行对话。开锁键设于键盘上,开锁信号通过CAN总线传到门口机,门口机接到开锁信号后控制开启楼门锁。
3.3 安防报警部分
安防报警部分的功能包括警情信号的输入、本地报警、本地报警显示、远程报警。
警情信号包括各种探测器,如窗磁开关、门磁开关、被动红外传感器、煤气探测器、火灾探测器等的信号。各种警情信号都接到8255 的PB 口。本地报警是单片机通过I/O口控制蜂鸣器进行声音报警,同时由八段数码管显示器显示报警类别。远程报警包括远程电话报警和通过CAN 总线向集中控制室的管理人员进行报警。
3.4 电话远程监控部分
实现远程监控的方案主要有基于Internet的远程控制、基于电力线的远程控制和基于电话网络的远程控制三种。前两种组网方案较为复杂,技术难度大,而且成本较高,对维护者技术水平的要求也较高。而电话网络是一种技术成熟、应用较广、成本低的通信网络,本设计采用电话网络实现远程监控。当家里有警情时,用户能通过电话实现远程报警。当需要远程控制家用电器时,用户可通过电话将控制信号送入单片机,单片机再通过8255 的PA 口输出控制信号,驱动继电器对家用电器进行开关控制。电话远程监控部分的电路主要包括三部分:信号检测、模拟摘挂机电路,用HT9170 和HT9200A 实现的双音多频DTMF 信号收发电路,用ISD1420 作为录放音元件的语音录放电路。
3.5 与CAN 总线连接的节点部分
本设计利用CAN 总线对等式的通信网络实现智能家居控制系统室内各分机之间,以及分机与总机之间信息的互通,具有各节点地位均等,无主从节点的特点。
由于主控制器AT89C52 型单片机本身不带CAN 总线控制器, 本设计采用SJA1000型CAN 总线通信控制器和AT82C250 型总线驱动器来实现单片机与CAN 总线之间信息的互通。
3.6 键盘显示部分
键盘采用4×4 矩阵键盘,共设16 个按键,其中有十个数字键,其余的为设防按钮、住户呼叫对讲按钮、开锁按钮、确定按钮、清除报警撤防按钮和家电控制按钮,分别用于各种控制信号、呼叫/ 求救信号、开锁信号、撤防/ 布防信号的输入。显示器采用串入并出的74LS164 移位寄存器来驱动一位LED八段数码管,进行控制参数或报警类别的实时显示。
4 智能家居控制系统软件的设计与实现
为使程序清晰可读且运行速率高,本系统软件采用模块化结构设计,由主程序和相关子程序(如键盘扫描子程序、显示子程序、语音提示子程序、拨号报警子程序、电器控制子程序等)组成。主程序流程如图2 所示。
图2 主程序流程图
该程序主要包括安防报警、楼宇对讲和电话远程控制三个模块。
主程序工作过程为:系统上电复位后进行初始化,待初始化完成,系统分别对警情信号、楼宇对讲呼叫信号和电话呼入信号进行检测,如有信号输入,则进入对应的处理模块。在安防报警模块中,设置延时程序以消除抖动和误报警,延时程序主要通过调用键盘扫描子程序实现。如果延时完成后仍有警情,则按顺序进行本地报警、通过CAN总线向中央控制室报警和拨号电话报警,从而实现多点报警的功能,将损失降到最低。
楼宇对讲模块中,门口机的呼叫信号经CAN总线传到分机,分机检测到此信号后,接通对讲机振铃,然后再判断是否摘机,如没有摘机信号,则延时再判断。当住户摘机后,单片机输出信号控制音频通信线路的控制继电器接通,使住户与呼叫者得以进行通话。
在通话期间,单片机判断其是否挂机,如挂机则返回,未挂机则调用键盘扫描子程序,判断开锁键是否按下,如按下则通过CAN总线和门口机进行远程开锁。电话远程控制程序模块的工作过程是当有电话呼入时,先检测是否振铃4次,再模拟摘机,摘机后放录音提示输入密码。如密码不正确,则模拟挂机;如密码正确,则放录音提示输入需控制电器的序号,然后检测其返回的控制信号,并调用电器控制子程序,进行家用电器的开关控制,完成后模拟挂机。
5 结束语
本文设计的智能家居控制系统充分利用单片机强大的控制功能和CAN总线灵活方便、可靠性高、通信速率高、价格低廉、组网容易等的突出特点,并结合现有的公共电话网络, 对智能家居中各个相对独立的系统进行集成,实现楼宇对讲、电话远程控制、多点报警等功能。CAN技术是一种新的控制网络技术, 与现有的成熟的公共电话网络相结合, 必将在智能小区的应用中逐渐显示出其独特的优势。