www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式硬件
[導(dǎo)讀]針對(duì)目前嵌入式視頻監(jiān)控系統(tǒng)中,云臺(tái)控制模塊開(kāi)發(fā)周期長(zhǎng)且運(yùn)行不穩(wěn)定的問(wèn)題,提出了基于簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議(SNMP)的遠(yuǎn)程云臺(tái)控制方案。該方案運(yùn)用Net-SNMP作為開(kāi)發(fā)工具,通過(guò)擴(kuò)展MIB庫(kù)在嵌入式系統(tǒng)上移植SNMP代理,成功地實(shí)現(xiàn)了IP網(wǎng)上云臺(tái)的遠(yuǎn)程控制。實(shí)驗(yàn)表明,該方案不僅穩(wěn)定可靠而且開(kāi)發(fā)周期短,已被運(yùn)用于某單位的視頻監(jiān)控系統(tǒng)中。

隨著多媒體技術(shù)和網(wǎng)絡(luò)通信技術(shù)的迅速發(fā)展,視頻監(jiān)控技術(shù)在國(guó)民生產(chǎn)生活的各個(gè)領(lǐng)域得到了廣泛應(yīng)用。而云臺(tái)控制系統(tǒng)的出現(xiàn)為增加視頻監(jiān)控系統(tǒng)的監(jiān)控范圍、提高攝像頭的監(jiān)控效率起到了巨大作用。對(duì)于云臺(tái)控制系統(tǒng),參考文獻(xiàn)[1]提出了基于DSP芯片的云臺(tái)控制系統(tǒng),參考文獻(xiàn)[2]提出了在Visual C++編程中利用ActiveX控件實(shí)現(xiàn)云臺(tái)控制的方案。但是,這些方案由于沒(méi)有現(xiàn)成的開(kāi)發(fā)工具支持,開(kāi)發(fā)周期長(zhǎng)、成本高且開(kāi)發(fā)出來(lái)的系統(tǒng)在網(wǎng)絡(luò)環(huán)境不佳時(shí),運(yùn)行不夠穩(wěn)定。針對(duì)這種情況,以及ARM11微處理器具有優(yōu)異的多媒體數(shù)據(jù)處理能力和高度智能化的特點(diǎn),本文提出了運(yùn)用Net-SNMP開(kāi)發(fā)工具,通過(guò)在嵌入式ARM11平臺(tái)上移植SNMP代理的方法實(shí)現(xiàn)IP網(wǎng)上云臺(tái)的遠(yuǎn)程控制方案。

1 基于ARM11的嵌入式視頻監(jiān)控系統(tǒng)

如圖1所示為典型的嵌入式視頻監(jiān)控系統(tǒng)[3],S3C6410處理器通過(guò)控制外圍設(shè)備進(jìn)行視頻采集,并將壓縮編碼后的信號(hào)發(fā)送給監(jiān)控終端。同時(shí),嵌入式處理器通過(guò)網(wǎng)卡接收監(jiān)控終端發(fā)送過(guò)來(lái)的云臺(tái)控制命令,按照云臺(tái)控制協(xié)議將其解碼并通過(guò)RS485端口發(fā)送給云臺(tái),實(shí)現(xiàn)對(duì)云臺(tái)的控制功能。


2 系統(tǒng)硬件設(shè)計(jì)

基于SNMP和ARM11的云臺(tái)控制系統(tǒng)的硬件部分由主控制板模塊、云臺(tái)模塊和傳輸模塊組成。

系統(tǒng)硬件部分主要包括:微處理器及存儲(chǔ)電路模塊、電源時(shí)鐘模塊、網(wǎng)卡模塊和外圍接口電路模塊等[3]。DM9000網(wǎng)卡用于從IP網(wǎng)接收遠(yuǎn)程控制命令;RS485串口用于微處理器與云臺(tái)之間的通信。Flash用于存儲(chǔ)各種固化程序;SDRAM用于系統(tǒng)運(yùn)行時(shí)程序的存??; 串口RS232用于打印輸出信息和程序的調(diào)試。

2.1 主控制板模塊

主控制板模塊(即核心控制器)S3C6410是三星公司基于ARM1176JZF-S內(nèi)核構(gòu)建的高性能多媒體應(yīng)用微處理器,由于其內(nèi)部集成了硬件編解碼單元MFC,使其在多媒體信號(hào)處理上大大優(yōu)于早期的同類產(chǎn)品。S3C6410內(nèi)部結(jié)構(gòu)復(fù)雜,其內(nèi)部集成有1個(gè)LCD控制器、SDRAM控制器、NAND Flash控制器、I2C總線接口和看門(mén)狗計(jì)數(shù)器等。完善的外設(shè)和667 MHz的運(yùn)行頻率,使S3C6410處理器很適用于智能控制系統(tǒng)的開(kāi)發(fā)。

2.2 云臺(tái)模塊

