引言随着第三代移动通信网络的成熟发展,基于移动通信网络的视频监控技术的应用越来越广泛。本文基于3G网络覆盖率高、可靠性强、传输速率快的优势,设计实现汽车防盗报警系统的可视监控。本设计在现有的电子式汽车防盗报警器的基础上,通过扩展通用接口,实现了对于车体原有报警系统的功能扩展,其总体结构框图如图1所示。本文着重阐述该系统视频监控部分的设计实现。本系统视频监控部分是在InterPXA270为核心的硬件平台上,通过构建嵌入式WindowsCE操作系统的软件开发实现上层应用。该设计以流接口方式开发摄像头驱动,并利用摄像头驱动提供的接口,实现嵌入式WindowsCE下实时图像的数据采集,对原始图像进行MPEG-4格式的编码压缩,同时在WindowsCE端利用SOCKET编程,实现监控数据的传输。1 硬件平台现有的汽车防盗报警系统的结构如图1虚线框内所示,本文着重设计实现的是此系统的视频监控部分。视频监控部分的硬件包括三个部分,采集监控数据的摄像头、多媒体处理器和通信模块。硬件搭建结构图如图2所示。视频监控部分的硬件平台是以InterXScale微体系结构的InterPXA270处理芯片为核心,选用SIM5218模块作为3G通信模块,采用双端口RAM技术实现视频处理和图1系统的总体结构框图3G通信模块的双CPU之间通信。其中,InterPXA270芯片的主频为520Hz,同时加入WirelssMMX技术,大大提高了多媒体处理能力。此外PXA270的InterSpeedStep动态电源管理技术,在保证CPU性能的情况下降低了设备的功耗;西门子公司的3G通信模块SIM5218支持高达7.2Mb/s的数据传输率,并且提供UART、USB2.0、GPIO和I2C等丰富的外围接口,降低了设计难度;本设计中摄像头选择了网眼2000,它采用OV511芯片为核心,具有COMS35万像素的清晰度,并采用USB方式通信,可以采用流接口的方式实时采集监控数据。2 软件功能基于WindowsCE操作系统的软件架构包括两部分。利用PlatformBuilder定制WindowsCE系统并开发USB摄像头驱动和数据发送端的开发,本文详细介绍USB摄像头驱动的设计和发送端的程序设计。系统的软件结构图如图3所示。WindowsCE流接口驱动程序是具有定制接口的驱动程序,表现为在用户一级的动态链接库DLL,是一般类型的设备驱动程序。流接口驱动程序中用来实现一组固定的函数称为流接口函数,这些流接口函数使得应用程序可以通过文件系统访问这些驱动程序。流接口驱动程序几乎支持任何类型的可以连接到基于WindowsCE.net的平台外部设备,其中包括USB设备。流接口驱动程序的主要任务是把外设的使用传递给应用程序,这是通过把设备表示为文件系统的一个特殊文件实现。应用程序通过文件系统的API函数调用流接口函数,然后流接口驱动程序调用本机驱动或者通过设备管理器与系统内核或外围打交道。2.1 摄像头驱动程序的流接口函数的实现开发摄像头驱动程序涉及到一组标准的流接口驱动程序的函数,如CAM_Init()、CAM_Deinit()、CAM_Open()、CAM_Read()等,这些函数是接口驱动程序的DLL接口,其中CAM_Init()、CAM_Open()、CAM_Read()和CAM_IOControl()最为重要。下面对这些重要函数进行详细介绍。(1)CAM_Init()CAM_Init()函数是通过设备管理器提供的ActiveDeviceEx()函数调用。在设备初始化时通过ActiveDeviceEx()将设备句柄信息写入Drivers\Active下面,当应用程序初始化时,注册表的地址将以Context参数形式传给CAM_Init(),利用RegOpenKeyEx()、RegQueryValueEx()等函数执行打开和读写注册表操作,等执行成功后返回USB设备的句柄信息等。驱动程序的部分源代码:(2)CAM_Open()在对设备进行读操作之前,首先要先通过执行CeratFile()来调用CAM_Open()打开设备,CAM_Open()所需的第一个参数是应用程序初始化时由CAM_Init()返回的设备句柄等信息,然后将设备关闭的事件设为无信号状态。下面是部分源码:程序中涉及的EnterCriticalSection()和LeaveCriticalSection()两个函数的作用是保证在临界区内所有被访问的资源不被其他线程访问,直到当前线程执行完临界区代码。EnterCriticalSection()和LeaveCriticalSection()分别表示为进入临界区和退出临界区。(3)CAM_IOControl()程序设计中通过CreatFile()函数调CAM_Open()打开摄像头设备,通过ReadFile()将返回值传给CAM_IOControl()流接口函数,而CAM_IOControl()则调用OV51xReadOneFrame()对USB设备数据进行读取。下面是部分源码:对于USB总线上的数据传输,一共有四种传输类型,分别是控制传输、中断传输、批量传输和实时传输,这四种传输类型分别应用到不同的USB设备。其中实时传输适用于以固定速率或特定时间内传输,可以容忍偶尔错误的流数据情况,对于USB摄像头这种实时性要求比较高的设备一般选用实时传输,所以在CAM_Read()中就需要用到实时传输函数IssueIsochTransfer()来读取摄像头采集的数据。如果IssueIsochTransfer()执行后返回一个标示句柄,则代表执行成功,如果无返回值,则表示执行失败。在每次得到一包数据时,查找帧开始标记,如果查找到,则复制剩余的所有数据到应用程序的缓冲中。在程序的Ov51xReadOneFrame()函数中,pDataBuff申请了9610B空间,dwFrameLen为10次传输每次的长度,这里都设置为961。图4为Ov51ReadFrame()软件流程图。2.2 通信发送端的设计实现通信发送端主要完成RTP/RTCP协议封装和解封装、网络发送与数据获取。本文所实现的是基于RTP/UDP/IP协议栈的MPEG-4实时流媒体传输,是移动视频监控系统中网络传输部分的子模块。采用JRTPLIB库函数来实现RTP的实时传输。传输部分的系统架构如图5所示。该发送端的主要功能是将音视频流封装到RTP包内通过3G网络传送给接收端,同时发送和接收RTCP包进行反馈控制,以期达到最佳效果。基于WindowsCE平台通过调用JRTPLIB函数库来编程实现实时流媒体传输。由于RTP协议并不作为独立的网络层来实现,它采用应用层组帧的理念,作为应用程序代码的一部分,本文针对一个具体媒体的应用通过应用程序实现RTP封装分组,然后将RTP分组交给UDP接口,采用JTHREAD作为线程库,完成多线程的操作。利用RTP来做视频传输分2个session来完成:一个负责声音传送;另一个负责视频传送。发送端的部分主程序如下:3 结语本文在现有的汽车防盗报警系统的基础上,通过接口的扩展,实现了基于3G网络的视频监控功能,并详细阐述了摄像头的流接口函数和通信发送端的设计。此外,通过该系统的通用接口的扩展,该系统还可与具体行业或家庭应用相结合,实现手机对于小范围环境的可视化监控。该系统的设计实现不但对于汽车防盗产品的发展有着重要的意义,同时对于基于3G网络的可视化监控的发展提供了良好的应用前景。

