视频监控系统中云台控制模块的设计与实现

发布者:平安宁静最新更新时间:2011-11-22 关键字:IP网络  视频监控  云台控制 手机看文章 扫描二维码
随时随地手机看文章

随着多媒体技术和网络通信技术的迅速发展,视频监控技术在国民生产生活的各个领域得到了广泛应用。而云台控制系统的出现为增加视频监控系统的监控范围、提高摄像头的监控效率起到了巨大作用。对于云台控制系统,参考文献[1]提出了基于DSP芯片的云台控制系统,参考文献[2]提出了在Visual C++编程中利用ActiveX控件实现云台控制的方案。但是,这些方案由于没有现成的开发工具支持,开发周期长、成本高且开发出来的系统在网络环境不佳时,运行不够稳定。针对这种情况,以及ARM11微处理器具有优异的多媒体数据处理能力和高度智能化的特点,本文提出了运用Net-SNMP开发工具,通过在嵌入式ARM11平台上移植SNMP代理的方法实现IP网上云台的远程控制方案。

1 基于ARM11的嵌入式视频监控系统

如图1所示为典型的嵌入式视频监控系统[3],S3C6410处理器通过控制外围设备进行视频采集,并将压缩编码后的信号发送给监控终端。同时,嵌入式处理器通过网卡接收监控终端发送过来的云台控制命令,按照云台控制协议将其解码并通过RS485端口发送给云台,实现对云台的控制功能。

 

2 系统硬件设计

基于SNMP和ARM11的云台控制系统的硬件部分由主控制板模块、云台模块和传输模块组成。

系统硬件部分主要包括:微处理器及存储电路模块、电源时钟模块、网卡模块和外围接口电路模块等[3]。DM9000网卡用于从IP网接收远程控制命令;RS485串口用于微处理器与云台之间的通信。Flash用于存储各种固化程序;SDRAM用于系统运行时程序的存取;串口RS232用于打印输出信息和程序的调试。

2.1 主控制板模块

主控制板模块(即核心控制器)S3C6410是三星公司基于ARM1176JZF-S内核构建的高性能多媒体应用微处理器,由于其内部集成了硬件编解码单元MFC,使其在多媒体信号处理上大大优于早期的同类产品。S3C6410内部结构复杂,其内部集成有1个LCD控制器、SDRAM控制器、NAND Flash控制器、I2C总线接口和看门狗计数器等。完善的外设和667 MHz的运行频率,使S3C6410处理器很适用于智能控制系统的开发。

2.2 云台模块

云台是一种安装在摄像机支撑物上的工作台,用于支撑摄像机以实现水平和垂直运动等辅助功能。一般云台摄像机内置有解码器,遵循云台控制标准协议,根据外部控制信号可以对其实现控制。本系统采用3030WQ型云台和PELCO-D云台协议。其云台协议如表1所示,系统硬件架构如图2所示。

 

 

云台数据格式为:1位起始位、8位数据位、1位停止位,无效验位。波特率为2 400 B/s。

云台的停止、左、右、上、下命令分别对应:0xff,0x01,0x00,0x00,0x00,0x00,0x01;0xff,0x01,0x00,0x04,

0xff,0x00,0x04;0xff,0x01,0x00,0x02,0xff,0x00,0x02;0xff,0x01,0x00,0x08,0x00,0xff,0x08;0xff,0x01,0x00,0x10,

0x00,0xff,0x10(这里的地址码均设为0x01)。

3 软件设计

软件设计包括嵌入式系统构建和应用软件两部分[4]。嵌入式系统部分按照华恒科技S3C6410用户手册构建,其包括了引导程序(Bootloader)、Linux内核、驱动等,软件框图如图3所示。
[page]

Bootloader、Linux内核和设备驱动程序形成基本的嵌入式运行环境,应用层软件snmpd为SNMP代理软件,负责接收、解码控制命令,并将解码后的命令通过串口RS485发送到云台模块,实现对云台运动方向的控制。

3.1 Linux2.6.21操作系统定制

本系统采用开放源代码的嵌入式Linux2.6.21作为操作系统。首先对Linux内核进行裁剪,保留本系统所需的NAND Sevice Support、UDP协议以及串口支持、套接字、NFS文件系统等。裁剪包括并口支持、USB口支持、WLAN协议支持、SD卡支持等驱动模块。将裁剪后的内核通过交叉编译器编译即可得到ARM处理器能够运行的文件。然后再将镜像文件通过Bootloader下载到目标板的Dataflash中。

3.2 应用程序snmpd的开发

3.2.1 Agent开发环境的建立

