版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、RS485/云臺控制(PTZ)學習文檔zxf一.項目任務:在linux環(huán)境下通過RS485串口實現(xiàn)對云臺鏡頭的各種控制(包括攝像頭的打開,關閉,各個方向的運動及運動速度,預設點,自動掃描,變倍,調焦,光圈,視角寬窄等等的各項控制)。二.學習步驟驗證串口,云臺等硬件考慮先在windows環(huán)境下運行串口調試精靈等軟件,采用RS232-RS485的接口轉換器將PC機與云臺相連,通過串口調試精靈向云臺發(fā)送命令(根據(jù)具體云臺所采用的協(xié)議pelco-d或是pelco-p),驗證云臺能否正常工作,以保證后續(xù)工作順利進行。2.熟悉linux下的串口編程串口是電腦上一種很通用設備通信的協(xié)議,常用PC機上包含的是
2、RS232規(guī)格的串口,當然,除了RS232,還有RS485和RS422兩種規(guī)格,用于不同的設備通信;linux環(huán)境下萬物皆文件,都是文檔,串口是設備文檔,配置好后,其他東西就當成文檔進行操作。串口編程中比較重要的是串口的設置,需要配置的部分包括波特率,數(shù)據(jù)位,停止位,奇偶校驗等。關于linux下串口設置的例子和程序網(wǎng)上有很多,而且基本上內容大同小異??梢圆捎萌缦路椒▉眚炞C自己在linux下的串口程序:準備PC機兩臺(一臺裝Linux系統(tǒng),另一臺裝windows即可),用串口線分別和兩臺計算機的串口相連,在windows機下運行串口調試軟件,并打開coml(linux下對應串口ttySO)等待操
3、作。在linux機下運行自己的串口程序,注意打開的串口和波特率,校驗位等設置要和windows機一致,可以將自己的串口程序運行在接收數(shù)據(jù)狀態(tài),并打印信息,在windows機下用串口調試精靈發(fā)送數(shù)據(jù),驗證在linux機下接受是否正確,同樣可以驗證發(fā)送數(shù)據(jù)是否正確。關于串口設置程序:配置波特率:注意每臺機器都有輸出輸入接收信息的速度,所以用cfsetispeed和cfsetospeed來分別設置。Linux串口設置過程中有一個非常重要的結構體structtermios,它包括了串口端的任何配置,在termios.h中被定義。系統(tǒng)為波特率專門準備了一張表用B38400,B19200代替。實際上傳出的
4、是38400和19200這些值。函數(shù)原型:Voidset_speed(intfd,intspeed).配置奇偶校驗,數(shù)據(jù),停止位。這三個參數(shù)通常放在一起配置,databits是數(shù)據(jù)位,stopbits是停止位,parity是校驗位。Termios成員中共定義c_cflag控制項c_lflag線路項c_iflag輸入項c_oflag輸出項c_cc控制字符c_ispeed輸入波特c_ospeed輸出波特那么多項,對于每一項都有很多的配置,比較復雜,但就一個通用的串口框架,主要進行奇偶校驗,數(shù)據(jù),停止位的配置。而其他的一些控制項。函數(shù)原型:intset_Parity(intfd,intdatabit
5、s,intstopbits,intparity)3.配置好串口后,就可以打開串口,并不斷的從串口讀數(shù)據(jù),并打印出這些數(shù)據(jù)進行驗證自己的程序。此部分Down了個串口程序來熟悉linux下的串口編程。三.云臺控制協(xié)議pelco-D/P云臺有水平云臺,旋轉云臺和萬向云臺等多種類型,水平云臺和旋轉云臺的運動速度是恒定的。只有上下左右四個方向,每個方向都有一個限位開頭,因而每一方向行程的距離固定,而萬向云臺運動速度是可變的,且運動方向是任意,控制比較復雜。對與云臺的工作原理和電路進行了基本了解,由于實際應用時只需通過串口向云臺發(fā)送其能識別的命令來完成相應的控制即可。云臺測的東西沒有進一步的深入了解。云臺
6、控制系統(tǒng)設計時要選協(xié)議,每個云臺都有協(xié)議可以選擇,要么自動識別,要么通過撥碼開關來選擇。具體要看設備說明書。每個廠家的撥碼方式不一樣。協(xié)議選好后,就可以向云臺發(fā)送命令控制云臺,控制云臺時發(fā)送一個指令,都要在發(fā)送一個停止指令,否則云臺將一直執(zhí)行那一操作。查資料發(fā)現(xiàn)大多數(shù)云臺都支持pelco-D和pelco-P協(xié)議。目前這兩個協(xié)議也有很多版本,大多是擴充。PELCO-D:數(shù)據(jù)格式:1位起始位、8位數(shù)據(jù)、1位停止位,無效驗位。波特率:2400B/S命令格式:1.該協(xié)議中所有數(shù)值都為十六進制數(shù)2同步字節(jié)始終為FFH地址碼為攝像機的邏輯地址號,地址范圍:00H-FFH可以在設備中設置。指令碼表示不同的動
7、作數(shù)據(jù)碼1、2分別表示水平、垂直方向速度(00-3FH),FFH表示“turbo,速度6.校驗碼=MOD(字節(jié)2+字節(jié)3+字節(jié)4+字節(jié)5+字節(jié)6)/100H命令字1和命令字2設置如下:8ii7Bit6Bit5Bit4tt3Bit2BitlBitO細SenceB期目亂我開鵝擁甥mi期Sence碼與Bit4和Bit3有關。在Bit4和Bit3為1的情況下,如果Sence碼為1,則命令就是自動掃描和和攝像機打開;如果Sence碼為0,則命令就是手動掃描和攝像機關閉。當然如果Bit4或Bit3為0的話那命令就無效了。數(shù)據(jù)1表示鏡頭左右平移的速度,數(shù)值從$00(停止)到$3F(高速),另外還有一個值是$
8、FF,表示最高速。數(shù)據(jù)2表示鏡頭上下移動的速度,數(shù)值從$00(停止)到$3F(最高速)。校驗碼是指Byte2到Byte6這5個數(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,聚焦遠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,燈光關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,轉至預置點0010
12、xff,0 x01,0 x00,0 x03,0 x00,0 x01,0 x05,設置預置點0010 xff,0 x01,0 x00,0 x05,0 x00,0 x01,0 x07,刪除預置點001以上對應的停命令均是: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ù)位,無校驗位。格式:ByteValueFunction$A02$00to$1Fw3Databyte1數(shù)據(jù)便4Databyte2數(shù)斛25Databyte3m36Databyte4數(shù)斛4$A
13、F停Jffl18$00-$FF校監(jiān)碼|起始碼是固定值$A0。地址碼是設備的邏輯地址,可由接收設備上的DIP開關來設定?。數(shù)據(jù)位1-4意義:Bitnumber1b5432100開自堿Jts鄭1斕開焦距麺擬拉遠0T上t右0糠3$00(M)3$3F(JS)a$40(SiS)糠4上朋龜虧叫淞)列$3F耐停止碼是固定值$AF。校驗碼是Byte2到Byte6這5個數(shù)的異或值(XOR)。地址碼是從0編起的,所以地址碼$00表示第一臺設備。以地址碼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,聚焦遠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ā)送/燈光關無命令字發(fā)送/燈光開0 xa0,0 x01,0 x00,0 x96,0 x00,0 x20,0 xaf,0 xb7,自動巡航0 xa0,0 x01,0 x00,0 x99,0 x00,0 x20,0 xaf,0 xb8,/關閉自動巡航0 xa0,0 x01,0 x00,0 x07,0 x00,0 x01,0 xaf,0 x07,
16、轉至預置點001OxaO,OxO1,OxOO,OxO3,OxOO,OxO1,Oxaf,OxO3,設置預置點0010 xa0,0 x01,0 x00,0 x05,0 x00,0 x01,0 xaf,0 x01,刪除預置點001以上對應的停命令均是(上下左右、變倍、聚焦、光圈均有停命令):0 xa0,0 x01,0 x00,0 x00,0 x00,0 x00,0 xaf,0 x01,云臺控制(PTZ)命令控制說明:當控制云臺水平、上下方向動作或“IRIS”、“FOCUS”、“ZOOM”時需要使相應的控制位為“1”,不用控制的相應位置為“0”當需要云臺PAN/TILT兩方向同時動作時,只需將PAN/
17、TILT的相應控制位置“1”即可,PAN/TILT的速度控制由WORD5/WORD6決定將W0RD3、WORD4的所有位置為“0”可以停止云臺的動作5、擴充命令萬向云臺支持預設點,使云臺轉動到提前設置好的點。命令格式:WORD3WORD4WORDSWORD6OOHO3HOOHXXXX=OOH3FH-淸除預置克WORD3WORD4WORDSWORD6OOHO5HOOHXXXX-OOH3FH、清除全部預置點WORD3WORD4WORDSWORD6OOHO7HOOH77.調用預置點WORD3WORD4WORD5WORD&OQHO7HOOHXXXX=OOH3FHCPRESETNUMBERC5.運行邂視
18、序列WORD3WORD4WORD5WORDSOOHO7H四編寫并調試Linux環(huán)境下的云臺控制程序首先在linux環(huán)境下編寫簡單的程序驗證命令的正確性,例如利用write函數(shù)直接通過RS485向云臺寫命令(符合云臺控制協(xié)議),查看命令是否執(zhí)行正確,如果正確則編寫云臺控制程序將這些命令封裝成函數(shù),以供上層函數(shù)調用。全局變量:intptz_protocol,baudrate,ptz_fd云臺所采用的協(xié)議和波特率,串口句柄。數(shù)據(jù)結構:考慮到pelco-D和pelco-P協(xié)議命令消息格式的規(guī)定,對于pelco-D定義命令消息:staticstructst_messagecharstx;charaddr
19、ess;charcommand1,command2,data1,data2;charchecksum;send_msg;(消息各部分的含義和規(guī)定見本文檔第三部分)對于pelco-P定義命令消息:staticstructst_messagecharstx;charaddress;chardata1,data2,data3,data4;charetx;charchecksum;send_msg;(消息各部分的含義和規(guī)定見本文當?shù)谌糠郑?str_cmd為傳參,此字符串中應包括需要實現(xiàn)的功能,操作,速度等信息。功能命令應包括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:調焦遠FOCUS_NEAR調焦近IR
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年新世紀版九年級歷史下冊階段測試試卷含答案
- 2025年湘師大新版八年級地理下冊月考試卷含答案
- 2025年新世紀版選修6歷史下冊月考試卷含答案
- 2025年人民版必修3歷史下冊月考試卷含答案
- 2025年人教A新版九年級地理下冊階段測試試卷含答案
- 2025年滬科版八年級歷史下冊階段測試試卷含答案
- 2025年滬科版九年級地理下冊階段測試試卷
- 2025年外研版必修三歷史上冊階段測試試卷
- 2025年教科新版必修3生物下冊月考試卷含答案
- 2025年新科版選擇性必修3生物下冊階段測試試卷含答案
- 課題申報書:GenAI賦能新質人才培養(yǎng)的生成式學習設計研究
- 駱駝祥子-(一)-劇本
- 全國醫(yī)院數(shù)量統(tǒng)計
- 《中國香文化》課件
- 2024年醫(yī)美行業(yè)社媒平臺人群趨勢洞察報告-醫(yī)美行業(yè)觀察星秀傳媒
- 第六次全國幽門螺桿菌感染處理共識報告-
- 天津市2023-2024學年七年級上學期期末考試數(shù)學試題(含答案)
- 經(jīng)濟學的思維方式(第13版)
- 盤錦市重點中學2024年中考英語全真模擬試卷含答案
- 湖北教育出版社四年級下冊信息技術教案
- 背景調查報告
評論
0/150
提交評論