《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 視頻監(jiān)控系統(tǒng)中云臺控制模塊的設計與實現(xiàn)
視頻監(jiān)控系統(tǒng)中云臺控制模塊的設計與實現(xiàn)
來源:電子技術應用2011年第9期
張秋林,夏靖波,邱 婧,胡 圖
(空軍工程大學 電訊工程學院,陜西 西安710077)
摘要: 針對目前嵌入式視頻監(jiān)控系統(tǒng)中,云臺控制模塊開發(fā)周期長且運行不穩(wěn)定的問題,提出了基于簡單網(wǎng)絡管理協(xié)議(SNMP)的遠程云臺控制方案。該方案運用Net-SNMP作為開發(fā)工具,通過擴展MIB庫在嵌入式系統(tǒng)上移植SNMP代理,成功地實現(xiàn)了IP網(wǎng)上云臺的遠程控制。實驗表明,該方案不僅穩(wěn)定可靠而且開發(fā)周期短,已被運用于某單位的視頻監(jiān)控系統(tǒng)中。
中圖分類號: TP273
文獻標識碼: A
文章編號: 0258-7998(2011)09-0043-03
Design and implement of a PTZ control module in the video surveillance system
Zhang Qiulin,Xia Jingbo,Qiu Jing,Hu Tu
The Telecommunication Engineering Institute, Air Force Engineering University, Xi′an 710077,China
Abstract: Aiming at the problem of the PTZ control module in the current embedded video monitoring system, which has long development cycle and run unsteadily, the remote PTZ control scheme based on SNMP is proposed. Using Net-SNMP as the development tool, the scheme transplants the SNMP agents in the embedded syetem by extending the MIB database and realizes the remote control of PTZ on the Internet. The experiment shows that the scheme is not only reliable but also shorten the development cycle. At present, the scheme has been used in the video surveillance system of some unit.
Key words : PTZ;SNMP;ARM11;video surveillance system


 隨著多媒體技術和網(wǎng)絡通信技術的迅速發(fā)展,視頻監(jiān)控技術在國民生產(chǎn)生活的各個領域得到了廣泛應用。而云臺控制系統(tǒng)的出現(xiàn)為增加視頻監(jiān)控系統(tǒng)的監(jiān)控范圍、提高攝像頭的監(jiān)控效率起到了巨大作用。對于云臺控制系統(tǒng),參考文獻[1]提出了基于DSP芯片的云臺控制系統(tǒng),參考文獻[2]提出了在Visual C++編程中利用ActiveX控件實現(xiàn)云臺控制的方案。但是,這些方案由于沒有現(xiàn)成的開發(fā)工具支持,開發(fā)周期長、成本高且開發(fā)出來的系統(tǒng)在網(wǎng)絡環(huán)境不佳時,運行不夠穩(wěn)定。針對這種情況,以及ARM11微處理器具有優(yōu)異的多媒體數(shù)據(jù)處理能力和高度智能化的特點,本文提出了運用Net-SNMP開發(fā)工具,通過在嵌入式ARM11平臺上移植SNMP代理的方法實現(xiàn)IP網(wǎng)上云臺的遠程控制方案。
1 基于ARM11的嵌入式視頻監(jiān)控系統(tǒng)
    如圖1所示為典型的嵌入式視頻監(jiān)控系統(tǒng)[3],S3C6410處理器通過控制外圍設備進行視頻采集,并將壓縮編碼后的信號發(fā)送給監(jiān)控終端。同時,嵌入式處理器通過網(wǎng)卡接收監(jiān)控終端發(fā)送過來的云臺控制命令,按照云臺控制協(xié)議將其解碼并通過RS485端口發(fā)送給云臺,實現(xiàn)對云臺的控制功能。

