新闻中心

EEPW首页>嵌入式系统>设计应用> 基于ARM的智能家居视频监控系统

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

作者: 时间:2010-06-24 来源:网络 收藏

2的架构
鉴于家居系统的结构特点,选用集软硬件于一体,具有软件代码小、高度自动化、响应速度快等特点的嵌入式系统。设计采用(Adva-nced RISC Machinesl核嵌入Linux操作系统的方法实现。系统主要由嵌入式S3C2410处理器、相关支撑硬件、USB摄像头、嵌入式操作系统Li-nux及应用软件等部分组成,该系统是可以独立工作的“器件”。
2.1 系统的硬件结构
系统硬件部分主要包括S3C2410处理器、储存器和外围电路,其结构框架如图2所示。


9的嵌入式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有通信联接,双方就可以发送和接收数据了。在系统中,用户所持有的任意网络设备的和家用9开发板就是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作为浏览器端视频播放器,该播放器可随着监控网页的打开而自动下载到用户端浏览器,并不需要专用的浏览器,但看到监控效果是网页打开时刻的静止图像。



评论


相关推荐

技术专区

关闭