基于3G网络的汽车防盗报警系统视频监控设计相关推荐

  1. 基于3G网络的汽车防盗报警系统视频监控设计[图]

    引言随着第三代移动通信网络的成熟发展,基于移动通信网络的视频监控技术的应用越来越广泛.本文基于3G网络覆盖率高.可靠性强.传输速率快的优势,设计实现汽车防盗报警系统的可视监控.本设计在现有的电子式汽车 ...

  2. android 远程视频监控程序源码,详解基于Android已开放源代码的远程视频监控系统教程...

    网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket.Socket的英文原义是"孔"或"插座".通常也称作"套接字 ...

  3. 基于EasyDarwin流媒体云平台的智能视频监控系统框架

    基于EasyDarwin流媒体云平台的智能视频监控系统框架 EasyDarwin云平台作为国内较有影响力的开源流媒体平台,集流媒体分发,录像,信令交互为一体,目前已经被广泛应用到监控互联网各个领域:从 ...

  4. 基于指纹识别的汽车防盗系统设计

    摘要:随着汽车大量进入家庭,汽车盗窃案件也呈上升趋势.现在市场上的汽车报警装置,普遍存在着误报率高和无法有效通知车主的缺陷.针对指纹的惟一性和终身不变性的特点,在现有嵌入式指纹识别系统的基础上,利用单 ...

  5. 异常检测 | 基于Siamese网络学习距离函数来定位视频中的异常

    关于<Learning a distance function with a Siamese network to localize anomalies in videos>论文学习 这篇 ...

  6. 基于c语言防盗系统,基于STC89C51的无线智能防盗报警系统.doc

    摘要:此次毕业设计为无线智能防盗报警系统,系统主要是由两大部分组成,分别为发射模块和接收模块.其中发射模块中有热释红外传感器.编码模块以及315发射模块.而接收模块中分别有315接收模块.解码电路.单 ...

  7. 基于java spring框架开发部标1078视频监控平台精华文章索引

    部标1078视频监控平台,是一个庞杂的工程,涵盖了多层协议,部标jt808,jt809,jt1078,苏标Adas协议等,多个平台功能标准,部标796标准,部标1077标准和苏标主动安全标准,视频方面 ...

  8. 考场视频监控设计:如何基于EasyCVR打造考场在线巡查系统?

    随着我国教育改革的不断深入.互联网技术和计算机技术的快速发展,高校招生考试的现代化管理水平也在不断提高,实施教育考试网上巡查是新时期考试管理的需要.近年来,考试中违规舞弊行为的隐蔽性和造假手段的现代化 ...

  9. 【论文】基于AI边缘计算的铁路行车视频监控智能识别研究

    本文转载自<科技与创新>2022年第01期 作者:李博, 杨欣 单位:中国铁路武汉局集团有限公司麻城车务段 声明:本文仅用于学术分享,不做商业用途,如有侵权,联系即删除 摘要 随着铁路信息 ...