2 系統(tǒng)硬件設計
    基于SNMP和ARM11的云臺控制系統(tǒng)的硬件部分由主控制板模塊、云臺模塊和傳輸模塊組成。
    系統(tǒng)硬件部分主要包括:微處理器及存儲電路模塊、電源時鐘模塊、網(wǎng)卡模塊和外圍接口電路模塊等[3]。DM9000網(wǎng)卡用于從IP網(wǎng)接收遠程控制命令;RS485串口用于微處理器與云臺之間的通信。Flash用于存儲各種固化程序;SDRAM用于系統(tǒng)運行時程序的存取; 串口RS232用于打印輸出信息和程序的調(diào)試。
2.1 主控制板模塊
    主控制板模塊(即核心控制器)S3C6410是三星公司基于ARM1176JZF-S內(nèi)核構建的高性能多媒體應用微處理器,由于其內(nèi)部集成了硬件編解碼單元MFC,使其在多媒體信號處理上大大優(yōu)于早期的同類產(chǎn)品。S3C6410內(nèi)部結構復雜,其內(nèi)部集成有1個LCD控制器、SDRAM控制器、NAND Flash控制器、I2C總線接口和看門狗計數(shù)器等。完善的外設和667 MHz的運行頻率,使S3C6410處理器很適用于智能控制系統(tǒng)的開發(fā)。
2.2 云臺模塊
    云臺是一種安裝在攝像機支撐物上的工作臺,用于支撐攝像機以實現(xiàn)水平和垂直運動等輔助功能。一般云臺攝像機內(nèi)置有解碼器,遵循云臺控制標準協(xié)議,根據(jù)外部控制信號可以對其實現(xiàn)控制。本系統(tǒng)采用3030WQ型云臺和PELCO-D云臺協(xié)議。其云臺協(xié)議如表1所示,系統(tǒng)硬件架構如圖2所示。

 

 

    云臺數(shù)據(jù)格式為:1位起始位、8位數(shù)據(jù)位、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 軟件設計
    軟件設計包括嵌入式系統(tǒng)構建和應用軟件兩部分[4]。嵌入式系統(tǒng)部分按照華恒科技S3C6410用戶手冊構建,其包括了引導程序(Bootloader)、Linux內(nèi)核、驅(qū)動等,軟件框圖如圖3所示。


    Bootloader、Linux內(nèi)核和設備驅(qū)動程序形成基本的嵌入式運行環(huán)境,應用層軟件snmpd為SNMP代理軟件,負責接收、解碼控制命令,并將解碼后的命令通過串口RS485發(fā)送到云臺模塊,實現(xiàn)對云臺運動方向的控制。
3.1 Linux2.6.21操作系統(tǒng)定制
    本系統(tǒng)采用開放源代碼的嵌入式Linux2.6.21作為操作系統(tǒng)。首先對Linux內(nèi)核進行裁剪,保留本系統(tǒng)所需的NAND Sevice Support、UDP協(xié)議以及串口支持、套接字、NFS文件系統(tǒng)等。裁剪包括并口支持、USB口支持、WLAN協(xié)議支持、SD卡支持等驅(qū)動模塊。將裁剪后的內(nèi)核通過交叉編譯器編譯即可得到ARM處理器能夠運行的文件。然后再將鏡像文件通過Bootloader下載到目標板的Dataflash中。
3.2 應用程序snmpd的開發(fā)
3.2.1 Agent開發(fā)環(huán)境的建立

    由于嵌入式Linux系統(tǒng)的資源有限,不可能在其上運行開發(fā)和調(diào)試工具,因此,采用“宿主機即目標機”的開發(fā)形式。宿主機和目標機通過串口與網(wǎng)口連接。宿主機是安裝了Linux系統(tǒng)的PC機,在宿主機上建立交叉編譯環(huán)境,程序在宿主機上進行編譯,然后通過交叉編譯工具得到在嵌入式操作系統(tǒng)上運行的可執(zhí)行文件。本系統(tǒng)采用Linux2.6.21版本作為PC機的操作系統(tǒng),編譯器選用Arm-linux-gcc3.4.1版本,以Net-snmp v5.4.2作為開發(fā)工具,目標機CPU為ARM11微處理器。
