關 閉

        新聞中心

        EEPW首頁 > 安全與國防 > 設計應用 > 利用Java實現對云臺和鏡頭的遠程控制

        利用Java實現對云臺和鏡頭的遠程控制

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


        上一頁 1 2 下一頁

        關鍵詞: Java 云臺 鏡頭 解碼器

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 怀仁县| 阿克陶县| 荆州市| 略阳县| 汉沽区| 边坝县| 八宿县| 康平县| 齐河县| 璧山县| 昌宁县| 日土县| 贡嘎县| 方城县| 屯昌县| 四川省| 伊川县| 铁力市| 朔州市| 易门县| 东兰县| 洪江市| 神池县| 横山县| 西乌珠穆沁旗| 咸丰县| 平乡县| 固始县| 包头市| 桓台县| 弥勒县| 临江市| 鄢陵县| 唐山市| 哈尔滨市| 清新县| 威远县| 绥阳县| 会东县| 青神县| 遂溪县|