日本a√视频在线,久久青青亚洲国产,亚洲一区欧美二区,免费g片在线观看网站

        <style id="k3y6c"><u id="k3y6c"></u></style>
        <s id="k3y6c"></s>
        <mark id="k3y6c"></mark>
          
          

          <mark id="k3y6c"></mark>

          關(guān) 閉

          新聞中心

          EEPW首頁(yè) > 安全與國(guó)防 > 設(shè)計(jì)應(yīng)用 > 利用Java實(shí)現(xiàn)對(duì)云臺(tái)和鏡頭的遠(yuǎn)程控制

          利用Java實(shí)現(xiàn)對(duì)云臺(tái)和鏡頭的遠(yuǎn)程控制

          作者: 時(shí)間:2008-03-11 來(lái)源:網(wǎng)絡(luò) 收藏
          和ServerSocket類分別用于客戶機(jī)和服務(wù)器中,分別創(chuàng)建獨(dú)立的Socket,將2個(gè)Socket進(jìn)行連接,實(shí)現(xiàn)連接后,就可以通過(guò)Socket進(jìn)行通信[6]。
          在本系統(tǒng)中,服務(wù)器端起一線程進(jìn)行監(jiān)聽(tīng),一旦收到客戶端對(duì)服務(wù)器的指定端口發(fā)出的請(qǐng)求,即根據(jù)客戶端傳來(lái)的指令來(lái)控制??蛻舳送ㄟ^(guò)發(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 " ) ) {
          . . . . . .
          ??實(shí)現(xiàn)向上操作
          }
          用戶只需在界面中點(diǎn)擊"上"、"下"、"左"、"右"等命令按鈕,系統(tǒng)即向服務(wù)器發(fā)送命令。
          2、控制沖突的解決
          當(dāng)有多個(gè)客戶端同時(shí)登陸并控制,或服務(wù)器端和客戶端同時(shí)控制云臺(tái),便會(huì)發(fā)生控制沖突。解決控制沖突的策略是設(shè)置控制狀態(tài)。客戶端對(duì)云臺(tái)或的控制是通過(guò)服務(wù)器端進(jìn)行的。 客戶端若要發(fā)送云臺(tái)或控制命令,必須首先向服務(wù)器端發(fā)送控制申請(qǐng)命令,服務(wù)器在接收到客戶端控制申請(qǐng)命令后,就會(huì)檢查控制狀態(tài)。
          (1)當(dāng)沒(méi)有控制申請(qǐng)的時(shí)候控制狀態(tài)為空,服務(wù)器接受控制申請(qǐng);當(dāng)云臺(tái)和鏡頭正在被控制,控制狀態(tài)為忙,申請(qǐng)控制需要等待,服務(wù)器將通知正在控制的用戶。
          (2)正在控制的用戶若在15min內(nèi)無(wú)控制操作,服務(wù)器端自動(dòng)解除控制,若要繼續(xù)控制則要重新申請(qǐng)。
          (3)若申請(qǐng)控制的是服務(wù)器端,服務(wù)器會(huì)告知正在操作的客戶端將在1min內(nèi)退出。
          四、實(shí)現(xiàn)方法
          根據(jù)Pelco-D協(xié)議,對(duì)云臺(tái)和鏡頭的控制,實(shí)質(zhì)是通過(guò)串口對(duì)輸入一個(gè)包含七位數(shù)據(jù)碼的數(shù)組,通過(guò)所輸入的數(shù)據(jù)碼對(duì)云臺(tái)及鏡頭進(jìn)行控制建立好協(xié)議的主體,就可以建立一個(gè)控制窗口界面,實(shí)現(xiàn)各種控制功能,使用戶在客戶端方便地進(jìn)行監(jiān)控。如要建立云臺(tái)上、下、左、右的控制,則在界面中建立4個(gè)控制按鈕并分別實(shí)現(xiàn)對(duì)應(yīng)的消息。
          以下是實(shí)現(xiàn)控制云臺(tái)向左轉(zhuǎn)動(dòng)的程序:
          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 個(gè)云臺(tái), 開(kāi)啟攝像機(jī): FF, 01, 88, 00, 00,
          00, 89;
          第2 個(gè)云臺(tái), 關(guān)閉攝像機(jī): FF, 02, 08, 00, 00,
          00, 09;
          第2 個(gè)云臺(tái), 以最大速度的一半左轉(zhuǎn): FF, 02,
          00, 04, 00, 20, 26;
          第2 個(gè)云臺(tái), 停止: FF, 02, 00, 00, 00, 00, 02;
          第10 個(gè)云臺(tái),開(kāi)啟攝像機(jī),焦距拉遠(yuǎn),左轉(zhuǎn):
          FF, 0A , 88, 90, 00, 40, 62。
          五、結(jié)束語(yǔ)
          本系統(tǒng)利用串口通信,實(shí)現(xiàn)了對(duì)云臺(tái)和鏡頭的控制。軟件具有工作于多種操作系統(tǒng)的性能,用戶可隨時(shí)隨地通過(guò)IP網(wǎng)控制監(jiān)控現(xiàn)場(chǎng),使監(jiān)控網(wǎng)絡(luò)的互通成為現(xiàn)實(shí),為現(xiàn)代視頻監(jiān)控提供一種可行方案。


          上一頁(yè) 1 2 下一頁(yè)

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

          評(píng)論


          相關(guān)推薦

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

          關(guān)閉