随同电子信息技能,网络技能及多媒体技能的快速开展,嵌入式无线视频监控技能也在不断的飞速开展。视频监控体系正在向数字化、网络化和集成化方向开展,因而研讨根据嵌入式的视频监控体系是必要的。根据嵌入式的无线视频监控是以高性能处理器为中心,操控外围部件进行视频收集和紧缩编码,再将视频流以无线的办法发送到中止进行存储显现。与其他监控体系比较,运用嵌入式技能的无线视频监控体系易装置,体积小,能够完结无人值守,关于各种特别场合需求的视频监控能够满意运用要求。
钱华明等人提出了一种根据S3C2410硬件渠道和嵌入式Linux操作体系,将收集的视频数据进行MPEG-4编码,再经过CDMA模块,完结无线网络视频传输。涂继辉等人提出了以高性能ARM9芯片作微处理器,经过嵌入式Linux收集USB摄像头视频数据,经MJPEG-4紧缩,经过2.4 GHz无线发送/承受模块完结无线视频监控。张伟男等人提出了一种根据3G无线网络传输的移动视频监控体系的计划,完结了实时监控的功用。
为了完结室内视频监控体系的网络传输,在确保传输安稳和多用户的需求前提下,本文选取了主频更高的ARM11作为处理器,以802.11g的无线局域网和Mjpg—streamer视频服务器为传输前言的无线视频监控体系。
1 体系计划规划
1.1 中心操控器
微处理器是体系硬件的中心,考虑到ARM低功耗、低本钱、高性能等特色,本文选用ARM11 S3C6410微处理器为中心的飞凌OK6410开发板,S3C6410是一款高性能32位的RISC微处理器,主频高达667 MHz,它选用64/32位内部总线架构,具有视频处理、二维图形显现和缩放等硬件加速器功用。该开发板有256MB DDR和2 GB NAND FLASH,CPU内部集成SDRAM操控器、32通道DMA、4通道UART、SD接口、USB接口及以太网接口等,为各种运用开发供给了强壮的支撑。体系硬件架构图如图1所示。
1.2 数字摄像头
OK6410有1个CMOS摄像头接口,但因为摄像头只能固定在开发板上,不便于装置和放置,故本规划选用USB摄像头。考虑到本钱问题,摄像头选用天敏10moons,经测验该设备能够用于OK6410开发板上,且输出YUV格局的视频帧数据。
1.3 WIFI模块
本规划运用的WIFI模块为飞凌公司自行规划出产的,接口为2.0距离的双排插孔“CN4”,主芯片型号为“WM-G-MR-09”。在连无线网络之前,先封闭DM9000网卡,再发动SDIO WIFI,指令分别为:ifconfig ethO down和ifconfig wlanO up。
2 体系软件渠道
软件规划包括嵌入式操作渠道的建立以及视频服务器软件的移植。为此,首要建立嵌入式穿插编译环境。Ubuntu是一个以桌面运用为主的Linux操作体系,且具有装置体系简略和图形界面人性化特色,故选用Ubuntu 12.04为宿主机电脑操作体系。穿插编译器挑选arm—linux —gcc 4.3.2版别。
2.1 嵌入式操作体系的挑选和移植
现阶段干流的嵌入式操作体系有Linux、WinCE和μC/OS—II,其间Linux以其充沛的开源性和杰出的可移植性被广泛运用,此次规划选取Linux 3.0.1版别的体系。
2.1.1 内核的裁剪与移植
内核的裁剪便是对各个功用进行裁剪,选取满意特定渠道和需求的功用。Linux内核选用模块化规划,而且各个模块源码以文件目录的办法寄存,在对内核的裁剪和编译时十分便利。
1)USB摄像头驱动模块的增加
进入内核文件目录,履行make menuconfig指令,进入Linux内核装备界面一次挑选Device Drivers->Muhimedia devices->Video For Linux->Video capture adapters->V4L USB devices->USB Video Class (UVC1->UVC input events device support将USB摄像头驱动编译进内核。
2)SDIO WIFI驱动模块的加载
体系的通讯办法选用的是无线传输,因为这是体系的基本功用,能够选用将无线网卡驱动直接编译进内核的办法来完结。详细进程如下:
进入Linux内核装备主界面后,首要装备网络支撑:Networking support->Wireless,然后装备网卡驱动支撑:Device Driver->Network device->Wireless LAN->Wireless LAN(IEEE802.11),最终装备SD HOST驱动支撑:Device Driver->MMC/SD/SDIO card support。
对内核装备完结后,运用make zImage指令编译Linux内核,将生成可引导的、紧缩的zImage映像文件,可直接烧写到开发板。
2.1.2 引导加载程序Bootloader的移植
Bootloader是操作体系运行前履行的一段小程序,在对体系硬件进行初始化,完结内存空间映射表的建立等操作后,完结对操作体系的加载。常用的Bootloader品种主要有:RedBoot、ARMboot、Vivi、U—Boot和Blob等。因为U—boot的开源性,以及多功用、灵活性强,支撑多种渠道的特色,使其在多种渠道上得到了遍及的选用,本规划也运用U—Boot来引导体系的发动。
2.1.3 根文件体系的移植
文件体系是操作体系在磁盘上安排文件的办法,经过运用文件体系,用户能够对数据进行通明且有效地存取和拜访。Linux根文件体系一般包括如图所示的目录结构:
Yaffs是第一个专门为Nandflash存储介质而规划的嵌入式文件体系,yaffs有很好的鲁棒性,对发动时刻和RAM运用都做了优化,加快了文件体系的加载和拜访速度。故本文用yaffs作为根文件体系。
2.1.4 一键烧写Linux
OK6410支撑一键烧写,便是凭借SD卡、体系映像和烧写东西,经过一系列的操作,十分迅速地烧写Linux到开发板的Nandflash中。详细步骤如下:
1)将SD卡格局化为FAT32格局,经过SD_Writer.exe将mmc.bin烧写到SD卡中;
2)将U—Boot、zImage和yaffs2文件拷贝到SD卡中;
3)将SD卡刺进开发板,拨动开发板的拨码开关,设置为SD卡发动;
4)设置DNW串口,给开发板上电,等候5分钟左右即可;
5)断电,将拨码开关设置为Nandflash发动,重新发动电源,便完结体系烧写。
2.2 Mjpg—streamer移植