999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Android的遠程實驗客戶端設計

2015-07-22 22:32:48黃廣發吳先球
現代電子技術 2015年14期

黃廣發+吳先球

摘 要: 為了讓實驗者在移動終端上完成遠程實驗的異地操作,設計一種基于Android平臺的遠程實驗客戶端。通過對開源播放器VLC進行二次開發,使用Socket通信傳輸跨平臺控制指令,利用HTML5中的canvas標簽繪畫波形圖,實現客戶端進行遠程實驗的視頻監控、遠程控制實驗儀器和數據處理等功能。以單擺法測重力加速度實驗進行效果驗證,實測結果表明,客戶端具有穩定可靠、實驗數據處理精度高、人機交互性好等優點。

關鍵詞: 遠程實驗; Android; 客戶端; HTML5

中圖分類號: TN911.2?34; TP311.52 文獻標識碼: A 文章編號: 1004?373X(2015)14?0089?03

0 引 言

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

為了滿足移動學習的需求,本文結合遠程控制實驗的系統特點,設計了一種基于Android的客戶端,實現了遠程控制實驗的移動性操作。

1 系統硬件及其工作原理

遠程實驗系統的硬件結構如圖1所示,服務器通過串口連接控制模塊,控制模塊連接實驗儀器,通過執行服務器傳送過來的指令控制實驗儀器,并采集實驗數據。攝像機捕獲現場儀器的運行情況通過USB接口反饋給服務器,服務器再通過網絡及時反饋給遠程的操作者。

控制模塊主要由主控單片機和相關外設組成,服務器上使用LabVIEW軟件與控制模塊進行通信,使用VLC media player進行流媒體數據的編碼和傳輸,使用Tomcat進行搭建Web應用服務器,響應HTML頁面的請求訪問,提供了實驗數據處理功能。

2 客戶端設計

客戶端是遠程實驗系統的一部分,實驗者直接在客戶端上進行遠程實驗的操作,具有實時觀察實驗現象、實時遠程控制實驗儀器、實驗數據接收與處理等功能。

圖1 系統硬件結構圖

2.1 Android應用程序開發環境

開發環境[2]由JDK(Java開發工具包)、Eclipse(開發Java程序的軟件工具)、Android SDK(Android專屬的軟件開發工具包)、ADT(開發Android應用程序的插件)、NDK(原生開發工具包)5部分組成,通過安裝和進行相應的配置即可完成開發環境的搭建。

2.2 功能流程

遠程實驗的實驗儀器是實際設備,遠程用戶使用客戶端通過網絡對其進行操作,控制實驗設備的運行??蛻舳说恼w功能如圖2所示,其中觀察實驗現象部分是先要接入流媒體服務器,再把通過HTTP協議傳輸過來的H.264視頻流進行解碼[3],最后通過控件SurfaceView播放出來;控制實驗儀器部分主要是Socket通信,在主線程下申請子線程進行處理,具體采用Handler消息傳遞機制;數據處理部分是下載服務器端采集為txt格式的數據文件,讀取后在HTML5上使用canvas繪制波形圖,這種可視化的數據分析可以讓實驗者讀取數據進行公式運算。

圖2 功能流程圖

2.3 關鍵技術

2.3.1 JNI接口

將開源播放器VLC[4]應用到Android上,需要通過將VLC的源代碼編譯成庫文件,再通過Android提供的JNI接口調用,因為VLC的代碼完全由C/C++編寫,在需要調用第三方C/C++庫文件時,使用JNI接口的應用[5]可以讓開發者實現一些用Java語言難以實現的功能。

在上層通過以下代碼載入已經編譯好的libvlcjni.so庫文件:

{

System.loadLibrary(“vlcjni”);

}

LibVLC類通過聲明庫中的本地函數就可以在上層應用程序調用。

在主類MainActivity中,調用VLC接收服務器端發送的視頻流,經過程序處理后進行播放,關鍵代碼如下:

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 多線程應用

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

在觀察實驗現象的同時,要對實驗儀器進行控制,這就需要使用多線程來實現,主線程是視頻播放,實驗儀器控制就會開啟新的子線程來執行,簡單的代碼實現如下:

在主線程中定義handler:

private Handler handler = new Handler()

{

@Override

public void handleMessage(Message msg) {

super.handleMessage(msg);

switch(msg.what){

case 1:

……

break;

} } }

在另一線程中執行任務:

Message message = new Message();

message.what = 1;

handler.sendMessage(message);

控制實驗儀器通過Socket通信[7]實現,包括3個步驟:建立連接、發送數據、關閉套接字。核心代碼如下:

private Socket client = null;

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

PrintWriter out = new

PrintWriter(client.getOutputStream());

out.println("#");

out.flush();

client.close();

整個Socket通信過程需要采用try…catch機制。

2.3.3 HTML5 標簽

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

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

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