云臺(tái)是一種安裝在攝像機(jī)支撐物上的工作臺(tái),用于支撐攝像機(jī)以實(shí)現(xiàn)水平和垂直運(yùn)動(dòng)等輔助功能。一般云臺(tái)攝像機(jī)內(nèi)置有解碼器,遵循云臺(tái)控制標(biāo)準(zhǔn)協(xié)議,根據(jù)外部控制信號(hào)可以對(duì)其實(shí)現(xiàn)控制。本系統(tǒng)采用3030WQ型云臺(tái)和PELCO-D云臺(tái)協(xié)議。其云臺(tái)協(xié)議如表1所示,系統(tǒng)硬件架構(gòu)如圖2所示。

云臺(tái)數(shù)據(jù)格式為:1位起始位、8位數(shù)據(jù)位、1位停止位,無(wú)效驗(yàn)位。波特率為2 400 B/s。
云臺(tái)的停止、左、右、上、下命令分別對(duì)應(yīng):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(這里的地址碼均設(shè)為0x01)。

3 軟件設(shè)計(jì)

軟件設(shè)計(jì)包括嵌入式系統(tǒng)構(gòu)建和應(yīng)用軟件兩部分[4]。嵌入式系統(tǒng)部分按照華恒科技S3C6410用戶手冊(cè)構(gòu)建,其包括了引導(dǎo)程序(Bootloader)、Linux內(nèi)核、驅(qū)動(dòng)等,軟件框圖如圖3所示。

Bootloader、Linux內(nèi)核和設(shè)備驅(qū)動(dòng)程序形成基本的嵌入式運(yùn)行環(huán)境,應(yīng)用層軟件snmpd為SNMP代理軟件,負(fù)責(zé)接收、解碼控制命令,并將解碼后的命令通過(guò)串口RS485發(fā)送到云臺(tái)模塊,實(shí)現(xiàn)對(duì)云臺(tái)運(yùn)動(dòng)方向的控制。

3.1 Linux2.6.21操作系統(tǒng)定制

本系統(tǒng)采用開(kāi)放源代碼的嵌入式Linux2.6.21作為操作系統(tǒng)。首先對(duì)Linux內(nèi)核進(jìn)行裁剪,保留本系統(tǒng)所需的NAND Sevice Support、UDP協(xié)議以及串口支持、套接字、NFS文件系統(tǒng)等。裁剪包括并口支持、USB口支持、WLAN協(xié)議支持、SD卡支持等驅(qū)動(dòng)模塊。將裁剪后的內(nèi)核通過(guò)交叉編譯器編譯即可得到ARM處理器能夠運(yùn)行的文件。然后再將鏡像文件通過(guò)Bootloader下載到目標(biāo)板的Dataflash中。

3.2 應(yīng)用程序snmpd的開(kāi)發(fā)

3.2.1 Agent開(kāi)發(fā)環(huán)境的建立

由于嵌入式Linux系統(tǒng)的資源有限,不可能在其上運(yùn)行開(kāi)發(fā)和調(diào)試工具,因此,采用“宿主機(jī)即目標(biāo)機(jī)”的開(kāi)發(fā)形式。宿主機(jī)和目標(biāo)機(jī)通過(guò)串口與網(wǎng)口連接。宿主機(jī)是安裝了Linux系統(tǒng)的PC機(jī),在宿主機(jī)上建立交叉編譯環(huán)境,程序在宿主機(jī)上進(jìn)行編譯,然后通過(guò)交叉編譯工具得到在嵌入式操作系統(tǒng)上運(yùn)行的可執(zhí)行文件。本系統(tǒng)采用Linux2.6.21版本作為PC機(jī)的操作系統(tǒng),編譯器選用Arm-linux-gcc3.4.1版本,以Net-snmp v5.4.2作為開(kāi)發(fā)工具,目標(biāo)機(jī)CPU為ARM11微處理器。

3.2.2 MIB庫(kù)的擴(kuò)展

開(kāi)發(fā)環(huán)境建立后,就可以進(jìn)行SNMP代理軟件的開(kāi)發(fā)。依據(jù)Net-SNMP開(kāi)發(fā)文檔,要在SNMP代理中實(shí)現(xiàn)自定義的功能(云臺(tái)控制)就需要對(duì)其MIB庫(kù)進(jìn)行相應(yīng)的擴(kuò)展。MIB文件的編寫(xiě)要遵循SNMP協(xié)議中SMI部分的要求[5-6]。下面是本文編寫(xiě)的實(shí)現(xiàn)云臺(tái)控制功能的MIB庫(kù)文件,本文將其命名為S3C6410.txt。

S3C6410-MIB DEFINITIONS ::= BEGIN
IMPORTS
TimeTicksFROM SNMPv2-SMI
enterprisesFROM 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 }
DIRECTIONOBJECT-TYPE
SYNTAXInteger32
MAX-ACCESSread-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分別代表的涵義。即,當(dāng)SNMP代理軟件(snmpd)接收到了控制端發(fā)送過(guò)來(lái)的0、1、2、3、4信息時(shí),分別將其解釋為stop、left、right、up、down命令。

3.2.3 C代碼(框架)的自動(dòng)生成和自定義功能的加入

