随着网络技术和通信技术的不断发展以及人们对生活要求的不断提高,实现家庭智能的远程监控已经成为必然的趋势。国家建设部住宅产业化促进中心提出住宅小区要实现六项智能化要求,其中包括实行安全防范自动化监控管理:对住宅的火灾、有害气体的泄漏实行自动报警;防盗报警系统应安装红外或微波等各种类型报警探测器;系统应能与计算机安全综合管理系统联网;计算机系统能对防盗报警系统进行集中管理和控制。随着GPRS远程通信技术和短距离无线网络通信技术的不断发展和成熟,智能家居的监控技术也逐步成熟。GPRS网络通信业务是通信公司推出的一项数据传输通信业务,在GPRS网络覆盖区域内,传输距离不受限制,通信费用相对低廉,传输速率较快。Zig-Bee短距离无线通信技术是一种近距离、低复杂度、低功耗、低速率、低成本的双向无线通信技术,主要用于距离短、功耗低且传输速率不高的各种电子设备之间进行数据传输以及典型的有周期性数据、间歇性数据和低反应时间数据传输的应用。本文解决了家庭智能嵌入式系统、GPRS远程通信、ZigBee" title="ZigBee">ZigBee无线通信、家电解码及编码、家居控制协议等相关技术难点,分析了其各自基本特点和所要实现的基本功能,并在此基础上提出了基于Linux嵌入式系统和ZigBee网络及GPRS无线通信的智能家居系统的总体解决方案。
1 系统整体设计方案
智能家居网络指的是在一个家居中建立一个通信网络,将各种家电设备互相连接起来,实现对所有智能家居网络上设备的远程使用和控制及任何要求的信息交换,如音乐、门窗、电源、电视或数据等等。智能家居网络的构架包括家庭内部网络系统、智能家居控制器以及智能家居网络与外部网络之间的数据通信。其中,智能家居控制器是智能家庭网络的一个重要组成部分,起到核心的管理、控制和与外部网络通信的作用。它是通过家庭管理平台与家居生活有关的各种子系统有机结合的一个系统,也是连接家庭智能内部和外部网络的物理接口,完成家庭内部同外部通信网络之间的数据交换功能,同时还负责家庭设备的管理和控制。智能家居控制器一方面需要为家庭内部布线提供通信接口,采集家庭设备的信息,并进行处理、自动控制和调节;另一方面智能家居控制器作为家庭网关,也为外部提供网络接口,连通家庭内部网络和外部网络,使得用户可以通过GPRS网络等方式访问家庭内部网络,实现监视和控制。系统控制方案如图1所示。
图1 系统整体控制框图
本系统采用三星公司最新推出的ARM11 S3C6410控制芯片为核心控制器,完成所有家庭内部数据的处理,包括数据的采集与控制命令的发出,是整个智能家居控制的核心,采用Linux嵌入式系统为家居总中心监控系统,能够自动运行、处理数据,通过串口管理、无线网络来控制各控制终端,并且中心控制器通过GPRS模块实现家庭系统与手机的通信,使用户可以通过短信方式实现家庭系统的远程控制,同时,控制器还采用10.3寸触摸屏为用户提供命令输入端,采用Linux Qt完成人机界面的编写,通过ZigBee无线通信协议完成家庭内部数据的传输,方便用户实现本地控制。控制终端为单片机组成的若干小的控制系统控制各家用设备,并通过控制总线将这些小的控制系统组成网络,连接到智能家居控制器,受智能家居控制器控制。
2 基于ZigBee无线网络和统一家电协议的家居网络系统
2.1 整体设计
整个智能家居系统全部采用无线网络进行数据传输和监控,以无线网络技术为通信平台,将家庭的安防系统、门窗控制系统、家电照明系统和能源计量系统等这些分立子系统融合成为一个真正意义上的综合智能家居网络系统。既可以使用智能手机或者终端实现本地集中控制,也可以通过使用远程接入Internet网络的智能手机或计算机实现远程监控。智能家居网络系统由分散智能终端层和上端总控制层组成。
上端总控制层主要是以ARM6410中控系统为核心、利用无线通信结构形成的中控网络完成对各种不同智能终端的管理控制。中控系统配置有触摸屏方便用户使用。使用GPRS通信技术,将家庭内部信息及时与主人手机终端进行通信联系,并可以通过手机控制上端总控制层,达到远程控制的效果。
分散智能终端层是由具有智能终端特性(即信号采集处理、输出控制和数据通信功能)的各种不同安防系统、家电控制、家庭照明、家庭安防、温湿度数据采集和通信系统等模块组成。
{$Page$}
智能终端层以AT89C51为核心处理器,使用多个I/O口进行传感器检测阵列的信号采集,其中包括红外人体探测信号、火警探测信号、有毒气体探测信号、门窗开闭信号等信号的检测;使用红外发射芯片IR6721C芯片进行家电设备控制信号的发射,可以完成家庭内部控制和GPRS远程控制;使用通信串口1连接无线数据传输芯片XL02-232AP1,XL02-232AP1是UART 接口半双工无线传输模块。本文采用了加强型的ZigBee无线技术,符合工业标准应用的无线数据通信设备,可实现多设备间的数据透明传输;通过无线ZigBee进行组网通信;无线功能强大;具备中继路由和终端设备功能。单个终端硬件结构框图如图2所示。
图2 终端硬件结构框图
智能终端与中心控制器通过基于ZigBee的无线网络完成通信,传输一个指令的数据包由以下几部分组成:起始编码bite[0][1],地址编码bite[2],数据类型编码bite[4],功能编码bite[5],效验编码bite[6],结束编码bite[7].每个编码1个字节,发送数据范围在0~255之间,不同家庭内部的起始编码都是惟一的,防止相互信号的干扰,每个接收终端在接收到数据后,都进行地址码判断是否为自己接收的数据包,是则接收,否则不接收,接收到数据包后,对数据要执行的功能进行校验,校验正确,则进行解码,并且在解码成功后通过ZigBee的无线网络发出一个确认接受码,中心控制器在接收到确认接收码后停止再次发生控制指令,否则间隔100ms再次发生相同指令,确保整个ZigBee的无线网络数据通信的准确性和完整性。每个智能终端在正确接收到中心控制器的控制信号后,必须根据信号完成相应家庭内部的控制工作,所以家电设备的控制信号都是由统一的红外编码完成的,不同家电的红外编码各不相同,必须进行红外编码的解码和重新的编码,解码工作利用400MHz的具有存储功能的高精度示波器采集完成,编码采用AT89C51芯片的两个定时器交互中断进行,中断程序控制相应的I/O口产生对应的脉冲,脉冲输出测试结果如图3所示。
图3 AT89C51产生的红外解码脉冲
2.2 GPRS远程通信设计
以ARM11S3C6410为总控制核心,通过GPRS进行远程数据的发送与处理,使用6410串口2与GPRS进行数据通信,可以将家庭内部数据信息发送给远离房间的主人手机,并可以通过主人手机发送的控制信息控制房间内家电设备,包含摄像头的摄像处理、空调温度设置等。GPRS通信模块安装在智能家居控制器中,主要功能为通过GPRS网络连接到Internet网络,并主动与监控中心建立通信链路,进行双向数据通信。GPRS通信模块设计采用了Freescale公司生产的内嵌TCP/IP协议的G24GPRSOEM[8].该模块尺寸小,功耗低,便于集成。GPRS通信终端收发模块主要由G24模块、天线、SIM 卡、相关的电平转换电路和RS 232串口组成。其供电电压为5V,可采用USB端口供电;通过RS 232串行口与智能家居控制器ARM 进行通信。
G24收发模块采用AT指令操作,通过RS 232串行口进行数据通信。
GPRS网络通信原理如下:首先通过SGSN节点使通信终端模块附在GPRS网络上;然后通过GGSN 节点由PPP(Point to Point Protocol)协议获得一个随机分配的IP地址,连接到Internet上;最后通信终端模块通过Internet,按照监控中心设定的端口号与监控中心建立通信链路。
2.3 系统软件
系统采用Linux操作系统,Linux内核是一种源码开放的操作系统,采用模块化的设计。在此只保留了必需的功能模块,删除了冗余的功能模块,并对内核重新编译,从而使系统运行所需的硬件资源显着减少。
Linux系统内核集成了大量的网络应用程序,支持全部的标准因特网协议和几乎所有的联网技术,因此将其应用于智能家居控制器的设计,具有代码量小、运行消耗系统资源少、可靠性高、开发周期短等优点,适应智能家庭数据采集控制器对于操作系统的要求。Qt作为一种跨平台的基于C++ 的GUI系统,能够提供给用户构造图形用户界面的强大功能。本文选用移植性强的Qt软件设计图形用户界面,所设计的GUI实用、简洁、实现了人机交互,可通过键盘或面板对程序进行输入、保存、修改和编译,信息和临时信息及时输出、显示,通过GUI达到了整合系统的目的。在Qt系统中,不仅有着构造完善的系统结构,而且为了满足用户对编写图形用户界面应用的种种需求,还创建了许多新的系统机制,其中Qt所特有的内部进程通信机制具有独特的反应速度,本文采用的Qt应用进程之间通信机制是Signal-Slot机制和FIFO 机制。Linux 系统不断侦查本地GUI消息,任何一个Qt消息被触发,系统都会立即执行相应程序,提高了整个系统的反应速度和稳定性,系统软件设计流程如图4所示。
图4 系统软件设计流程
3 结 语
整套系统的设计充分利用了ARM11 S3C6410的硬件功能和处理速度,成功移植了以S3C6410为硬件核心的Linux嵌入式系统,并完成了基于Linux Qt的控制程序的开发,解决了多项技术难点,其中包括构建基于ZigBee通信协议的无线网络、基于AT89C51的统一家电控制协议、基于S3C6410的GPRS远程通信、家电控制的直接解码与编码等,实验产品的控制结果效果令人满意,验证了该系统的先进性、稳定性和实用性,具有广泛的推广和应用价值。