<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          關(guān) 閉

          新聞中心

          EEPW首頁 > 安全與國防 > 設(shè)計應(yīng)用 > 利用Java實現(xiàn)對云臺和鏡頭的遠程控制

          利用Java實現(xiàn)對云臺和鏡頭的遠程控制

          作者: 時間:2008-03-11 來源:網(wǎng)絡(luò) 收藏
          和ServerSocket類分別用于客戶機和服務(wù)器中,分別創(chuàng)建獨立的Socket,將2個Socket進行連接,實現(xiàn)連接后,就可以通過Socket進行通信[6]。
          在本系統(tǒng)中,服務(wù)器端起一線程進行監(jiān)聽,一旦收到客戶端對服務(wù)器的指定端口發(fā)出的請求,即根據(jù)客戶端傳來的指令來控制??蛻舳送ㄟ^發(fā)送字符串與服務(wù)器端匹配控制命令。如控制向上,則客戶端:
          public vo id up () {
          t ry{
          Socket mysocket= new Socket ( InetA ddress. getLocal2
          Ho st () , 5678);
          mysocket. getO utputSt ream ( ). w rite ( " up ". getBytes
          () );
          mysocket. clo se ();
          }catch ( IO Excep t ion e) {
          e. p rintStackT race ();
          }
          }
          服務(wù)器端:
          if (command. equals ("up " ) ) {
          . . . . . .
          ??實現(xiàn)向上操作
          }
          用戶只需在界面中點擊"上"、"下"、"左"、"右"等命令按鈕,系統(tǒng)即向服務(wù)器發(fā)送命令。
          2、控制沖突的解決
          當(dāng)有多個客戶端同時登陸并控制,或服務(wù)器端和客戶端同時控制云臺,便會發(fā)生控制沖突。解決控制沖突的策略是設(shè)置控制狀態(tài)??蛻舳藢υ婆_或的控制是通過服務(wù)器端進行的。 客戶端若要發(fā)送云臺或控制命令,必須首先向服務(wù)器端發(fā)送控制申請命令,服務(wù)器在接收到客戶端控制申請命令后,就會檢查控制狀態(tài)。
          (1)當(dāng)沒有控制申請的時候控制狀態(tài)為空,服務(wù)器接受控制申請;當(dāng)云臺和鏡頭正在被控制,控制狀態(tài)為忙,申請控制需要等待,服務(wù)器將通知正在控制的用戶。
          (2)正在控制的用戶若在15min內(nèi)無控制操作,服務(wù)器端自動解除控制,若要繼續(xù)控制則要重新申請。
          (3)若申請控制的是服務(wù)器端,服務(wù)器會告知正在操作的客戶端將在1min內(nèi)退出。
          四、實現(xiàn)方法
          根據(jù)Pelco-D協(xié)議,對云臺和鏡頭的控制,實質(zhì)是通過串口對輸入一個包含七位數(shù)據(jù)碼的數(shù)組,通過所輸入的數(shù)據(jù)碼對云臺及鏡頭進行控制建立好協(xié)議的主體,就可以建立一個控制窗口界面,實現(xiàn)各種控制功能,使用戶在客戶端方便地進行監(jiān)控。如要建立云臺上、下、左、右的控制,則在界面中建立4個控制按鈕并分別實現(xiàn)對應(yīng)的消息。
          以下是實現(xiàn)控制云臺向左轉(zhuǎn)動的程序:
          public stat ic vo id main (St ring[ ] args)
          {
          PelcoD pelcoD= new PelcoD ();
          addressin= 0x01;
          speeding= 0x20;
          //獲得數(shù)據(jù)碼流
          byte [ ] messagesend= pelcoD. CameraT ilt (addressin,
          PelcoD. Pan. L eft. getV alue () , speedin);
            t ry{
          //寫入數(shù)據(jù)碼流
          out. w rite (messagesend, 0, 7);
          }catch ( IO Excep t ion e)
          {. . . . . . }
          catch (N ullPo interExcep t ion e)
          {. . . . . . }
          //關(guān)閉串口
          serialPo rt. clo se ();
          }
          發(fā)送數(shù)據(jù)碼流的例子:
          如第1 個云臺, 開啟攝像機: FF, 01, 88, 00, 00,
          00, 89;
          第2 個云臺, 關(guān)閉攝像機: FF, 02, 08, 00, 00,
          00, 09;
          第2 個云臺, 以最大速度的一半左轉(zhuǎn): FF, 02,
          00, 04, 00, 20, 26;
          第2 個云臺, 停止: FF, 02, 00, 00, 00, 00, 02;
          第10 個云臺,開啟攝像機,焦距拉遠,左轉(zhuǎn):
          FF, 0A , 88, 90, 00, 40, 62。
          五、結(jié)束語
          本系統(tǒng)利用串口通信,實現(xiàn)了對云臺和鏡頭的控制。軟件具有工作于多種操作系統(tǒng)的性能,用戶可隨時隨地通過IP網(wǎng)控制監(jiān)控現(xiàn)場,使監(jiān)控網(wǎng)絡(luò)的互通成為現(xiàn)實,為現(xiàn)代視頻監(jiān)控提供一種可行方案。


          上一頁 1 2 下一頁

          關(guān)鍵詞: Java 云臺 鏡頭 解碼器

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();