文档库 最新最全的文档下载
当前位置:文档库 › 基于嵌入式的智能家居监控系统设计

基于嵌入式的智能家居监控系统设计

基于嵌入式的智能家居监控系统设计

摘 要: 针对目前智能家居监控系统硬件设施比较昂贵,不适合普遍使用的缺点,提出了一种以ARM9处理器和Linux操作系统为平台的嵌入式智能家居监控系统,实现了家居的远程视频监视和家电的远程模拟控制。该系统内移植嵌入式Web服务器,用户可通过浏览器进行远程访问。采用HHTP协议和CGI技术,设计和开发人机交互界面和基本的CGI程序,能与客户端浏览器进行动态交互。测试结果表明,该系统人机界面友好、可扩展性强、操作使用方便,远程监控图像流畅、清晰,可以满足不同用户的需求。关键词: 嵌入式系统;智能家居;Linux;远程监控
随着信息技术和Internet技术的发展,实现家居网络化和智能化已经成为当前研究的热点。具有用户界面、能远程控制、智能管理的电器是未来的发展趋势。在此形势下,基于ARM、PowerPC等32位微处理器的出现,使嵌入式Internet成为现实,传统PC的Web服务完全可以通过嵌入式控制器实现。正如早已为人们熟知的“把互联网带入生活中”,使用嵌入式Web技术的家居计算机网络成为目前网络发展的一个重要方向。 基于PC架构的智能家居由于实用性较差已经逐步退出了市场,目前只有一些国外厂商和极少数国内厂商选择了基于嵌入式的技术方案。而基于嵌入式系统的家庭智能系统在国内才刚刚出现,随着嵌入式技术更加广泛的应用,成本的逐步降低,智能家居最终将走向嵌入式[1]。 经过比较,嵌入式智能家居具有明显的优势,因此本文选择嵌入式系统作为智能家居的核心。由于ARM处理器具有体积小、功耗低、成本低、性能高以及Linux开源等优点,本系统选择三星公司的ARM9处理器S3C2410作为嵌入式处理器,操作系统为Linux。1 系统整体模块设计 本系统主要在嵌入式系统上进行视频监控模块和远程电器控制模块的设计。嵌入式系统由嵌入式处理器S3C2410和Linux系统组成。视频监控模块由Web服务器、视频服务器和客户端以及实现通信的通道组成。远程电器控制模块在Web服务器上,通过CGI交互,实现对家电的控制。本系统采用模块化设计,由嵌入式系统模块、视频采集模块、视频服务器模块、视频客户端模块和远程电器控制模块组成。系统的整体框架图。 嵌入式处理器S3C2410是一款基于ARM920T内核的16/32位RISC微处理器。内部带有全性能的MMU(内存管理单元),它适用于设计移动手持设备类产品,具有性能高、功耗低、接口丰富和体积小等优良特性[2]。

2 系统的软件设计实现2.1 图像采集模块的实现 本系统采用USB接口的PC350摄像头,该摄像头的后端采用OV511+视频

芯片, 图像传感器采用新一代CMOS感光芯片,摄像头硬件压缩率超过5:1,非常适合视频监控的图像采集[3]。目前Linux内核中已经有支持OV511芯片的驱动,因此无须下载驱动程序。该驱动可以用模块化的方式加载,也可以编译进内核,本系统采用编译进内核的方法。 在内核加载了OV511摄像头驱动之后,系统就能识别并支持该摄像头,再只需编写视频采集程序就可工作。视频采集应用程序的设计通过Linux内核中的Video4Linux实现。 Video4Linux是Linux中关于视频设备的内核驱动,它为针对视频设备的应用程序编程提供了一系列接口函数。在视频采集中,应用程序首先通过open( )函数打开视频采集设备并返回一个文件描述符号,这个文件描述符就代表了捕获的设备硬件。成功开启设备档后,调用ioctl( )取的设备文件的相关信息,并且将取得的信息放到video capability结构中,同样调用ioctl( )将视频窗口信息放到video picture结构中。视频设备的关闭通过close( )函数实现。在本系统中,视频图像的获取采用mmap( )的方式共享内存来实现。此方法不必再调用read( )、write( )等操作,不仅进程可以直接读写内存,进程通信效率高,而且不需要拷贝任何数据。2.2 远程视频监控模块的实现 视频监控模块采用“浏览器—服务器”模式,即在采集端构建嵌入式Web服务器,并在Web服务器的基础上移植视频服务器webcam,在客户端利用Java Applet 来接受视频服务器发送过来的视频信息。本模块包括嵌入式Web服务器设计和视频服务器webcam的移植实现。2.2.1 嵌入式Web服务器设计 嵌入式Web服务器器是指将Web服务器引入到嵌入式系统中,在相应的硬件平台和软件系统的支持下,根据应用的需要实现通用的Web服务器的全部或者部分功能。嵌入式Web服务器仍然以TCP/IP协议为底层,在该Web中使用的应用层的通信协议是HTTP协议,通过HTTP协议实现客户端(一般为浏览器)和嵌入式Web服务器的信息交换[4]。 在嵌入式领域,常用的Web服务器有t语言来编写智能家居的管理界面,以下是智能家居管理主界面的源代码,文件名为my.html。<html><head><title>远程监控</title></head><frameset rows=“20%,80%”><frame img src=“images/ltby006.jpg” marginwidth=“0”scrolling=“no”frameborder=“0” norsize=“norsize”><frameset cols=“20%,80%”><frame src=“left.html”scrolling=“no” name=“left_frame”frameborder=“0”><frame src=“right.html” name=“right_frame”></frameset></frameset></html> 该代码包含left.html和rig

ht.html的相关链接,其中left.html又包含着用户信息、密码修改、远程控制、状态查询、安全布防、视频监控等相关链接。设计好相关的.html文件和CGI程序,通过U盘把.html文件和CGI程序拷贝到开发板根文件系统下的/源代码,其中><head><title>WebCam</title></head><br><br><br><p align=“center”><APPLET CODE =“WebCamApplet.clas”archive=“applet.jar”WIDTH =“320”HEIGHT =“240”><param name=URL value=“> 还要把/src/client下的Applet.jar文件拷贝到开发板根文件系统下的/www目录下。最后在电脑主机上安装一个jre1.6.0 03,目的是使浏览器支持Java,这样就完成了客户端的设计,从而实现视频在网页上显示的工作。3 实验测试 首先,设置开发板的IP,即在超级终端下输入命令ifconfig eth0 202.193.74.230。在实验室的另一台电脑主机上运行IE浏览器,输入设置好的IP,访问板子的主监控界面。智能家居管理主界面。

点击远程控制,出现的家电控制界面,选择电器的状态(开或关),就可以通过网页实现电器的模拟开关。点击视频监控,将出现视频监控的界面,(本机电脑网页上实时实现的是另一实验室的监视画面)。

通过实验测试,发现家居控制效果好,图像传输效果实时,画面质量清晰、流畅,很好地实现了家居的智能监控。 本系统的设计是在数字信息技术和网络技术发展的前提下,运用当前的嵌入式技术和ARM技术设计的智能家居监控系统,具有一定的创新性。该系统由于采用了高性能的ARM9处理器和嵌入式Linux操作系统,具有一定的可扩展性,可以通过适当的功能扩展来满足用户更高的要求。此外,本系统具有功能强、稳定性好的特点,而且成本低,对嵌入式智能家具监控系统的开发有一定的借鉴意义。

相关文档