由于嵌入式Linux系统的资源有限,不可能在其上运行开发和调试工具,因此,采用“宿主机即目标机”的开发形式。宿主机和目标机通过串口与网口连接。宿主机是安装了Linux系统的PC机,在宿主机上建立交叉编译环境,程序在宿主机上进行编译,然后通过交叉编译工具得到在嵌入式操作系统上运行的可执行文件。本系统采用Linux2.6.21版本作为PC机的操作系统,编译器选用Arm-linux-gcc3.4.1版本,以Net-snmp v5.4.2作为开发工具,目标机CPU为ARM11微处理器。

3.2.2 MIB库的扩展

开发环境建立后,就可以进行SNMP代理软件的开发。依据Net-SNMP开发文档,要在SNMP代理中实现自定义的功能(云台控制)就需要对其MIB库进行相应的扩展。MIB文件的编写要遵循SNMP协议中SMI部分的要求[5-6]。下面是本文编写的实现云台控制功能的MIB库文件,本文将其命名为S3C6410.txt。

S3C6410-MIB DEFINITIONS ::= BEGIN

IMPORTS

TimeTicks FROM SNMPv2-SMI

enterprises FROM SNMPv2-SMI

OBJECT-GROUP,NOTIFICATION-GROUP FROM SNMPv2-CONF

OBJECT-TYPE, Integer32, Gauge32, MODULE-IDENTITY

FROM SNMPv2-SMI

TEXTUAL-CONVENTION FROM SNMPv2-TC;

S3C6410 OBJECT IDENTIFIER::={ enterprises 9000 }

DIRECTION OBJECT-TYPE

SYNTAXInteger32

MAX-ACCESS read-write

STATUScurrent

DESCRIPTION

"DIRECTION controll the directions of the camera.

The number ‘0’ equals the command ‘stop’

The number ‘1’ equals the command ‘left’

The number ‘2’ equals the command ‘right’

The number ‘3’ equals the command ‘up’

The number ‘4’ equals the command ‘down’

The other number equals the number ‘0’

"

DEFVAL { 0 }

::={ S3C6410 1 }

END

MIB文件S3C6410.txt描述了0、1、2、3、4分别代表的涵义。即,当SNMP代理软件(snmpd)接收到了控制端发送过来的0、1、2、3、4信息时,分别将其解释为stop、left、right、up、down命令。

3.2.3 C代码(框架)的自动生成和自定义功能的加入

按照SMI规范编写好MIB库文件后,将MIB文件放在usr/local/share/snmp/mibs/目录下面,并用Net-SNMP自带的mib2c工具生成相应的C文件S3C6410.c和S3C6410.h;然后将这两个C文件拷贝到net-snmp.5.4.2/agent/mibgroup/examples/目录下,并在生成的S3C6410.c模板上添加需要的功能[7]。下面是主要添加和修改的部分。

(1)依据PELCO-D云台协议定义一维字符型数组stop、left、right、up、down。当SNMP代理接收到stop、left等命令时,就可以按照下面的定义将命令翻译成云台模块可以识别的码流。

char stop[7]={0xff,0x01,0x00,0x00,0x00,0x00,0x01};//0

char left[7]={0xff,0x01,0x00,0x04,0xff,0x00,0x04};//1

char right[7]={0xff,0x01,0x00,0x02,0xff,0x00,0x02};//2

char up[7]={0xff,0x01,0x00,0x08,0x00,0xff,0x08};//3

char down[7]={0xff,0x01,0x00,0x10,0x00,0xff,0x10};//4

(2)打开串口并设置串口参数,SNMP代理通过串口控制云台转动。

open("/dev/s3c_serial1",O_RDWR | O_NDELAY |

O_NOCTTY)//打开串口

//设置串口参数

tio.c_cflag = B2400 |CS8 |CREAD |CLOCAL;

tio.c_cflag &= ~HUPCL;

tio.c_lflag = 0;

tio.c_iflag = IGNPAR;

tio.c_oflag = 0;

tio.c_cc[VTIME] = 0;

tio.c_cc[VMIN] = 0;

……

(3)在case MODE_SET_ACTION:下添加云台控制功能。

case MODE_SET_ACTION:

……

switch(direction)

{

case 0://当接收到0时执行stop命令

write(fd,stop,7);

close(fd);

break;

……

……

case 640://当接收到640时启动application

system("exec /mnt/nand/my.application &");

break;

default://错误处理

……

}

当snmpd接收到0、1、2…时,分别向串口写入stop、left、right…命令。

3.2.4 snmpd的编译、配置和移植