3.2.2 MIB庫的擴展
    開發(fā)環(huán)境建立后,就可以進行SNMP代理軟件的開發(fā)。依據(jù)Net-SNMP開發(fā)文檔,要在SNMP代理中實現(xiàn)自定義的功能(云臺控制)就需要對其MIB庫進行相應的擴展。MIB文件的編寫要遵循SNMP協(xié)議中SMI部分的要求[5-6]。下面是本文編寫的實現(xiàn)云臺控制功能的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
SYNTAX        Integer32
MAX-ACCESS  read-write
STATUS        current
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)接收到了控制端發(fā)送過來的0、1、2、3、4信息時,分別將其解釋為stop、left、right、up、down命令。
3.2.3 C代碼(框架)的自動生成和自定義功能的加入
    按照SMI規(guī)范編寫好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)依據(jù)PELCO-D云臺協(xié)議定義一維字符型數(shù)組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)打開串口并設置串口參數(shù),SNMP代理通過串口控制云臺轉(zhuǎn)動。
    open("/dev/s3c_serial1",O_RDWR | O_NDELAY |
O_NOCTTY)//打開串口
    //設置串口參數(shù)
    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時執(zhí)行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文件的配置。配置文件用于存放代理進程所需的配置信息。代理進程在初始化時訪問該文件:讀取所需的參數(shù)、地址以及啟動運行及進入循環(huán)后讀寫SNMP報文所需的其他信息。下面是本設計中縮減后的SNMP代理配置文件內(nèi)容:
#    sec.name            source        community
    com2sec local        localhost        public
    com2sec mynetwork 192.168.1.0/24    public#我的網(wǎng)段
在168
    為了便于測試,可以將組設置為可讀寫,如:group MyRWGroup v2c mynetwork。
    (3)移植到目標開發(fā)板。將snmpd和修改后的snmpd.conf文件移到宿主機的Windows下。啟動目標板,將snmpd文件上傳到目標板/usr/sbin目錄下(需要將訪問


權限更改為可執(zhí)行),將snmpd.conf文件上傳到/usr/local/share/snmp/下(不存在的目錄先要創(chuàng)建)。然后就可以啟動snmpd了。
4 系統(tǒng)測試
    測試環(huán)境為:內(nèi)線速率為10 Mb/s的局域網(wǎng)Intranet;控制終端采用戴爾Vostro230型PC機(主頻2.7 GHz,內(nèi)存2 GB,Windows XP操作系統(tǒng),IP地址:24.84.58.129)。為了方便測試,控制軟件采用ManageEngine-MibBrowser軟件,ARM11板IP地址設為24.84.58.224。
    在系統(tǒng)搭建完成后,啟動ARM板,同時在控制端PC機上打開ManageEngine-MibBrowser軟件,并加載MIB文件。設置好相關參數(shù)后,向ARM板分別發(fā)送控制命令1(左)、2(右)、3(上)、4(下)、0(停止)。
    實驗表明,該方案能夠在IP網(wǎng)絡上穩(wěn)定可靠地實現(xiàn)對云臺的遠程控制功能,效果非常好。
    本文將先進的嵌入式技術與SNMP協(xié)議相結合,通過MIB擴展和SNMP移植,成功地在ARM11平臺上實現(xiàn)了對云臺的遠程控制,并給出了運用Net-SNMP工具實現(xiàn)云臺控制功能的詳細方法。該方案不僅新穎,而且穩(wěn)定可靠,開發(fā)周期短,具有很高的市場應用價值。目前,該方案已在某單位網(wǎng)絡管理系統(tǒng)的視頻監(jiān)控模塊中得到運用。
