亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Android的遠(yuǎn)程實(shí)驗(yàn)客戶端設(shè)計(jì)

        2015-07-22 22:32:48黃廣發(fā)吳先球
        現(xiàn)代電子技術(shù) 2015年14期
        關(guān)鍵詞:客戶端

        黃廣發(fā)+吳先球

        摘 要: 為了讓實(shí)驗(yàn)者在移動(dòng)終端上完成遠(yuǎn)程實(shí)驗(yàn)的異地操作,設(shè)計(jì)一種基于Android平臺(tái)的遠(yuǎn)程實(shí)驗(yàn)客戶端。通過(guò)對(duì)開(kāi)源播放器VLC進(jìn)行二次開(kāi)發(fā),使用Socket通信傳輸跨平臺(tái)控制指令,利用HTML5中的canvas標(biāo)簽繪畫(huà)波形圖,實(shí)現(xiàn)客戶端進(jìn)行遠(yuǎn)程實(shí)驗(yàn)的視頻監(jiān)控、遠(yuǎn)程控制實(shí)驗(yàn)儀器和數(shù)據(jù)處理等功能。以單擺法測(cè)重力加速度實(shí)驗(yàn)進(jìn)行效果驗(yàn)證,實(shí)測(cè)結(jié)果表明,客戶端具有穩(wěn)定可靠、實(shí)驗(yàn)數(shù)據(jù)處理精度高、人機(jī)交互性好等優(yōu)點(diǎn)。

        關(guān)鍵詞: 遠(yuǎn)程實(shí)驗(yàn); Android; 客戶端; HTML5

        中圖分類號(hào): TN911.2?34; TP311.52 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 1004?373X(2015)14?0089?03

        0 引 言

        在當(dāng)今信息技術(shù)高速發(fā)展的時(shí)代,學(xué)習(xí)的自主化、智能化和終身化使得遠(yuǎn)程教育必須要與時(shí)俱進(jìn),就是要運(yùn)用信息技術(shù)改善遠(yuǎn)程教學(xué)系統(tǒng)以滿足人們的迫切需求。遠(yuǎn)程實(shí)驗(yàn)[1]是通過(guò)互聯(lián)網(wǎng)遠(yuǎn)程操作實(shí)驗(yàn)儀器,在異地完成真實(shí)的實(shí)驗(yàn)過(guò)程。遠(yuǎn)程實(shí)驗(yàn)不受時(shí)空限制,特別是隨著平板電腦、智能手機(jī)等移動(dòng)終端的普及,Android系統(tǒng)占據(jù)了主流,只要連接了Internet,就可以根據(jù)實(shí)驗(yàn)者的水平和需要,隨時(shí)隨地使用客戶端去選做各種實(shí)驗(yàn),這種移動(dòng)學(xué)習(xí)環(huán)境下的實(shí)驗(yàn)教學(xué)模式增加了教學(xué)的靈活性,具有廣泛的應(yīng)用前景。

        為了滿足移動(dòng)學(xué)習(xí)的需求,本文結(jié)合遠(yuǎn)程控制實(shí)驗(yàn)的系統(tǒng)特點(diǎn),設(shè)計(jì)了一種基于Android的客戶端,實(shí)現(xiàn)了遠(yuǎn)程控制實(shí)驗(yàn)的移動(dòng)性操作。

        1 系統(tǒng)硬件及其工作原理

        遠(yuǎn)程實(shí)驗(yàn)系統(tǒng)的硬件結(jié)構(gòu)如圖1所示,服務(wù)器通過(guò)串口連接控制模塊,控制模塊連接實(shí)驗(yàn)儀器,通過(guò)執(zhí)行服務(wù)器傳送過(guò)來(lái)的指令控制實(shí)驗(yàn)儀器,并采集實(shí)驗(yàn)數(shù)據(jù)。攝像機(jī)捕獲現(xiàn)場(chǎng)儀器的運(yùn)行情況通過(guò)USB接口反饋給服務(wù)器,服務(wù)器再通過(guò)網(wǎng)絡(luò)及時(shí)反饋給遠(yuǎn)程的操作者。

        控制模塊主要由主控單片機(jī)和相關(guān)外設(shè)組成,服務(wù)器上使用LabVIEW軟件與控制模塊進(jìn)行通信,使用VLC media player進(jìn)行流媒體數(shù)據(jù)的編碼和傳輸,使用Tomcat進(jìn)行搭建Web應(yīng)用服務(wù)器,響應(yīng)HTML頁(yè)面的請(qǐng)求訪問(wèn),提供了實(shí)驗(yàn)數(shù)據(jù)處理功能。

        2 客戶端設(shè)計(jì)

        客戶端是遠(yuǎn)程實(shí)驗(yàn)系統(tǒng)的一部分,實(shí)驗(yàn)者直接在客戶端上進(jìn)行遠(yuǎn)程實(shí)驗(yàn)的操作,具有實(shí)時(shí)觀察實(shí)驗(yàn)現(xiàn)象、實(shí)時(shí)遠(yuǎn)程控制實(shí)驗(yàn)儀器、實(shí)驗(yàn)數(shù)據(jù)接收與處理等功能。

        圖1 系統(tǒng)硬件結(jié)構(gòu)圖

        2.1 Android應(yīng)用程序開(kāi)發(fā)環(huán)境

        開(kāi)發(fā)環(huán)境[2]由JDK(Java開(kāi)發(fā)工具包)、Eclipse(開(kāi)發(fā)Java程序的軟件工具)、Android SDK(Android專屬的軟件開(kāi)發(fā)工具包)、ADT(開(kāi)發(fā)Android應(yīng)用程序的插件)、NDK(原生開(kāi)發(fā)工具包)5部分組成,通過(guò)安裝和進(jìn)行相應(yīng)的配置即可完成開(kāi)發(fā)環(huán)境的搭建。

        2.2 功能流程

        遠(yuǎn)程實(shí)驗(yàn)的實(shí)驗(yàn)儀器是實(shí)際設(shè)備,遠(yuǎn)程用戶使用客戶端通過(guò)網(wǎng)絡(luò)對(duì)其進(jìn)行操作,控制實(shí)驗(yàn)設(shè)備的運(yùn)行。客戶端的整體功能如圖2所示,其中觀察實(shí)驗(yàn)現(xiàn)象部分是先要接入流媒體服務(wù)器,再把通過(guò)HTTP協(xié)議傳輸過(guò)來(lái)的H.264視頻流進(jìn)行解碼[3],最后通過(guò)控件SurfaceView播放出來(lái);控制實(shí)驗(yàn)儀器部分主要是Socket通信,在主線程下申請(qǐng)子線程進(jìn)行處理,具體采用Handler消息傳遞機(jī)制;數(shù)據(jù)處理部分是下載服務(wù)器端采集為txt格式的數(shù)據(jù)文件,讀取后在HTML5上使用canvas繪制波形圖,這種可視化的數(shù)據(jù)分析可以讓實(shí)驗(yàn)者讀取數(shù)據(jù)進(jìn)行公式運(yùn)算。

        圖2 功能流程圖

        2.3 關(guān)鍵技術(shù)

        2.3.1 JNI接口

        將開(kāi)源播放器VLC[4]應(yīng)用到Android上,需要通過(guò)將VLC的源代碼編譯成庫(kù)文件,再通過(guò)Android提供的JNI接口調(diào)用,因?yàn)閂LC的代碼完全由C/C++編寫(xiě),在需要調(diào)用第三方C/C++庫(kù)文件時(shí),使用JNI接口的應(yīng)用[5]可以讓開(kāi)發(fā)者實(shí)現(xiàn)一些用Java語(yǔ)言難以實(shí)現(xiàn)的功能。

        在上層通過(guò)以下代碼載入已經(jīng)編譯好的libvlcjni.so庫(kù)文件:

        {

        System.loadLibrary(“vlcjni”);

        }

        LibVLC類通過(guò)聲明庫(kù)中的本地函數(shù)就可以在上層應(yīng)用程序調(diào)用。

        在主類MainActivity中,調(diào)用VLC接收服務(wù)器端發(fā)送的視頻流,經(jīng)過(guò)程序處理后進(jìn)行播放,關(guān)鍵代碼如下:

        private LibVLC mLibVLC = null;

        mLibVLC = Util.getLibVlcInstance();

        if (mLibVLC ! = null)

        {

        String pathUri = "http://222.200.152.122:8080/x";

        mLibVLC.playMyMRL(pathUri);

        }

        2.3.2 多線程應(yīng)用

        采用多線程技術(shù)可以避免UI線程的阻塞,其中Handler Message[6]方法最為常用。具體操作是在新啟動(dòng)的線程中發(fā)送消息,在主線程中獲取、處理消息,通過(guò)回調(diào)的方式,主線程能夠處理先啟動(dòng)線程所發(fā)送的消息。

        在觀察實(shí)驗(yàn)現(xiàn)象的同時(shí),要對(duì)實(shí)驗(yàn)儀器進(jìn)行控制,這就需要使用多線程來(lái)實(shí)現(xiàn),主線程是視頻播放,實(shí)驗(yàn)儀器控制就會(huì)開(kāi)啟新的子線程來(lái)執(zhí)行,簡(jiǎn)單的代碼實(shí)現(xiàn)如下:

        在主線程中定義handler:

        private Handler handler = new Handler()

        {

        @Override

        public void handleMessage(Message msg) {

        super.handleMessage(msg);

        switch(msg.what){

        case 1:

        ……

        break;

        } } }

        在另一線程中執(zhí)行任務(wù):

        Message message = new Message();

        message.what = 1;

        handler.sendMessage(message);

        控制實(shí)驗(yàn)儀器通過(guò)Socket通信[7]實(shí)現(xiàn),包括3個(gè)步驟:建立連接、發(fā)送數(shù)據(jù)、關(guān)閉套接字。核心代碼如下:

        private Socket client = null;

        client = new Socket("222.200.152.122",8888);

        PrintWriter out = new

        PrintWriter(client.getOutputStream());

        out.println("#");

        out.flush();

        client.close();

        整個(gè)Socket通信過(guò)程需要采用try…catch機(jī)制。

        2.3.3 HTML5 標(biāo)簽

        標(biāo)簽是HTML5中的新標(biāo)簽[8?9],只是一種圖形容器,必須使用腳本來(lái)繪制圖形,有一個(gè)基于JavaScript的繪圖API,所以在繪圖方面非常方便。其基本的使用步驟如下:

        在Android WebView控件中使用JavaScript,必須在WebView中使能JavaScript,還要解決亂碼問(wèn)題,代碼如下:

        webView.getSettings().setDefaultTextEncodingName("gbk");

        webView.getSettings().setJavaScriptEnabled(true);

        3 應(yīng)用實(shí)例

        使用該客戶端進(jìn)行操作遠(yuǎn)程控制實(shí)驗(yàn),選用單擺法測(cè)重力加速度實(shí)驗(yàn)[10],因?yàn)榇藢?shí)驗(yàn)需要實(shí)時(shí)觀察實(shí)驗(yàn)現(xiàn)象、遠(yuǎn)程控制電機(jī)的開(kāi)關(guān)、采集傳感器數(shù)據(jù)進(jìn)行運(yùn)算等內(nèi)容,最后通過(guò)實(shí)驗(yàn)的完成進(jìn)而算出重力加速度。通過(guò)讀圖,輸入t1=2.79 s,t2=0.83 s,然后客戶端會(huì)自動(dòng)計(jì)算出重力加速度,計(jì)算原理是由周期T=t2-t1,T=2π[Lg],得到重力加速度g=[4π2LT2],客戶端的數(shù)據(jù)處理界面如圖3所示。

        4 結(jié) 語(yǔ)

        本文設(shè)計(jì)的客戶端,結(jié)合基于C/S模式的遠(yuǎn)程控制實(shí)驗(yàn)系統(tǒng),實(shí)現(xiàn)了在客戶端上通過(guò)互聯(lián)網(wǎng)完成遠(yuǎn)程實(shí)驗(yàn)的操作過(guò)程。實(shí)時(shí)觀察實(shí)驗(yàn)現(xiàn)象、低延時(shí)控制實(shí)驗(yàn)設(shè)備、準(zhǔn)確處理實(shí)驗(yàn)數(shù)據(jù)等功能增強(qiáng)了遠(yuǎn)程實(shí)驗(yàn)的真實(shí)感,有助于更好地掌握實(shí)驗(yàn)原理。本客戶端除了應(yīng)用到以上實(shí)驗(yàn)外,還可以應(yīng)用到其他物理實(shí)驗(yàn)的教學(xué)當(dāng)中?;贏ndroid平臺(tái)的遠(yuǎn)程實(shí)驗(yàn)客戶端突破了傳統(tǒng)實(shí)驗(yàn)的時(shí)空限制,提高了實(shí)驗(yàn)設(shè)備的利用率,最大限度地共享實(shí)驗(yàn)教學(xué)資源。

        圖3 數(shù)據(jù)處理界面圖

        參考文獻(xiàn)

        [1] 吳先球,劉朝輝,葉穗紅,等.網(wǎng)絡(luò)環(huán)境下遠(yuǎn)程實(shí)驗(yàn)的技術(shù)探討[J].實(shí)驗(yàn)技術(shù)與管理,2008,25(6):30?33.

        [2] 公磊,周聰.基于Android的移動(dòng)終端應(yīng)用程序開(kāi)發(fā)與研究[J].計(jì)算機(jī)與現(xiàn)代化,2008(8):85?89.

        [3] 劉龍飛,章堅(jiān)武.基于H.264的Web視頻監(jiān)控客戶端設(shè)計(jì)與實(shí)現(xiàn)[J].現(xiàn)代電子技術(shù),2011,34(19):27?30.

        [4] 李宗辰,朱秀昌.基于VLC的Android多路視頻監(jiān)控系統(tǒng)[J].現(xiàn)代電子技術(shù),2013,36(24):63?66.

        [5] 楊豐盛.Android應(yīng)用開(kāi)發(fā)揭秘[M].北京:機(jī)械出版社,2010.

        [6] 閆偉,葉建栲.多線程技術(shù)在Android手機(jī)開(kāi)發(fā)中的應(yīng)用[J].信息通信,2012(1):46?47.

        [7] 孫劍,董超,夏繼媛,等.基于Android的Socket(TCP/IP)在LED燈光控制系統(tǒng)中的應(yīng)用[J].深圳職業(yè)技術(shù)學(xué)院學(xué)報(bào),2012(5):19?23.

        [8] 龐程,崔宣,粟潘,等.基于Android平臺(tái)HTML5的研究與實(shí)現(xiàn)[J].機(jī)械管理開(kāi)發(fā),2012(6):136?137.

        [9] 佚名.HTML 標(biāo)簽的具體使用方法[EB/OL]. [2013?05?07]. http://www.w3school.com.cn/tags/tag_canvas.asp.

        [10] 張冠芬.單擺智能化測(cè)量重力加速度實(shí)驗(yàn)的研究[J].菏澤學(xué)院學(xué)報(bào),2012,34(2):50?55.

        猜你喜歡
        客戶端
        縣級(jí)臺(tái)在突發(fā)事件報(bào)道中如何應(yīng)用手機(jī)客戶端
        孵化垂直頻道:新聞客戶端新策略
        基于Vanconnect的智能家居瘦客戶端的設(shè)計(jì)與實(shí)現(xiàn)
        客戶端空間數(shù)據(jù)緩存策略
        免费av在线 国产精品| 男人j进女人j啪啪无遮挡| 国产免费无码一区二区三区| AV教师一区高清| 国产高跟丝袜在线诱惑| 全部亚洲国产一区二区| 免费a级毛片18禁网站免费| 插b内射18免费视频| 婷婷开心深爱五月天播播| 精品久久久无码不卡| 一区二区三区日本视频| 无码伊人66久久大杳蕉网站谷歌| 亚洲日韩一区精品射精| 精品久久久久久无码国产| 国产成人精品蜜芽视频| 麻豆精品在线视频观看| 99久久精品无码一区二区毛片| 中文字幕免费不卡二区| 97色偷偷色噜噜狠狠爱网站97| 国产精品综合色区av| 午夜av天堂精品一区| 久久久久夜夜夜精品国产| 夫妇交换刺激做爰视频| 制服丝袜人妻中出第一页| 国家一级内射高清视频| 性色av一二三天美传媒| 国产国拍精品av在线观看按摩 | 黑人大群体交免费视频| 中国老熟妇自拍hd发布| 亚洲成在人线电影天堂色| 日日噜噜夜夜久久密挑| 日韩精品一区二区三区在线视频| 久久久久亚洲av成人无码| 亚洲av乱码中文一区二区三区| 99热久久只有这里是精品| 护士人妻hd中文字幕| 无码孕妇孕交在线观看| 红杏亚洲影院一区二区三区| 亚洲免费视频一区二区三区| 男男亚洲av无一区二区三区久久 | 亚洲国产免费一区二区|