版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、RS485/云臺(tái)控制(PTZ)學(xué)習(xí)文檔zxf一.項(xiàng)目任務(wù):在linux環(huán)境下通過RS485串口實(shí)現(xiàn)對(duì)云臺(tái)鏡頭的各種控制(包括攝像頭的打開,關(guān)閉,各個(gè)方向的運(yùn)動(dòng)及運(yùn)動(dòng)速度,預(yù)設(shè)點(diǎn),自動(dòng)掃描,變倍,調(diào)焦,光圈,視角寬窄等等的各項(xiàng)控制)。二.學(xué)習(xí)步驟驗(yàn)證串口,云臺(tái)等硬件考慮先在windows環(huán)境下運(yùn)行串口調(diào)試精靈等軟件,采用RS232-RS485的接口轉(zhuǎn)換器將PC機(jī)與云臺(tái)相連,通過串口調(diào)試精靈向云臺(tái)發(fā)送命令(根據(jù)具體云臺(tái)所采用的協(xié)議pelco-d或是pelco-p),驗(yàn)證云臺(tái)能否正常工作,以保證后續(xù)工作順利進(jìn)行。2.熟悉linux下的串口編程串口是電腦上一種很通用設(shè)備通信的協(xié)議,常用PC機(jī)上包含的是
2、RS232規(guī)格的串口,當(dāng)然,除了RS232,還有RS485和RS422兩種規(guī)格,用于不同的設(shè)備通信;linux環(huán)境下萬物皆文件,都是文檔,串口是設(shè)備文檔,配置好后,其他東西就當(dāng)成文檔進(jìn)行操作。串口編程中比較重要的是串口的設(shè)置,需要配置的部分包括波特率,數(shù)據(jù)位,停止位,奇偶校驗(yàn)等。關(guān)于linux下串口設(shè)置的例子和程序網(wǎng)上有很多,而且基本上內(nèi)容大同小異??梢圆捎萌缦路椒▉眚?yàn)證自己在linux下的串口程序:準(zhǔn)備PC機(jī)兩臺(tái)(一臺(tái)裝Linux系統(tǒng),另一臺(tái)裝windows即可),用串口線分別和兩臺(tái)計(jì)算機(jī)的串口相連,在windows機(jī)下運(yùn)行串口調(diào)試軟件,并打開coml(linux下對(duì)應(yīng)串口ttySO)等待操
3、作。在linux機(jī)下運(yùn)行自己的串口程序,注意打開的串口和波特率,校驗(yàn)位等設(shè)置要和windows機(jī)一致,可以將自己的串口程序運(yùn)行在接收數(shù)據(jù)狀態(tài),并打印信息,在windows機(jī)下用串口調(diào)試精靈發(fā)送數(shù)據(jù),驗(yàn)證在linux機(jī)下接受是否正確,同樣可以驗(yàn)證發(fā)送數(shù)據(jù)是否正確。關(guān)于串口設(shè)置程序:配置波特率:注意每臺(tái)機(jī)器都有輸出輸入接收信息的速度,所以用cfsetispeed和cfsetospeed來分別設(shè)置。Linux串口設(shè)置過程中有一個(gè)非常重要的結(jié)構(gòu)體structtermios,它包括了串口端的任何配置,在termios.h中被定義。系統(tǒng)為波特率專門準(zhǔn)備了一張表用B38400,B19200代替。實(shí)際上傳出的
4、是38400和19200這些值。函數(shù)原型:Voidset_speed(intfd,intspeed).配置奇偶校驗(yàn),數(shù)據(jù),停止位。這三個(gè)參數(shù)通常放在一起配置,databits是數(shù)據(jù)位,stopbits是停止位,parity是校驗(yàn)位。Termios成員中共定義c_cflag控制項(xiàng)c_lflag線路項(xiàng)c_iflag輸入項(xiàng)c_oflag輸出項(xiàng)c_cc控制字符c_ispeed輸入波特c_ospeed輸出波特那么多項(xiàng),對(duì)于每一項(xiàng)都有很多的配置,比較復(fù)雜,但就一個(gè)通用的串口框架,主要進(jìn)行奇偶校驗(yàn),數(shù)據(jù),停止位的配置。而其他的一些控制項(xiàng)。函數(shù)原型:intset_Parity(intfd,intdatabit
5、s,intstopbits,intparity)3.配置好串口后,就可以打開串口,并不斷的從串口讀數(shù)據(jù),并打印出這些數(shù)據(jù)進(jìn)行驗(yàn)證自己的程序。此部分Down了個(gè)串口程序來熟悉linux下的串口編程。三.云臺(tái)控制協(xié)議pelco-D/P云臺(tái)有水平云臺(tái),旋轉(zhuǎn)云臺(tái)和萬向云臺(tái)等多種類型,水平云臺(tái)和旋轉(zhuǎn)云臺(tái)的運(yùn)動(dòng)速度是恒定的。只有上下左右四個(gè)方向,每個(gè)方向都有一個(gè)限位開頭,因而每一方向行程的距離固定,而萬向云臺(tái)運(yùn)動(dòng)速度是可變的,且運(yùn)動(dòng)方向是任意,控制比較復(fù)雜。對(duì)與云臺(tái)的工作原理和電路進(jìn)行了基本了解,由于實(shí)際應(yīng)用時(shí)只需通過串口向云臺(tái)發(fā)送其能識(shí)別的命令來完成相應(yīng)的控制即可。云臺(tái)測(cè)的東西沒有進(jìn)一步的深入了解。云臺(tái)
6、控制系統(tǒng)設(shè)計(jì)時(shí)要選協(xié)議,每個(gè)云臺(tái)都有協(xié)議可以選擇,要么自動(dòng)識(shí)別,要么通過撥碼開關(guān)來選擇。具體要看設(shè)備說明書。每個(gè)廠家的撥碼方式不一樣。協(xié)議選好后,就可以向云臺(tái)發(fā)送命令控制云臺(tái),控制云臺(tái)時(shí)發(fā)送一個(gè)指令,都要在發(fā)送一個(gè)停止指令,否則云臺(tái)將一直執(zhí)行那一操作。查資料發(fā)現(xiàn)大多數(shù)云臺(tái)都支持pelco-D和pelco-P協(xié)議。目前這兩個(gè)協(xié)議也有很多版本,大多是擴(kuò)充。PELCO-D:數(shù)據(jù)格式:1位起始位、8位數(shù)據(jù)、1位停止位,無效驗(yàn)位。波特率:2400B/S命令格式:1.該協(xié)議中所有數(shù)值都為十六進(jìn)制數(shù)2同步字節(jié)始終為FFH地址碼為攝像機(jī)的邏輯地址號(hào),地址范圍:00H-FFH可以在設(shè)備中設(shè)置。指令碼表示不同的動(dòng)
7、作數(shù)據(jù)碼1、2分別表示水平、垂直方向速度(00-3FH),FFH表示“turbo,速度6.校驗(yàn)碼=MOD(字節(jié)2+字節(jié)3+字節(jié)4+字節(jié)5+字節(jié)6)/100H命令字1和命令字2設(shè)置如下:8ii7Bit6Bit5Bit4tt3Bit2BitlBitO細(xì)SenceB期目亂我開鵝擁甥mi期Sence碼與Bit4和Bit3有關(guān)。在Bit4和Bit3為1的情況下,如果Sence碼為1,則命令就是自動(dòng)掃描和和攝像機(jī)打開;如果Sence碼為0,則命令就是手動(dòng)掃描和攝像機(jī)關(guān)閉。當(dāng)然如果Bit4或Bit3為0的話那命令就無效了。數(shù)據(jù)1表示鏡頭左右平移的速度,數(shù)值從$00(停止)到$3F(高速),另外還有一個(gè)值是$
8、FF,表示最高速。數(shù)據(jù)2表示鏡頭上下移動(dòng)的速度,數(shù)值從$00(停止)到$3F(最高速)。校驗(yàn)碼是指Byte2到Byte6這5個(gè)數(shù)的和(若超過255則除以256然后取余數(shù))。Pelco-D的命令碼和數(shù)據(jù)碼的參考命令:CommandWord3Word4Word5Word6SetPreset00030001to20ClearPreset00050001to20GoToPreset00070001to20Flip(180about)00070021GoToZeroPan00070022SetAuxiliary0090001to08ClearAuxiliary00B0001to08RemoteReset
9、00OF0000SetZoneStart00110001to08SetZoneEnd00130001to08WriteChar,ToScreen0015XPosition00tc28ASCIIValueClearScreen00170000AlarmAcknowJedge001900AlarmNo.ZoneScanOn001B0000ZoneScanOff001D0000SetPatternStart001F0000SetPatternStop00210000RunPattern00230000SetZoomSpeed00250000to03SetFocusSpeed00270000to03以
10、地址碼0 x01為例的部分指令:0 xff,0 x01,0 x00,0 x08,0 x00,0 xff,0 x08,上0 xff,0 x01,0 x00,0 x10,0 x00,0 xff,0 x10,下0 xff,0 x01,0 x00,0 x04,0 xff,0 x00,0 x04,左0 xff,0 x01,0 x00,0 x02,0 xff,0 x00,0 x02,右0 xff,0 x01,0 x00,0 x20,0 x00,0 x00,0 x21,變倍短0 xff,0 x01,0 x00,0 x40,0 x00,0 x00,0 x41,變倍長0 xff,0 x01,0 x00,0 x8
11、0,0 x00,0 x00,0 x81,聚焦近0 xff,0 x01,0 x01,0 x00,0 x00,0 x00,0 x02,聚焦遠(yuǎn)0 xff,0 x01,0 x02,0 x00,0 x00,0 x00,0 x03,光圈小0 xff,0 x01,0 x04,0 x00,0 x00,0 x00,0 x05,光圈大0 xff,0 x01,0 x00,0 x0b,0 x00,0 x01,0 x0d,燈光關(guān)0 xff,0 x01,0 x00,0 x09,0 x00,0 x01,0 x0b,燈光開0 xff,0 x01,0 x00,0 x07,0 x00,0 x01,0 x09,轉(zhuǎn)至預(yù)置點(diǎn)0010
12、xff,0 x01,0 x00,0 x03,0 x00,0 x01,0 x05,設(shè)置預(yù)置點(diǎn)0010 xff,0 x01,0 x00,0 x05,0 x00,0 x01,0 x07,刪除預(yù)置點(diǎn)001以上對(duì)應(yīng)的停命令均是:0 xff,0 x01,0 x00,0 x00,0 x00,0 x00,0 x01,停命令Pelco-P:PELCO-P協(xié)議一般采用RS-485傳輸,波特率為4800,1位起始位和停止位,8位數(shù)據(jù)位,無校驗(yàn)位。格式:ByteValueFunction$A02$00to$1Fw3Databyte1數(shù)據(jù)便4Databyte2數(shù)斛25Databyte3m36Databyte4數(shù)斛4$A
13、F停Jffl18$00-$FF校監(jiān)碼|起始碼是固定值$A0。地址碼是設(shè)備的邏輯地址,可由接收設(shè)備上的DIP開關(guān)來設(shè)定?。數(shù)據(jù)位1-4意義:Bitnumber1b5432100開自堿Jts鄭1斕開焦距麺擬拉遠(yuǎn)0T上t右0糠3$00(M)3$3F(JS)a$40(SiS)糠4上朋龜虧叫淞)列$3F耐停止碼是固定值$AF。校驗(yàn)碼是Byte2到Byte6這5個(gè)數(shù)的異或值(XOR)。地址碼是從0編起的,所以地址碼$00表示第一臺(tái)設(shè)備。以地址碼0 x01為例:0 xa0,0 x01,0 x00,0 x08,0 x00,0 x30,0 xaf,0 x39,上0 xa0,0 x01,0 x00,0 x10,0
14、 x00,0 x30,0 xaf,0 x21,下0 xa0,0 x01,0 x00,0 x04,0 x10,0 x00,0 xaf,0 x15,左0 xa0,0 x01,0 x00,0 x02,0 x10,0 x00,0 xaf,0 x13,右0 xa0,0 x01,0 x00,0 x40,0 x00,0 x00,0 xaf,0 x41,變倍短0 xa0,0 x01,0 x00,0 x20,0 x00,0 x00,0 xaf,0 x21,變倍長0 xa0,0 x01,0 x02,0 x00,0 x00,0 x00,0 xaf,0 x03,聚焦近0 xa0,0 x01,0 x01,0 x00,0
15、 x00,0 x00,0 xaf,0 x00,聚焦遠(yuǎn)OxaO,OxOl,OxO8,0 x00,0 x00,0 x00,0 xaf,0 x09,光圈小0 xa0,0 x01,0 x04,0 x00,0 x00,0 x00,0 xaf,0 x05,光圈大無命令字發(fā)送/燈光關(guān)無命令字發(fā)送/燈光開0 xa0,0 x01,0 x00,0 x96,0 x00,0 x20,0 xaf,0 xb7,自動(dòng)巡航0 xa0,0 x01,0 x00,0 x99,0 x00,0 x20,0 xaf,0 xb8,/關(guān)閉自動(dòng)巡航0 xa0,0 x01,0 x00,0 x07,0 x00,0 x01,0 xaf,0 x07,
16、轉(zhuǎn)至預(yù)置點(diǎn)001OxaO,OxO1,OxOO,OxO3,OxOO,OxO1,Oxaf,OxO3,設(shè)置預(yù)置點(diǎn)0010 xa0,0 x01,0 x00,0 x05,0 x00,0 x01,0 xaf,0 x01,刪除預(yù)置點(diǎn)001以上對(duì)應(yīng)的停命令均是(上下左右、變倍、聚焦、光圈均有停命令):0 xa0,0 x01,0 x00,0 x00,0 x00,0 x00,0 xaf,0 x01,云臺(tái)控制(PTZ)命令控制說明:當(dāng)控制云臺(tái)水平、上下方向動(dòng)作或“IRIS”、“FOCUS”、“ZOOM”時(shí)需要使相應(yīng)的控制位為“1”,不用控制的相應(yīng)位置為“0”當(dāng)需要云臺(tái)PAN/TILT兩方向同時(shí)動(dòng)作時(shí),只需將PAN/
17、TILT的相應(yīng)控制位置“1”即可,PAN/TILT的速度控制由WORD5/WORD6決定將W0RD3、WORD4的所有位置為“0”可以停止云臺(tái)的動(dòng)作5、擴(kuò)充命令萬向云臺(tái)支持預(yù)設(shè)點(diǎn),使云臺(tái)轉(zhuǎn)動(dòng)到提前設(shè)置好的點(diǎn)。命令格式:WORD3WORD4WORDSWORD6OOHO3HOOHXXXX=OOH3FH-淸除預(yù)置克WORD3WORD4WORDSWORD6OOHO5HOOHXXXX-OOH3FH、清除全部預(yù)置點(diǎn)WORD3WORD4WORDSWORD6OOHO7HOOH77.調(diào)用預(yù)置點(diǎn)WORD3WORD4WORD5WORD&OQHO7HOOHXXXX=OOH3FHCPRESETNUMBERC5.運(yùn)行邂視
18、序列WORD3WORD4WORD5WORDSOOHO7H四編寫并調(diào)試Linux環(huán)境下的云臺(tái)控制程序首先在linux環(huán)境下編寫簡單的程序驗(yàn)證命令的正確性,例如利用write函數(shù)直接通過RS485向云臺(tái)寫命令(符合云臺(tái)控制協(xié)議),查看命令是否執(zhí)行正確,如果正確則編寫云臺(tái)控制程序?qū)⑦@些命令封裝成函數(shù),以供上層函數(shù)調(diào)用。全局變量:intptz_protocol,baudrate,ptz_fd云臺(tái)所采用的協(xié)議和波特率,串口句柄。數(shù)據(jù)結(jié)構(gòu):考慮到pelco-D和pelco-P協(xié)議命令消息格式的規(guī)定,對(duì)于pelco-D定義命令消息:staticstructst_messagecharstx;charaddr
19、ess;charcommand1,command2,data1,data2;charchecksum;send_msg;(消息各部分的含義和規(guī)定見本文檔第三部分)對(duì)于pelco-P定義命令消息:staticstructst_messagecharstx;charaddress;chardata1,data2,data3,data4;charetx;charchecksum;send_msg;(消息各部分的含義和規(guī)定見本文當(dāng)?shù)谌糠郑?str_cmd為傳參,此字符串中應(yīng)包括需要實(shí)現(xiàn)的功能,操作,速度等信息。功能命令應(yīng)包括TILT_UP上TILT_DOWN下PAN_RIGHT右PAN_LEFT左:PT_LEFT_UP左上PT_LEFT_DOWN左下PT_RIGHT_UP右上PT_RIGHT_DOWN右下Z_ZOOM_IN:Z_ZOOM_OUT:FOCUS_FAR:調(diào)焦遠(yuǎn)FOCUS_NEAR調(diào)焦近IR
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 蘇科版八年級(jí)物理上冊(cè)《2.3平面鏡》同步測(cè)試題及答案
- 自考財(cái)務(wù)報(bào)表分析重點(diǎn)教學(xué)總結(jié)
- 電子政務(wù)的前景
- 高一化學(xué)達(dá)標(biāo)訓(xùn)練:第一單元化石燃料與有機(jī)化合物
- 2024屆天一大聯(lián)考皖豫聯(lián)盟高考化學(xué)一模試卷含解析
- 2024高中地理第三章區(qū)域自然資源綜合開發(fā)利用章末整合學(xué)案新人教版必修3
- 2024高中物理第四章牛頓運(yùn)動(dòng)定律2實(shí)驗(yàn):探究加速度與力質(zhì)量的關(guān)系課后作業(yè)含解析新人教版必修1
- 2024高中語文第一單元第3課邊城提升訓(xùn)練含解析新人教版必修5
- 2024高中語文精讀課文一第2課2魯迅:深刻與偉大的另一面是平和二課堂練習(xí)含解析新人教版選修中外傳記蚜
- 2024高考化學(xué)二輪復(fù)習(xí)專題限時(shí)集訓(xùn)11有機(jī)化學(xué)基礎(chǔ)含解析
- 水工混凝土規(guī)范
- 圖書館室內(nèi)裝修投標(biāo)方案(技術(shù)標(biāo))
- 工作責(zé)任心測(cè)評(píng)
- 人教精通版5年級(jí)(上下冊(cè))單詞表(含音標(biāo))
- 第1課+中華文明的起源與早期國家+課件+-2023-2024學(xué)年高中歷史統(tǒng)編版2019必修中外歷史綱要上冊(cè)+
- 大廈物業(yè)管理保潔服務(wù)標(biāo)準(zhǔn)5篇
- 神經(jīng)內(nèi)科國家臨床重點(diǎn)??平ㄔO(shè)項(xiàng)目評(píng)分標(biāo)準(zhǔn)(試行)
- 城市設(shè)計(jì)與城市更新培訓(xùn)
- 2023年貴州省銅仁市中考數(shù)學(xué)真題試題含解析
- 世界衛(wèi)生組織生存質(zhì)量測(cè)量表(WHOQOL-BREF)
- PEP-3心理教育量表-評(píng)估報(bào)告
評(píng)論
0/150
提交評(píng)論