(1)在net-snmp-5.4.2.1目录下使用CC=arm-none-linux-gnueabi-gcc ./configure --build=i386-linux --host=arm-none-linux-gnueabi --enable-mini-agent --disable-ipv6 --with-endianness=little --disable-manuals --disable-ucd-snmp-compatibility --enable-as-needed --disable-embedded-perl --without-perl-modules --disable-snmptrapd-subagent --disable-applications --disable-scripts --with-mib-modules="S3C6410"命令进行配置编译选项,这里可以添加需要或者去掉一些不需要的选项。配置完成后使用make install命令进行编译、安装。编译得到的snmpd比较大,但可用arm-linux-strip snmpd进行处理即可得到需要的snmpd文件。

(2)snmpd.conf文件的配置。配置文件用于存放代理进程所需的配置信息。代理进程在初始化时访问该文件:读取所需的参数、地址以及启动运行及进入循环后读写SNMP报文所需的其他信息。下面是本设计中缩减后的SNMP代理配置文件内容:

#sec.namesourcecommunity

com2sec locallocalhostpublic

com2sec mynetwork 192.168.1.0/24public#我的网段

在168

为了便于测试,可以将组设置为可读写,如:group MyRWGroup v2c mynetwork。

(3)移植到目标开发板。将snmpd和修改后的snmpd.conf文件移到宿主机的Windows下。启动目标板,将snmpd文件上传到目标板/usr/sbin目录下(需要将访问

权限更改为可执行),将snmpd.conf文件上传到/usr/local/share/snmp/下(不存在的目录先要创建)。然后就可以启动snmpd了。

4 系统测试

测试环境为:内线速率为10 Mb/s的局域网Intranet;控制终端采用戴尔Vostro230型PC机(主频2.7 GHz,内存2 GB,Windows XP操作系统,IP地址:24.84.58.129)。为了方便测试,控制软件采用ManageEngine-MibBrowser软件,ARM11板IP地址设为24.84.58.224。

在系统搭建完成后,启动ARM板,同时在控制端PC机上打开ManageEngine-MibBrowser软件,并加载MIB文件。设置好相关参数后,向ARM板分别发送控制命令1(左)、2(右)、3(上)、4(下)、0(停止)。

实验表明,该方案能够在IP网络上稳定可靠地实现对云台的远程控制功能,效果非常好。

本文将先进的嵌入式技术与SNMP协议相结合,通过MIB扩展和SNMP移植,成功地在ARM11平台上实现了对云台的远程控制,并给出了运用Net-SNMP工具实现云台控制功能的详细方法。该方案不仅新颖,而且稳定可靠,开发周期短,具有很高的市场应用价值。目前,该方案已在某单位网络管理系统的视频监控模块中得到运用。

 

 

关键字:IP网络  视频监控  云台控制 引用地址:视频监控系统中云台控制模块的设计与实现

上一篇:针对以太网供电的一种节能的以太网方案
下一篇:有机太阳能电池架构将迎来性能突破

推荐阅读最新更新时间:2024-05-02 21:43

科胜讯推出用于视频监控和监视应用的新型高清晰度编码器
为图像、音频、嵌入式调制解调器及视频监控应用提供创新半导体解决方案的领先供应商科胜讯系统公司 (纳斯达克代码:CNXT) 推出低能耗 DIFT JPEG 编码器CX93610,该编码器包含一个 656 摄像头接口和可选麦克风输入。CX93610 是一款独立的混合信号特殊应用标准产品(ASSP),专为监视和监控摄像头应用而设计,包含拥有视频、可视对讲/门口对讲机、婴儿监视器和远程家庭监控的 PIR 传感器。 科胜讯的 CX93610 拥有低成本、低能耗和高度图像压缩功能,非常适用于要求视觉验证的无线摄像头安全解决方案,并可大幅减少文件大小。 CX93610 采用一个外接 CMOS 图像传感器,可提供各种专门的 JPEG 编码
[模拟电子]
HDcctv出世,视频监控系统市场将掀标准战?
  数家芯片与系统供货商日前正式发表针对高画质监控系统(high definition surveillance systems)应用所开发的一项新标准HDcctv,支持者期望新标准能催生一个更容易布署、成本更低的网际网络协议(IP)系统替代方案。   负责推动新标准的组织HDcctv联盟(HDcctv Alliance),已经发表了0.9版的标准内容并欢迎成员加入;该联盟期望能在今年九月推出采用最终1.0版标准的摄影机,并在2010年推出完整的系统。   而新标准原本是定义关于透过HD-SDI连结来交换视频分辨率与帧频(frame rates)信息的握手协议(handshake protocol);HDcctv联盟希望未