webView.getSettings().setJavaScriptEnabled(true);

3 應用實例

使用該客戶端進行操作遠程控制實驗,選用單擺法測重力加速度實驗[10],因為此實驗需要實時觀察實驗現象、遠程控制電機的開關、采集傳感器數據進行運算等內容,最后通過實驗的完成進而算出重力加速度。通過讀圖,輸入t1=2.79 s,t2=0.83 s,然后客戶端會自動計算出重力加速度,計算原理是由周期T=t2-t1,T=2π[Lg],得到重力加速度g=[4π2LT2],客戶端的數據處理界面如圖3所示。

4 結 語

本文設計的客戶端,結合基于C/S模式的遠程控制實驗系統,實現了在客戶端上通過互聯網完成遠程實驗的操作過程。實時觀察實驗現象、低延時控制實驗設備、準確處理實驗數據等功能增強了遠程實驗的真實感,有助于更好地掌握實驗原理。本客戶端除了應用到以上實驗外,還可以應用到其他物理實驗的教學當中?;贏ndroid平臺的遠程實驗客戶端突破了傳統實驗的時空限制,提高了實驗設備的利用率,最大限度地共享實驗教學資源。

圖3 數據處理界面圖

參考文獻

[1] 吳先球,劉朝輝,葉穗紅,等.網絡環境下遠程實驗的技術探討[J].實驗技術與管理,2008,25(6):30?33.

[2] 公磊,周聰.基于Android的移動終端應用程序開發與研究[J].計算機與現代化,2008(8):85?89.

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

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

[5] 楊豐盛.Android應用開發揭秘[M].北京:機械出版社,2010.

[6] 閆偉,葉建栲.多線程技術在Android手機開發中的應用[J].信息通信,2012(1):46?47.

[7] 孫劍,董超,夏繼媛,等.基于Android的Socket(TCP/IP)在LED燈光控制系統中的應用[J].深圳職業技術學院學報,2012(5):19?23.

[8] 龐程,崔宣,粟潘,等.基于Android平臺HTML5的研究與實現[J].機械管理開發,2012(6):136?137.

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

[10] 張冠芬.單擺智能化測量重力加速度實驗的研究[J].菏澤學院學報,2012,34(2):50?55.

主站蜘蛛池模板: 福利在线免费视频| 亚洲系列中文字幕一区二区| 国产香蕉一区二区在线网站| 亚洲无码高清免费视频亚洲| 丝袜高跟美脚国产1区| 97国产在线播放| 国产偷倩视频| 欧美激情二区三区| 免费xxxxx在线观看网站| 久久国产av麻豆| 亚洲 日韩 激情 无码 中出| 亚洲最大福利网站| 69综合网| 一级爱做片免费观看久久| 天天操天天噜| 在线视频亚洲色图| 青青青草国产| 国产亚洲现在一区二区中文| 中文字幕精品一区二区三区视频| 欧洲精品视频在线观看| 青青草原国产| 国产成人精品高清在线| 亚洲天堂网在线播放| 美女扒开下面流白浆在线试听| 国产精品毛片一区| 成年人久久黄色网站| 亚洲成人黄色在线| 欧美色视频日本| 国产色婷婷| 日韩小视频在线观看| 成人va亚洲va欧美天堂| 青青草原国产精品啪啪视频| 欧美日韩高清在线| 福利一区在线| 亚洲视频在线观看免费视频| 欧美劲爆第一页| 国产区人妖精品人妖精品视频| 久久综合色88| 欧美日韩国产成人在线观看| 国产www网站| 国产欧美日韩一区二区视频在线| 亚洲天堂777| 欧美三级自拍| 在线观看国产小视频| 亚洲欧美精品一中文字幕| 亚洲 欧美 偷自乱 图片 | 8090成人午夜精品| av在线5g无码天天| 国产精品伦视频观看免费| 亚洲天堂精品在线| 国产视频入口| 亚欧成人无码AV在线播放| 91网址在线播放| 91破解版在线亚洲| 精品一区二区三区自慰喷水| 成人欧美在线观看| 午夜无码一区二区三区在线app| 国产精品国产三级国产专业不| 日韩无码黄色| 91美女视频在线| a级毛片毛片免费观看久潮| 亚洲色欲色欲www网| 伊人久久影视| 色老二精品视频在线观看| 国产精品开放后亚洲| 色爽网免费视频| 婷婷色狠狠干| 成人福利视频网| 国产微拍精品| 欧洲在线免费视频| 夜夜拍夜夜爽| 在线国产欧美| 91麻豆久久久| 成·人免费午夜无码视频在线观看| 亚洲伊人久久精品影院| 亚洲精品老司机| 福利片91| 香蕉久久国产超碰青草| 欧美www在线观看| 自拍中文字幕| 国产精品妖精视频| 色婷婷成人|