基于Zigbee技术的智能家居系统设计方案
摘要: 对基于ZigBee 技术对嵌入式Web 的智能家居远程监控系统进行研究和设计。对家居设备通过Zigbee 进行无线组网,把家居设备的信息和数字视频传输到因特网网络上,在因特网上设立一个"无线视频网关"WEB 服务器,可供外部访问;实现将家居信息如温度进行实时的显示并进行后续的利用和控制;同时将收集各处传输进来的数字视频信息进行后续的处理和识别。如入侵检测,人脸检测和识别等。 智能家居又称为智能住宅, 在国外常用Smart Home 表示。与智能家居含义近似的有家庭自动化(Home Automation)、电子家庭(Electronic Home、E-home)、数字家园(Digital Family)、家庭网络(Home Net/Networks for Home)、网络家居(NetworkHome)、智能家庭/建筑(Intelligent Home/Building)等。 智能家居系统利用先进的计算机技术、网络通讯技术、综合布线技术将与家居生活有关的各种子系统有机地结合在一起,通过统筹管理,让家居生活更加舒适、安全。智能家居可以提供全方位的信息交换功能,帮助家庭与外部保持信息交流通畅,优化人们的生活方式,增强家居生活的安全性,甚至为各种能源费用节约资金。
1 项目概述 1.1 智能家居发展概况 智能家居是利用先进的计算机技术、嵌入式系统和网络通讯技术,将家庭中的各种设备(如照明系统、环境控制、安防系统、网络家电)通过家庭网络连接到一起的,自从美国在1984 真正的智能建筑出现以来, 国外已经有将近30 年的研究历史,而国内在这方面的研究相对较晚,从2003 年才逐步应用于高端市场,而且标准不统一,如海信、海尔、清华大学等大家各自为营。由于智能家居系统具有安全、方便、高效、快捷、智能化和个性化的独特魅力,使得智能家居的开发与建设成为21 世纪科技发展的必然趋势。随着全球对能源和环境的要求越来越高,而智能家居在节能方面的效果优势非常明显,因此具有非常广阔的市场前景。 1.2 开发板主要参数 本项目所使用开发板为Real6410 开发板,采用ARM11 内核的处理器S3C6410.开发板上还集成了123 M的DDR 内存以及1 GB NandFlash, 同时预留了256 kNorFlash.底板上还提供两个四线RS-232 串口, 一个USBHOST 接口,一个10 M/100 M 自适应以太网接口等外设。
2 主要研究内容 目前,各种智能家居系统的设计多以有线为主,但有线技术并不适用于智能家居的普及,安装难度大以及价格昂贵的缺点限制了其发展。因此无线通信技术应用到智能家居中必将成为将来的发展趋势和潮流。 本项目对家居设备通过Zigbee 进行无线组网, 把家居设备的信息和数字视频传输到因特网网络上,在因特网上设立一个"无线视频网关"WEB 服务器,可供外部访问;将家居信息如温度进行实时的显示并进行后续的利用控制;同时将收集各处传输进来的数字视频进行后续的处理和识别。
3 项目总体设计方案 3.1 系统总体方案设计原则 本项目主要完成智能家居的环境变量和视频信号的监控。整个系统包括一块ARM11 开发板,一个16 位单片机,2个USB 的CMOS 摄像头;一台PC 机(运行客户端的监控程序)根据功能的不同,整个系统可划分由视频采集模块、数据压缩、编码模块和视频监控PC 等组成。采集模块包括USB摄像头; 数据的压缩编码由ARM11 处理器完成; 视频监控PC 完成视频客户端的功能;PC 机完成对开发系统的程序开发、调试等。图1 为系统的组成结构。
图1 系统组成结构 3.2 系统各部分结构功能及设计 整个智能家居系统的设计可分为两大部分: 1)WEB 服务器端设计;2)客户机终端监控软件的设计。 3.2.1 WEB 服务器端设计 首先为ARM 开发板定制一个合适的Linux 内核(内核版本:Linux 2.6.28),然后对其进行裁剪,使其具有基本内核功能,同时保留TCP/IP 协议栈,串口协议以及相应的视频编解码模块,使系统利用尽量少的硬件资源来满足任务的处理工作。然后是开发一个运行于Linux 下的WEB 服务器程序,其实现的基本功能是通过USB 摄像头的图像数据采集,完成对视频信息的获取、压缩和编码(具体的编码标准为当前较为流行的H264 编码)。然后通过TCP/IP 协议将数据打包发送到网络,同时利用Socket 实现服务器监听功能,这样就可以接受来自客户机的监控请求。具体的工作内容如下: 1)USB 摄像头的驱动程序移植;2)H264 视频编码程序移植;3)视频采集和传输的应用程序的设计;4)通过Zigbee 获取传感器相关信息。 图2 为WEB 服务器的工作流程,图3 为ARM 通过网页采集的视频图像,其IP 地址为:168.192.1.1:8080,此视频即可以通过网页显示,也可以通过相应基于I386 或Linux 的监控软件进行查看。
图2 WEB 服务器工作流程图
|