[安防电子]
MPEG-4在视频监控应用中的软件实现
The Software Realization of MPEG-4 Based on video surveillance application Li Qing-ping , Shi Zhong-suo,Chen Ming (University of Science and Technology Beijing, Information Engineering Institute, Beijing,100083)Abstract Due to the characters of video surveillance, this paper mainly discusses the softwarerealization of
[模拟电子]
MPEG-4在<font color='red'>视频监控</font>应用中的软件实现
视频监控与大数据如何结合?
对于如今的视智能安防市场来说,视频监控与大数据结合无疑是一条切实可行的道路。在产品趋同、竞争激烈的当下,如果可以在某一行业深耕下去,研发出有自己特色的产品与解决方案就可以在行业里占有一席之地,同时也可以避开与大企业的正面交锋。 随着全国各地平安城市项目的大规模推进,视频监控成为智能安防领域中发挥着越来越重要的作用。现在不仅在机场、车站、码头等人流集中的公共场所采用视频监控系统,而且在一些办公场所和住宅小区也安装了视频监控系统,在一些如监狱等重要场所更是提出视频监控全覆盖的应用要求。 与此同时,视频监控产生的数据将会迅速的增长。在建设智能安防的路上,如何利用大数据发挥视频监控的最大效能与数据本身的应用价值,我们还需进一步探索。
[安防电子]
嵌入式网络智能视频监控系统设计方案
0 引言 视频监控技术经历了3 个主要的发展阶段:第1代是以磁带存储为主要特征的本地模拟视频监控系统(VTR 时代);第2代是以ISDN 网络为基础、并综合应用数字压缩、时隙交换和数字硬盘录像机的数字视频监控系统(DVR时代);第3代是基于IP网络的视频监控系统。伴随网络技术数字视频技术和图像技术的飞速发展,视频监控正向智能化的方向发展,即智能视频监控。与非智能化得视频监控相比,智能视觉监控能实现主动监控,采用智能算法对监控到的画面进行智能分析,进而进行相应的动作。 智能视频监控有基于PC 机的智能视频监控系统和嵌入式的智能视频监控系统。两者相比,嵌入式的智能视频监控系统具有便携、低功耗、应用领域广泛等优势,随着嵌入式智能视频
[单片机]
嵌入式<font color='red'>网络</font>智能<font color='red'>视频监控</font>系统设计方案
安防视频监控最值得关注的七大技术趋势
物联网透过具有网络联机能力的“智能”摄影机、门禁管控站和音频设备,让组织和城市更为安全,并且提供更有效率的业务。2017年将会为这些设备增添更多“智慧”,让客户专注于最擅长的事项,并交由安全专家改进所提供的服务。 住在世界上不同半球的你,现在可能需要开启暖气,或是穿上短袖上衣和太阳眼镜。而此时也是展望2017年,思考我们即将面临哪些挑战的时候。 从全球性角度来看,整个世界将经历动荡变化,包含冲突、政治不确定性、持续的难民危机,以及最近经济衰退以来略显脆弱的经济复苏。在此同时,技术发展仍持续不断,高速网络、巨量数据(big data)和深度学习已经过初期阶段,不再仅是营销热门用语,现在已经能应用于新的安全升级方案。 同样的,我们预期
[安防电子]
UltraSoC的Bus Sentinel硬件网络安全硅知识产权(IP)荣获安全技术奖项
UltraSoC 在不久前于德国慕尼黑举办的Embedded World 2020大会上,荣获了由行业门户Embedded Computing颁发的安全产品类别的最佳展示奖。此项“安全类别的最佳展示奖”特别颁发给了 UltraSoC 的基于硬件的网络安全产品 Bus Sentine l,以表彰该解决方案能够通过监测、检测和防御攻击的扩散,从而保护各种消费类设备。 继推出 Bus Sentine l解决方案之后, UltraSoC 还在Embedded World 2020上发布了其第二款网络安全硬件产品——CAN Sentinel。作为一种专为汽车行业提高网络安全性的解决方案,CAN Sentinel为所有现代车辆中使用的CA
[汽车电子]
2013年视频监控软件业务将翻四倍
  来自咨询机构ABI的研究报告称,视频监控系统已经存在了许多年,但是直到现在其有用的信息包括与人力资源相关的内容、时间消耗等才被挖掘出来。由于视频信号从模式到数字的快速转变让软件系统来实现分析和检测成为了可能。   来自ABI机构的分析家表示,无疑这给软件市场带来了机遇,目前分析软件正日益复杂化和精确化,因而开始被应用于视频监控系统的分析,如客户购买模式的识别分析、犯罪分子识别、监控公众场所无人看守的特定目标等。   该机构的研究报告称,从目前到2013年,视频监控软件市场收入将翻四倍,从2.45亿美元攀升到9亿多美元。事实上,监控软件用处很广,大到国家安全系统,小到零售超市,无不在监控用户的行为,并进行分析识别。   A
[安防电子]
2013年<font color='red'>视频监控</font>软件业务将翻四倍
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved