微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于ARM的智能车无线视频监控系统设计

基于ARM的智能车无线视频监控系统设计

时间:10-15 来源:互联网 点击:

一而不能开启硬件解码功能。由于以上问题,所以本文采用一款开源软件mjpeg—stream网络视频服务器代替MFC。mjpg_streamer是一款开源网络视频服务器,需要很少的CPU和内存资源就可以工作,大部分编码工作都是摄像头完成的,非常适合嵌入式环境使用。

2.1.1 网络视频服务器mjpeg—strearm的移植

从v4l2接口采集的数据的压缩与解码我们选择了网络视频服务器mjpeg—stream,我之所以不选择集成在cpu内部的MFC模块还有一个原因是因为本次设计的智能车远程无线视频监控系统要支持远程的web界面的访问操作,如果选择MFC就要移植类似Boa等的嵌入式web服务器才能进行远程访问同 MFC模块采集的视频流还需要在pc端采用开源的软件和函数库才能实现视频的播放,而mjpeg-stream网络视频服务器却可以省掉这些步骤,因为 mjpeg—stream支持实现远程的web访问。这样就降低了开发的工作量和复杂性,其下为mjpeg —stream移植编译。图3为mjpeg—stream对数据采集与发送的流程。

2.1.2 智能车视频监控系统数据接收与显示模块的设计

由图2(a)和图3可知mjpeg—stream网络视频服务器内部有两个服务器,http服务器和视频帧抓取服务器。http服务器将视频帧抓取服务器采集的图像帧以Http协议数据帧的形式发给客户端。所以要完成的编程工作有两部分:一是从http服务器读取Http协议数据帧 (Http协议数据帧由http协议相关的头信息和图像数据帧(jpeg格式)),二是将Http协议数据帧中的图像数据帧提取出来。本文的GUI界面采用Qt进行设计实现C/S、B/S架构的客户端和web客户端。智能车监控系统视屏界面的显示有两个部分组成:一是通过Tcp协议将传输的数据接收 (socket编程实现),二是客户端的视频图像的显示。客户端软件的设计流程图如图4所示。

由于我们通过编程把Http协议数据帧中的图像数据帧提取了出来并显示在客户端从而实现了视频实时监控,所以可以在主函数再起一个线程完成图像的抓取功能即拍照功能。这样在智能车对未知空间的探索进行分析提供了数据依据。

2.2 wifi功能模块的设计

本次开发的智能车无线视频监控系统的另一核心就是wifi模块的开发。构成无线网络的最基本的两个要素是:一是一台AP(Access Point),二是无线网卡。以上两点便可以构成一个简单的无线网络。因为我们要通过智能终端和pc机上的客户端对智能车远程进行控制,所以如何将智能车变成一个可移动的wifi热点是我们本次设计的重点。

嵌入式开发的一个核心的内容是在有限的硬件资源上如何使用各种开源软件完成我们需要的功能。所以将智能车变成可移动的wifi热点需要以下步骤:

1)下载安装rtl8188eu无线芯片的驱动;2)使用hostapd开源软件,使无线网卡切换为master模式,模拟AP(路由器)功能;3)使用dnsmasq开源软件动态分配IP给客户端在开发板上主要步骤实现过程如下所示:

#insmod/home/wifi/8188eu.ko

# ifconfig wlan0 192.168.137.1(启用无线网卡)

# ./hostapd rtl_hostapd_2G.conf-B(模拟AP功能)

#./dnsmasq—C dnsmasq.conf(开启DNS和DHCP功能)

通过对以上开源软件的移植开发便可以将智能车生成一个可移动的wifi热点,通过手机等智能终端便可以对智能车无线视频监控系统进行控制。图5展示了连网成功后智能车无线视频监控系统的工作状态。

3 结论

本文实现了以s5pv210为核心处理的智能车无线视频监控系统。本系统既可以使用智能终端通过wifi对智能车无线视频监控系统的控制,也可以通过有线连接的方式进行控制。智能车即可以实时的视频监控和拍照也可以通过开发板的上温度传感器和有害气体传感器进行周围环境的探测,因此可以在城市安全、国防和空间探测领域等有害与危险场合得到一定的应用。对于今后智能车的开发也有一定研究价值。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top