原创 基于ARM的智能家居视频监控系统

2014-7-6 07:44 1696 19 20 分类: 消费电子
O 引言 随着科学技术的进步,人们对生活质量也提出了越来越高的要求,舒适、合理、便捷和安全的家居环境正逐步被大众所青睐。视频监控作为家居安防的重要组成部分,也逐步受到人们的重视。这里设计采用ARM处理器嵌入Linux操作系统的方法实现家居视频监控。Linux操作系统作为嵌入式系统的新宠以其开源特点非常适合面向开发,而ARM核凭借其较高的指令和数据处理能力更是吸引了众多研发人员的眼球,二者的结合为智能家居视频监控提供了一个崭新的发展方向。 1 智能家居系统的总体架构 智能家居系统就是利用计算机技术、数字技术、网络通信技术和综合布线技术,将与家庭生活密切相关的家电控制系统、防盗报警系统、网络信息服务系统等通过家庭网络有机结合起来,从而给用户带来最大程度的高效、便利、舒适与安全。 目前比较流行的智能家居系统由四大部分组成:家居安防系统、家居通讯系统、家居家电自动化控制系统和家居音视频系统。图1给出了一个简单的智能家居系统架构。

智能家居系统架构

智能家居系统中我们可以通过任意网络设备访问Web服务器的家庭网关以监控家用电器、报警设备和摄像头等设备的运行情况来实现住家的智能化。在现阶段智能家居起步时期,家居设计的时候往往把音视频系统放在很重要的位置,这里介绍一种用于居家的视频监控方法。 2 视频监控系统的架构 鉴于家居系统的结构特点,选用集软硬件于一体,具有软件代码小、高度自动化、响应速度快等特点的嵌入式系统。设计采用ARM(Adva-nced RISC Machinesl核嵌入Linux操作系统的方法实现。系统主要由嵌入式S3C2410处理器、相关支撑硬件、USB摄像头、嵌入式操作系统Li-nux及应用软件等部分组成,该系统是可以独立工作的“器件”。 2.1 系统的硬件结构 系统硬件部分主要包括S3C2410处理器、储存器和外围电路,其结构框架如图2所示。

结构框架

基于ARM9的嵌入式S3C2410处理器是整个系统的核心,它提供了丰富的片内资源,支持Linux操作系统,并能完成整个系统的调度工作。CPU内置USB控制器,USB摄像头将采集到的图像通过USB接口送与S3C2410进行处理,以等待发送。网络芯片DM9000有成熟的Linux驱动程序支持,其100Mb/s以太网接口,以传输速率快为设计首选。 2.2 构建基于S3C241O的嵌入式Linux系统 Linux是一款可以免费使用,且源码开放以便开发人员随意裁剪,且具有稳定性能的操作系统。宿主机选用Red Hat公司的IAnux9.0服务器版,并在其上构建嵌入式Linux开发平台需要的交叉编译环境。 在S3C2410上搭建嵌入式Linux软件平台需要完成引导加载程序Boot loader的移植;Linux操作系统内核的移植和包含应用程序的文件系统移植。 Boot Loader是在操作系统内核运行之前执行的一段小程序。Linux内核有自己的结构体系,智能家居系统的Linux内核由标准Linux内核裁剪而来。设计直接通过系统调用访问Linux的内核资源,编译内核时加入USB摄像头Webeve 2000主芯片OV511的驱动和以太网控制芯片DM90-00的驱动,文件系统选用Ramdisk技术。 3 视频监控系统的实现 3.1 Vide04Linux程序 Vide04Linux(简称V4L)是Linux中关于视频设备的内核驱动,它针对视频设备的应用程序编程提供一系列接口函数。对于USB接口摄像头,其驱动程序中提供基本的I/O操作接口函数open、read、write、close等。 3.2 网络通信程序 在TCP/IP网络应用中,通信的两个进程间相互作用的主要模式是浏览器/服务器模式,即客户向服务器发出服务请求,服务器接收到请求后,提供相应的服务。 Linux中的网络编程是通过Socket接口来进行的,Socket相当于进行网络通信两端的插座,只要对方的Socket和自己的Socket有通信联接,双方就可以发送和接收数据了。在智能家居系统中,用户所持有的任意网络设备的和家用ARM9开发板就是Socketet通信的两端。 3.3 嵌入式WEB服务器和视频监控的实现 家居系统选用的Web服务器是一款非常小巧的,执行代码只有约60kB的一个单任务嵌入式boa服务器。客户端浏览器和嵌入式Web服务器之间通过HTTP协议所进行的“请求一>响应”的工作原理如图3所示。

工作原理

构建嵌入式服务器boa,并针对具体情况配置boa,这里在/etc下建立boa目录,并在/etc/boa目录下建立boa.conf文件。设置boa.-conf文件里的用户访问权限User nobody为user 0;Group nogroup为Group 0;日志目录Errorlog和AccessLog为var/log/boa/error log和/var/log/boa/access log;html文件目录为/var/www;默认首页为/var/www/;cgi脚本目录为ScriptAlias/cgi-bin//var-/www/cgi-bin。在Makefile文件里修改交叉编译器的路径,并把PC上/etc/mime.types文件拷贝到开发板的/etc目录下。 CGI(通用网关接口)定义了Web服务器与其他可执行程序(CGI)之间进行交互的接口标准。CGI程序用来完成Web网页中表单数据处理的动态交互工作,CGI程序与Web服务器,以及客户端浏览器之间交互工作的原理如图4所示。

交互工作的原理

这里编写的CGI程序主要完成客户端浏览器用户名和密码的校验,通过后完成本地数据的上传。 CGI程序对index.html提交数据的处理,通过登陆后提供进入视频监控界面(http://211.81.251.32:8888)的链接,我们用webc-am server作为浏览器端视频播放器,该播放器可随着监控网页的打开而自动下载到用户端浏览器,并不需要专用的浏览器,但看到监控效果是网页打开时刻的静止图像。 我们可以通过手动刷新来达到观看视频的目的,这里在CGI程序里嵌入Java Script程序实现图像每秒自刷新一次,嵌入自刷新部分程序如下:

嵌入自刷新部分程序

这样就可以看到每隔一秒图像就自动载入的动态视频,如图5所示,达到了视频监控的目的。

动态视频

4 结论 采用S3C2410处理器嵌入Linux操作系统的方法实现视频监控可最大程度地节省系统的软硬件资源,硬件部分是系统稳定性、指令执行速度和体积等方面的最佳选择,软件部分以裁剪Linux操作系统的方法实现,用一个精简的操作系统完成图像采集与网络传输的功能,十分适用于智能家居系统中的视频监控。不仅如此,智能家居的其它功能均可采用类似方法实现,事实上,一个庞大的智能家居系统完全可以由S3C2-410处理器、相关硬件和嵌入裁剪得当的Linux操作系统完成。
PARTNER CONTENT

文章评论1条评论)

登录后参与讨论

用户377235 2014-8-1 08:11

可以开发吗,我公司需要,有意18618218208,李
相关推荐阅读
xxmlyt 2014-07-22 11:21
【博客大赛】基于单片机的智能温度预警系统的设计方案
1.引言 随着社会的发展特别是工业的发展,人民生活的改善,安全问题变得更加重要。目前,在许多情况下,都需要对环境的温度进行限定,其中包括人的生活工作环境、仪器设备的工作环境以及动植物的生长环境等。...
xxmlyt 2014-07-06 07:47
无线传感器网络在智能交通系统中应用
  无线传感网促进智能交通的发展   智能交通系统(ITS)应用在城市交通中主要体现在微观的交通信息采集、交通控制和诱导等方面,通过提高对交通信息的有效使用和管理来提高交通系统的效率,主要是由信息采...
xxmlyt 2014-07-06 07:46
利用新型电子开关增强家居电能监测的智能化和安全性
您愿意额外支付10美元获得改善家庭供电质量的一些宝贵信息吗?例如冰箱、除湿器和空调的实际功耗信息?我的答案是“也许”。 是否投资电能检测技术,确实取决于很多因素。我马上想到的是:安装是否简单?什么时...
xxmlyt 2014-07-06 07:46
基于传感器设计室内照明设备的自动控制系统
1.引言 随着经济社会的飞速发展,电能越来越紧张,电能浪费的现象却依旧存在。许多高校存在着教室照明管理不到位的问题,在夜晚,空无一人的教室仍然是灯火辉煌,对于这类大型楼宇,照明节能日显重要。现普及...
xxmlyt 2014-07-06 07:46
智能家电中的传感器应用
面对智能化家庭网络的逐渐普及和发展,各种各样的传感器引入到家电中变得更加迫切。人们希望家电能增加使用的舒适度、减少耗能和耗水、清洗方便、降低噪声和振动、提高使用质量、实现复杂的智能。 以前传感器主要...
xxmlyt 2014-07-06 07:45
大步迈入智能家庭:智能家庭现有技术及验证要点分析
近几年,除了便携设备及穿戴式装置大行其道之外,另一个逐渐崭露头角的新趋势-智能家庭,从原本雷声大雨点小的状况,转而开始抓住众人目光。在今年的美国消费性电子大展(CES)上,众多科技大厂共襄盛举,并在会...
EE直播间
更多
我要评论
1
19
关闭 站长推荐上一条 /3 下一条