APP下载

基于Linux平台的远程监控系统设计

2018-03-10陆子幸宋健王凯

山东工业技术 2018年5期
关键词:无线传输远程监控

陆子幸+宋健+王凯

摘 要:该监控系统使用jz2440开发板,采用UVC摄像头对图像进行采集,然后通过WiFi无线网卡实现视频数据的传输,并且通过mjpg_streamer软件进行视频流的传输,最终在PC机和手机两个客户端实时的显示监控画面。经测试结果表明:该远程监控系统能够提高监控系统的稳定性、高效性,可以实现视频图像的实时传输。

关键词:UVC摄像头;无线传输;图像压缩;远程监控

DOI:10.16640/j.cnki.37-1222/t.2018.05.113

0 引言

远程监控系统包括嵌入式技术、计算机网络技术、多媒体技术、计算机视觉技术等信息技术,各种先进技术的结合使得监控系统的整体效率越来越高,让这些技术更好的结合并应用到现实的监控中是现在应该去解决的问题。[1-3]在实现远程监控的过程当中,视频图像的处理和传输是比较关键的技术。现在的监控系统多采用嵌入式Linux操作系统,该系统是一个开源的操作系统,这一点就会使得它的更新发展速度大大提高 [4-5]。

1 系统的整体设计方案

本系统是在Linux操作系统下实现的,系统整体设计方案如下:①在搭建的Linux操作系统的基础上实现采集和传输的软件设计。②在嵌入式平台下利用USB摄像头和WiFi无线网卡实现对图像的采集及传输。③通过mjpg_streamer软件将摄像头采集到的视频图像传给用户。系统的整体方案如图1所示。

2 系统软件的设计

2.1 USB摄像头驱动

本系统所用的摄像头是中星微zc301p摄像头,需要在内核中配置它才能够使用,然后重新编译烧写内核即可。

Device Drivers --->

<*> Multimedia support --->

<*> Video For Linux

[*] Video capture adapters (NEW) --->

[*] V4L USB devices (NEW) --->

<*> USB Video Class (UVC)

[*] UVC input events device support (NEW)

[*] GSPCA based webcams --->

<*> ZC3XX USB Camera Driver

从上面到就能看到UVC和GSPCA两者的驱动支持了,它们两个是两种摄像标准,一般的操作系统都会提供UVC标准的驱动程序,不需要安装任何的驱动就可以运行,早期的很多摄像头用的就是GSPCA标准,ZC301p就属于这一类型,在 GSPCA based webcams下最后能够找到ZC3XX的驱动支持。配置成功后USB摄像头就可以像普通文件一样被访问,对它进行读、写操作等。

2.2 WIFI无线网卡驱动的配置

本系统使用的是RT3070芯片的WiFi无线网卡,它的ID信息是:USB\VID_148F&PID_3070,要想使用网卡需要去配置内核。在虚拟机上执行以下命令cd drivers/net/wireless;grep "3070" * -nR。根据搜索到的结果确定使用哪一个源码,打开源码所在目录的Makefile进而确定配置项CONFIG_RT2800USB,然后在内核目录下执行make menuconfig命令,对内核进行如下配置:

-> Networking suppor

-> Wireless

<*> cfg80211 - wireless configuration API

<*> Generic IEEE 802.11 Networking Stack (mac80211)

-> Device Drivers

-> Network device support (NETDEVICES [=y])

-> Wireless LAN (WLAN [=y])

-> Ralink driver support (RT2X00 [=y])

<*>Ralink rt27xx/rt28xx/rt30xx(USB) support

配置完之后执行make uImage,用新内核重新启动开发板,插上WiFi无线网卡。根据打印信息知道要想使用该网卡,还需要添加固件,执行sudo cp rt2870.bin/work/nfs_root/fs_mini_mdev_new/lib/firmware命令把固件rt2870.bin放到根文件目录下。然后重新插上网卡,在虚拟机上执行ifconfig wlan0 up启动网卡,再执行命令ifconifg会打印出网卡的信息,说明该网卡成功使用。

3 视频图像的终端显示测试

3.1 手机客户端显示

要想实现视频流的传输需要移植mjpg-streamer软件,在移植之前,首先要对libjpeg进行移植,因为mjpg-streamer是会依赖于libjpeg库。这些工作完成之后启动开发板连接上USB HUB,然后插上wifi无线网卡和UVC摄像头,在虚拟机上进行测试,执行mjpg_streamer -i "input_uvc.so -f 10 -r 640*480" -o "output_http.so -w www" 命令啟动mjpeg-stream软件。手机连接上无线网卡发出来的WiFi热点,运行编写的手机Android软件,输入开发板的IP,进入监控界面。手机监控如图2所示。

3.2 PC机客户端显示

(下转第137页)

(上接第129页)

PC客户端可以直接在浏览器上看到监控界面,实现跨平台、即插即用的效果。它是通过IP 地址和端口号创建 Socket 对象,并创建此 Socket 对象的输入、输出流。最后PC机连接上无线网卡所发出来的WiFi热点,然后在google浏览器上输入:192.168.1.17:8080/?action=stream,就可以浏览监控界面,如图 3所示。

4 总结

本系统以ARM9开发板为平台,在Linux操作系统下实现远程监控,由于嵌入式技术在监控系统中的应用,使得监控系统的灵活性大大提高,解决了传统监控系统不能够灵活的添加模块的不足。使用UVC摄像头进行图像的采集,且简化UVC摄像头驱动的代码,应用WiFi无线传输的技术可以达到对视频图像实时传输的目的。

参考文献:

[1]周立功等.ARM嵌入式系统基础教程[M].北京航空航天大学出版社,2005.

[2]韦东山.嵌入式Linux应用开发手册[M].北京:人民邮电出版社,2008(246).

[3]马强.基于嵌入式Linux的视频采集系统设计与实现[D].西安电子科技大学,2011.

[4]LU T,ZANG H H,LI X J.Embedded video monitoring system on ARM and linux[C].Electrical and Control Engineering (ICECE),2011.

[5]李保国.基于嵌入式ARM的远程视频监控系统研究[D].南京理工大学,2009.

基金项目:国家自然科学基金项目(51505337);山东省高等学校科技计划(J17KA150)。

作者简介:陆子幸(1990-),男,山东泰安人,硕士研究生,研究方向:嵌入式应用技术。

猜你喜欢

无线传输远程监控
基于ZigBee的人体健康数据采集系统的设计
低功耗蓝牙传输远程脉搏血氧饱和度监测系统设计
基于无线传输的LED灯远程控制系统设计
无线传输LED十字屏集群控制系统
变电站直流电源智能化在线远程监测系统的实际应用
基于数据融合的家庭远程监护系统研究
公路路面现场检测数据无线传输系统的设计
保鲜库智能温度远程监控系统
数据中心服务器运行状态监控系统研究 
基于Android的青少年监护系统设计与实现 