參考文獻
[1] 權立偉,石江宏,薛財鋒.IP視頻監(jiān)控系統(tǒng)中云臺控制模塊的設計與實現(xiàn)[J].電子技術應用,2006(11):86-88.
[2] 豐洪才,鄧華來,劉年波.用ActiveX控件實現(xiàn)對云臺和鏡頭的遠程控制[J].計算機應用研究,2004,30(6):234-236.
[3] 馮麗芳,孫俊,周俊華,等.基于ARM9的網(wǎng)絡視頻監(jiān)控系統(tǒng)實現(xiàn)[J].電力自動化設備,2006,26(10):95-98.
[4] 郭巧云,許雪梅,李岸,等.基于ARMl l的無線視頻監(jiān)控系統(tǒng)的設計[J].計算機測量與控制,2010,18(8):1786-1789.
[5] 尼秀明,徐佩霞,徐佩霞.SNMP擴展代理的快速實現(xiàn)及擴展技巧[J].計算計工程,2002,28(9):124-126.
[6] 陳娟,崔燦,凌云,等.SNMP擴展代理的實現(xiàn)[J].計算機工程,2005,31(13):231-233.
[7] 黃俊飛,廖建新.Tru64 UNIX中SNMP的實現(xiàn)與擴展[J].計算機工程與應用,2003(5):169-171.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權禁止轉(zhuǎn)載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲免费观看| 美女图片一区二区| 国产美女扒开尿口久久久| 午夜精品久久久久99热蜜桃导演| 中文在线不卡| 国产精品试看| 欧美诱惑福利视频| 久久福利电影| 亚洲日本va在线观看| 欧美三级日本三级少妇99| 午夜久久黄色| 亚洲国产精品精华液网站| 亚洲精品国产系列| 国产精品午夜国产小视频| 欧美视频二区36p| 欧美日韩第一区| 欧美一级黄色网| 亚洲国产精品电影| 久久aⅴ乱码一区二区三区| 亚洲欧美经典视频| 亚洲成人资源网| 国产精品视频久久一区| 国产精品v日韩精品| 久久综合伊人| 亚洲男人av电影| 亚洲国产欧美一区二区三区久久 | 欧美日韩久久精品| 欧美日韩蜜桃| 国产精品分类| 久久久久久久久久久久久久一区| 亚洲黄网站在线观看| 亚洲激情成人网| 99精品久久久| 黄色日韩网站视频| 国产精品mv在线观看| 欧美网站在线| 欧美午夜性色大片在线观看| 亚洲国产日韩欧美综合久久| 最新成人av在线| 一区二区三区.www| 亚洲欧美日韩国产一区| 欧美一区二区在线免费观看| 亚洲精品国产品国语在线app| 亚洲精品美女91| 中文日韩欧美| 午夜一区二区三区在线观看| 亚洲另类在线视频| 亚洲图中文字幕| 性欧美大战久久久久久久免费观看 | 国产乱码精品一区二区三区忘忧草| 国产乱码精品1区2区3区| 韩国av一区二区| 亚洲精品乱码视频| 午夜久久福利| 亚洲国产精品欧美一二99| 欧美影院久久久| 久久9热精品视频| 亚洲成人直播| 欧美人与禽猛交乱配视频| 亚洲欧美激情四射在线日 | 欧美激情国产日韩精品一区18| 亚洲人人精品| 性色一区二区| 亚洲欧洲精品成人久久奇米网| 在线一区二区三区做爰视频网站| 最近中文字幕日韩精品| 亚洲一级黄色av| 中日韩美女免费视频网址在线观看| 亚洲欧美另类久久久精品2019| 久久久99免费视频| 久久av红桃一区二区小说| 欧美成人在线网站| 欧美不卡视频| 欧美**字幕| 国产精品免费网站| 国产精品日韩一区二区三区| 精品动漫一区二区| 在线观看视频一区二区| 怡红院精品视频| 亚洲香蕉成视频在线观看 | av成人免费观看| 一区二区欧美视频| 久久久精品网| 国产精品二区在线| 亚洲国产日韩精品| 亚洲精品国产精品国自产观看浪潮 | 亚洲高清免费| 亚洲激情视频网站| 欧美一站二站| 欧美视频专区一二在线观看| 在线成人亚洲| 欧美中文在线免费| 亚洲欧美日产图| 欧美另类极品videosbest最新版本 | 国产视频亚洲| 国内一区二区三区在线视频| 国产一区二区高清视频| 国语自产精品视频在线看一大j8 | 亚洲精品1234| 久久精品72免费观看| 久久视频在线免费观看| 久久亚洲高清| 国产精品一区二区久久精品| 99成人免费视频| 亚洲激情网站| 久久性天堂网| 国产一区二区日韩精品| 亚洲专区一区| 亚洲国产精品一区| 欧美在线二区| 国产精品羞羞答答| 亚洲午夜三级在线| 中文高清一区| 欧美日韩国产在线观看| 亚洲日本激情| 日韩视频在线免费| 午夜精品视频在线| 欧美三级视频在线| 日韩一区二区久久| 一本一道久久综合狠狠老精东影业 | 亚洲男女毛片无遮挡| 亚洲欧美日韩精品久久久| 欧美视频在线免费| 一区二区不卡在线视频 午夜欧美不卡'| 亚洲一区精品在线| 亚洲午夜av| 国产精品成人一区二区网站软件| 日韩亚洲欧美一区| 亚洲夜晚福利在线观看| 欧美日韩视频在线一区二区| 国产日产欧产精品推荐色| 在线观看欧美日韩| 最新国产成人av网站网址麻豆| 麻豆久久久9性大片| 在线播放一区| 亚洲精品国产精品国自产在线| 欧美成人一区二区三区| 亚洲精品社区| 亚洲天堂av图片| 国产精品久久久久久久电影| 亚洲一区二区三区精品在线观看| 午夜一区二区三区不卡视频| 国产日韩欧美夫妻视频在线观看| 亚洲欧美日本国产专区一区| 久久不射网站| 在线观看成人av电影| 亚洲久久一区| 久久疯狂做爰流白浆xx| 国产视频亚洲精品| 亚洲电影下载| 欧美激情精品久久久| 99精品视频一区二区三区| 亚洲欧美日韩成人高清在线一区| 国产日韩成人精品| 亚洲国产99精品国自产| 欧美精品久久久久久久| 国产午夜精品一区二区三区视频 | 国产一区二区三区日韩| 亚洲激情综合| 欧美午夜三级| 欧美一区二区视频网站| 免费成人av在线| 99视频精品| 欧美伊人久久| 亚洲第一精品电影| 中文日韩欧美| 国产一本一道久久香蕉| 亚洲人在线视频| 国产精品国产三级国产专播品爱网 | 久久亚洲影院| 亚洲精品一区久久久久久| 性色一区二区三区| 亚洲国产高清在线观看视频| 亚洲综合色丁香婷婷六月图片| 久久成人精品电影| 亚洲国产一区二区三区高清| 亚洲欧美日韩人成在线播放| 在线观看91久久久久久| 亚洲一区在线免费| 欧美女同视频| 亚洲欧美国产三级| 欧美福利一区| 亚洲男女自偷自拍| 欧美理论片在线观看| 午夜精品久久| 欧美日韩精品系列| 亚洲第一区中文99精品| 国产精品草草| 91久久国产自产拍夜夜嗨| 国产精品青草久久| 亚洲狼人综合| 国产一区香蕉久久| 亚洲小说欧美另类婷婷| 1024日韩| 久久国产精品99国产精| 亚洲卡通欧美制服中文| 美女视频黄免费的久久| 亚洲自拍16p| 欧美日韩精品免费在线观看视频| 亚洲福利电影|