最新文章

  1. centos查看特定程序占用端口情况
  2. MySQL - 锁机制初探
  3. java 抛异常 jvm_邪恶的Java技巧使JVM忘记检查异常
  4. 去掉前后空格_mysql批量去掉某个字段字符中的空格
  5. nodejs生成动态网页
  6. 【华为】对标谷歌Dropout专利,华为开源自研算法Disout,多项任务表现更佳
  7. EasyRecovery 618年度大促销,走过路过不要错过!
  8. 王兴191条思考:一个顶级创始人的修炼与洞察
  9. uniapp mescroll注意事项
  10. 补全Windows10中的emoji 替换系统emoji字体
  11. java代码实现雷达图_雷达图的一种实现! Cocos Creator !
  12. 【线性代数】矩阵分解(Matrix Factorization)笔记:非负矩阵分解
  13. libtorrent源码分析(二)VS上libtorrent编译总结
  14. Android 加载数据等待时 小人奔跑进度动画
  15. 嵌入式linux读取sht20温湿度传感器例程
  16. 【深度首发】禾多科技倪凯:作为自动驾驶领域的“拓荒者”,能否成为推动自动驾驶汽车商业落地的第一人?丨Xtecher 封面
  17. WIN7下建行捷德U盾支付
  18. python学习笔记9——第八章 异常
  19. PS 2021锁死各项AI新技术!用起来比美图秀秀更简单,几个键搞定老照片修复、变妆、绘画风格转换...
  20. 使用screen恢复会话时出现There is no screen to be resumed matching错误解决办法

热门文章

  1. codeigniter 禁止ip登录_「开源资讯」baigo SSO v4.0 beta-3 发布,单点登录系统
  2. python3.7扩展库是什么_Python3.4以后的版本中,____________库用于安装管理Python扩展包,________________库用于发布Python包。_学小易找答案...
  3. eclipse中配置Maven仓库
  4. Java知识点:条件编译
  5. Android开发者珍藏必备【学习资料篇】
  6. 刚从阿里面试回来已拿到offer想和大家分享一下(阿里面试经验)
  7. 近期code review几处小问题集锦
  8. CMake入门指南-编译教程
  9. 简明 Python 编程规范v2
  10. 海量数据处理算法—Bit-Map