按照SMI規(guī)范編寫(xiě)好MIB庫(kù)文件后,將MIB文件放在usr/local/share/snmp/mibs/目錄下面,并用Net-SNMP自帶的mib2c工具生成相應(yīng)的C文件S3C6410.c和S3C6410.h;然后將這兩個(gè)C文件拷貝到net-snmp.5.4.2/agent/mibgroup/examples/目錄下,并在生成的S3C6410.c模板上添加需要的功能[7]。下面是主要添加和修改的部分。

(1)依據(jù)PELCO-D云臺(tái)協(xié)議定義一維字符型數(shù)組stop、left、right、up、down。當(dāng)SNMP代理接收到stop、left等命令時(shí),就可以按照下面的定義將命令翻譯成云臺(tái)模塊可以識(shí)別的碼流。
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)打開(kāi)串口并設(shè)置串口參數(shù),SNMP代理通過(guò)串口控制云臺(tái)轉(zhuǎn)動(dòng)。
open("/dev/s3c_serial1",O_RDWR | O_NDELAY |
O_NOCTTY)//打開(kāi)串口
//設(shè)置串口參數(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:下添加云臺(tái)控制功能。
case MODE_SET_ACTION:
……
switch(direction)
{
case 0://當(dāng)接收到0時(shí)執(zhí)行stop命令
write(fd,stop,7);
close(fd);
break;
……
……
case 640://當(dāng)接收到640時(shí)啟動(dòng)application
system("exec /mnt/nand/my.application &");
break;
default://錯(cuò)誤處理
……
}

當(dāng)snmpd接收到0、1、2…時(shí),分別向串口寫(xiě)入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"命令進(jìn)行配置編譯選項(xiàng),這里可以添加需要或者去掉一些不需要的選項(xiàng)。配置完成后使用make install命令進(jìn)行編譯、安裝。編譯得到的snmpd比較大,但可用arm-linux-strip snmpd進(jìn)行處理即可得到需要的snmpd文件。

(2)snmpd.conf文件的配置。配置文件用于存放代理進(jìn)程所需的配置信息。代理進(jìn)程在初始化時(shí)訪問(wèn)該文件:讀取所需的參數(shù)、地址以及啟動(dòng)運(yùn)行及進(jìn)入循環(huán)后讀寫(xiě)SNMP報(bào)文所需的其他信息。下面是本設(shè)計(jì)中縮減后的SNMP代理配置文件內(nèi)容:
#sec.namesourcecommunity
com2sec locallocalhostpublic
com2sec mynetwork 192.168.1.0/24public#我的網(wǎng)段
在168
為了便于測(cè)試,可以將組設(shè)置為可讀寫(xiě),如:group MyRWGroup v2c mynetwork。

(3)移植到目標(biāo)開(kāi)發(fā)板。將snmpd和修改后的snmpd.conf文件移到宿主機(jī)的Windows下。啟動(dòng)目標(biāo)板,將snmpd文件上傳到目標(biāo)板/usr/sbin目錄下(需要將訪問(wèn)權(quán)限更改為可執(zhí)行),將snmpd.conf文件上傳到/usr/local/share/snmp/下(不存在的目錄先要?jiǎng)?chuàng)建)。然后就可以啟動(dòng)snmpd了。

4 系統(tǒng)測(cè)試

測(cè)試環(huán)境為:內(nèi)線速率為10 Mb/s的局域網(wǎng)Intranet;控制終端采用戴爾Vostro230型PC機(jī)(主頻2.7 GHz,內(nèi)存2 GB,Windows XP操作系統(tǒng),IP地址:24.84.58.129)。為了方便測(cè)試,控制軟件采用ManageEngine-MibBrowser軟件,ARM11板IP地址設(shè)為24.84.58.224。

在系統(tǒng)搭建完成后,啟動(dòng)ARM板,同時(shí)在控制端PC機(jī)上打開(kāi)ManageEngine-MibBrowser軟件,并加載MIB文件。設(shè)置好相關(guān)參數(shù)后,向ARM板分別發(fā)送控制命令1(左)、2(右)、3(上)、4(下)、0(停止)。
實(shí)驗(yàn)表明,該方案能夠在IP網(wǎng)絡(luò)上穩(wěn)定可靠地實(shí)現(xiàn)對(duì)云臺(tái)的遠(yuǎn)程控制功能,效果非常好。

本文將先進(jìn)的嵌入式技術(shù)與SNMP協(xié)議相結(jié)合,通過(guò)MIB擴(kuò)展和SNMP移植,成功地在ARM11平臺(tái)上實(shí)現(xiàn)了對(duì)云臺(tái)的遠(yuǎn)程控制,并給出了運(yùn)用Net-SNMP工具實(shí)現(xiàn)云臺(tái)控制功能的詳細(xì)方法。該方案不僅新穎,而且穩(wěn)定可靠,開(kāi)發(fā)周期短,具有很高的市場(chǎng)應(yīng)用價(jià)值。目前,該方案已在某單位網(wǎng)絡(luò)管理系統(tǒng)的視頻監(jiān)控模塊中得到運(yùn)用。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車(chē)的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車(chē)技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車(chē)工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車(chē)。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車(chē) 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