基于Zigbee技术的智能家居系统设计方案模板.doc
基于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 年研究历史,而中国在这方面研究相对较晚,从 年才逐步应用于高端市场,而且标准不统一,如海信、海尔、清华大学等大家各自为营。因为智能家居系统含有安全、方便、高效、快捷、智能化和个性化独特魅力,使得智能家居开发和建设成为21 世纪科技发展肯定趋势。伴随全球对能源和环境要求越来越高,而智能家居在节能方面效果优势很显著,所以含有很宽广市场前景。1.2 开发板关键参数本项目所使用开发板为Real6410 开发板,采取三星企业ARM11 内核处理器S3C6410.开发板上还集成了123 MDDR 内存和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 服务器工作步骤图图3 ARM 经过网页采集视频信息3.2.2 用户机终端监控软件设计用户机终端监控软件采取MFC 编写, 可实现来自WEB服务器端实时视频预览、视频录制、视频截图及传感器参数实时显示等功效。程序采取多线程技术:一个线程进行视频信息解码和播放功效,另一个线程实现视频录制功效。另外还采取了视频信息叠加方法,能够对环境变量进行屏幕叠加,能在录制时完成信息录制和再现。图4 为终端监控软件。图4 用户机终端监控软件4 项目关键技术4.1 传感器信息经过Zigbee 传输Zigbee 是IEEE 802.15.4 协议代名词。依据这个协议要求技术是一个短距离、低功耗无线通信技术。IEEE-802.15.4 规范是一个经济、高效、低数据速率(<250 kbps)、工作在2.4 GHz 和868/928 MHz 无线技术, 用于个人区域网和对等网络。本项目使用Zigbee 完成传感器信息传输。传感器信息由一端Zigbee 接收后发送至另一端Zigbee,然后传入RS232 串口中。具体传输模型图5 所表示。图5 传感器信息经过Zigbee 传输模型4.2 DirectShow 视频采集DirectShow 是微软企业在ActiveMovie 和Video forWindows 基础上推出新一代基于COM (ComponentObject Model)流媒体处理开发包。DirectShow 技术对处理图像序列或用摄像机捕捉序列尤其有用。本项目使用VC 开发基于DirectShow 技术实现视频采集。经过#pragmacomment(lib, "winmm.lib")链接静态库winmm.lib,便能够实现windows 多媒体编程。4.3 多线程技术及Socket智能家居系统用户机监控软件采取MFC 编写。其中关键技术包含多线程和Socket()。监控软件中包含previewVideo 线程( 经过函数UINTpreviewVideo(LPVOID videoCtl)实现)实现视频预览功效和recordVideo 线程( 经过函数UINT recordVideo (LPVOIDvideoCtl) 实现) 实现视频录制功效。打开摄像头后经过AfxBeginThread (previewVideo,&m_video) 函数开启previewVideo 视频预览线程, 用户便能够经过监控软件预览视频图像。当用户点击录制视频按钮时, 首先经过函数SuspendThread(pVideoThread->m_hThread)挂起previewVideo视频预览线程, 然后经过函数AfxBeginThread(recordVideo,&m_video)开启recordVideo 视频录制线程。当用户点击停止录制按钮时, 软件经过函数ResumeThread (pVideoThread->m_hThread)恢复previewVideo 视频预览线程。终端监控软件经过previewVideo 线程和recordVideo 线程便能很好实现用户机视频预览和视频录制功效。线程模型图6所表示。图6 线程模型智能家居系统使用Socket()实现用户机和服务器之间通信。经过USB 摄像头采集数据,对数据进行获取、压缩和编码后经过TCP/IP 协议将数据打包发送到网络,同时在服务器端创建Socket()进行监听,来接收用户机请求。当用户机发送connect()连接请求后,服务器经过accept()接收用户机连接请求。然后服务器和用户机之间经过send()函数和recv()函数实现发送、接收数据。Socket()通信模型图7 所表示。图7 Socket 通信模型4.4 入侵检测功效实现为了降低网络传输和系统压力,在视频采集端,每采集一次图像就对采集数据进行一次处理。该函数设定一个图像发生改变阈值c_limit,然后将图像全部像素之差和阈值c_limit 进行比较,假如大于阈值c_limit,则认为图像发生了改变,不然即认为没有改变,则不将该次采集图像数据写入JPEG 文件保留,这么能够极大地提升视频存放能力,同时降低各资源浪费。4.5 利用openCV 库实现人脸检测OpenCV 是Intel 企业面向应用程序开发者开发计算机视觉库,其中包含大量函数用来处理计算机视觉领域中常见问题,比如运动分析和跟踪、人脸识别、3D 重建和目标识别等。在openCV 函数可编程过程中,CvSize 和IpImage 是两个比较常见结构。CvSize 结构表示矩形尺寸结构,结构中分别定义了矩形宽度和高度。IpImage 结构关键针对视觉方面处理。软件实现中首先经过函数IpImage* cvCreateImage (cvSize(img->wIDTh,img->height), 8, 1 )为图像分配内存,然后使用函数cvCvtColor( img, gray, CV_BGR2GRAY )将RGB图像转为灰度图像。为了让输入图像大小相同经过cvResize( gray, small_img, CV_INTER_LINEAR ) 对图像进行缩放,函数cvEqualizeHist( small_img, small_img )实现灰度图像直方图均衡化。然后利用函数cvHaarDetectObjects(small_img,cascade, storage1,1.1, 2, CV_HAAR_DO_CANNY_PRUNING,cvSize (30, 30) 对图像进行脸部检测, 最终利用函数cvGetSeqElem、cvRound、cvCircle 将脸部用圆圈标示。图8 为脸部检测效果图。图8 脸部检测效果图5 结束语项目社会和经济效益分析。关键用途和应用范围:1)对机要部门监视、控制和报警,如档案室、文件室、金库、博物馆等;2)工厂、市场等监视,如工厂生产过程、市场、营业厅、展览厅、货场等监视;3)对交通运输监视,如公共交通、铁路车站、铁路调度等监视;4)用于安全报警,如防盗、防火等报警;5)在安全身产方面应用,如煤矿等。经济效益:伴随大家生活水平提升,大家对智能家居需求越来越高,而作为中国房地产配套产业,中国智能家居经过多年发展,已成为一个集控制、计算机、家电等多个新技术为一体新兴产业。不过,因为市场不规范、行业标准不完善,市场发展并不是很成熟,现在还处于群雄逐鹿"战国时代".含有很大市场潜力。社会效益:伴随哥本哈根会议和"十二五计划" 目前,当低碳减排已成为一项国家行动,而智能家居在这方面有自己优势。其不仅智能而且节能,含有较高社会效益