缔冠期刊网

基于Android的远程实验客户端设计

2022-06-09

黄广发,吴先球

(华南师范大学物理与电信工程学院,广东广州510006)

摘要:为了让实验者在移动终端上完成远程实验的异地操作,设计一种基于Android平台的远程实验客户端。通过对开源播放器VLC进行二次开发,使用Socket通信传输跨平台控制指令,利用HTML5中的canvas标签绘画波形图,实现客户端进行远程实验的视频监控、远程控制实验仪器和数据处理等功能。以单摆法测重力加速度实验进行效果验证,实测结果表明,客户端具有稳定可靠、实验数据处理精度高、人机交互性好等优点。

教育期刊网 http://www.jyqkw.com
关键词 :远程实验;Android;客户端;HTML5

中图分类号:TN911.2?34;TP311.52 文献标识码:A 文章编号:1004?373X(2015)14?0089?03

收稿日期:2014?12?25

基金项目:广州市科技和信息化局科普计划资助项目(2014KP000043)

0 引言

在当今信息技术高速发展的时代,学习的自主化、智能化和终身化使得远程教育必须要与时俱进,就是要运用信息技术改善远程教学系统以满足人们的迫切需求。远程实验[1]是通过互联网远程操作实验仪器,在异地完成真实的实验过程。远程实验不受时空限制,特别是随着平板电脑、智能手机等移动终端的普及,Android系统占据了主流,只要连接了Internet,就可以根据实验者的水平和需要,随时随地使用客户端去选做各种实验,这种移动学习环境下的实验教学模式增加了教学的灵活性,具有广泛的应用前景。

为了满足移动学习的需求,本文结合远程控制实验的系统特点,设计了一种基于Android的客户端,实现了远程控制实验的移动性操作。

1 系统硬件及其工作原理

远程实验系统的硬件结构如图1所示,服务器通过串口连接控制模块,控制模块连接实验仪器,通过执行服务器传送过来的指令控制实验仪器,并采集实验数据。

摄像机捕获现场仪器的运行情况通过USB接口反馈给服务器,服务器再通过网络及时反馈给远程的操作者。

控制模块主要由主控单片机和相关外设组成,服务器上使用LabVIEW 软件与控制模块进行通信,使用VLC media player进行流媒体数据的编码和传输,使用Tomcat进行搭建Web应用服务器,响应HTML页面的请求访问,提供了实验数据处理功能。

2 客户端设计

客户端是远程实验系统的一部分,实验者直接在客户端上进行远程实验的操作,具有实时观察实验现象、实时远程控制实验仪器、实验数据接收与处理等功能。

2.1 Android应用程序开发环境

开发环境[2]由JDK(Java开发工具包)、Eclipse(开发Java程序的软件工具)、Android SDK(Android专属的软件开发工具包)、ADT(开发Android应用程序的插件)、NDK(原生开发工具包)5部分组成,通过安装和进行相应的配置即可完成开发环境的搭建。

2.2 功能流程

远程实验的实验仪器是实际设备,远程用户使用客户端通过网络对其进行操作,控制实验设备的运行。客户端的整体功能如图2所示,其中观察实验现象部分是先要接入流媒体服务器,再把通过HTTP协议传输过来的H.264 视频流进行解码[3],最后通过控件SurfaceView播放出来;控制实验仪器部分主要是Socket通信,在主线程下申请子线程进行处理,具体采用Handler消息传递机制;数据处理部分是下载服务器端采集为txt格式的数据文件,读取后在HTML5 上使用canvas 绘制波形图,这种可视化的数据分析可以让实验者读取数据进行公式运算。

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 Socke(t "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π L g ,得到重力加速度g= 4π2 L T 2 ,客户端的数据处理界面如图3所示。

4 结语

本文设计的客户端,结合基于C/S模式的远程控制实验系统,实现了在客户端上通过互联网完成远程实验的操作过程。实时观察实验现象、低延时控制实验设备、准确处理实验数据等功能增强了远程实验的真实感,有助于更好地掌握实验原理。本客户端除了应用到以上实验外,还可以应用到其他物理实验的教学当中。基于Android平台的远程实验客户端突破了传统实验的时空限制,提高了实验设备的利用率,最大限度地共享实验教学资源。

教育期刊网 http://www.jyqkw.com
参考文献

[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.

作者简介:黄广发(1988—),男,广东阳江人,硕士研究生。研究方向为物联网技术与应用。

吴先球(1968—),男,广东平远人,教授,博士。研究方向为信息技术在物理实验中的应用、核磁共振技术及其应用。

论文中心更多

期刊百科
期刊投稿 期刊知识 期刊审稿 核心期刊目录 录用通知 期刊版面费 投稿期刊推荐 学术问答
基础教育
小学语文 中学语文 小学数学 中学数学 小学英语 中学英语 物理教学 化学教学 生物教学 政治教学 历史教学 地理教学 科学教学 音乐教学 美术教学 体育教学 信息技术 班主任管理 校长管理 幼教 教育管理 微课教学 作文教学 德育教学 教学设计
医学论文
内科医学 外科医学 预防医学 妇科医学 检测医学 眼科医学 临床医学 药学论文 口腔医学 中西医 中医学 外科 护理 基础医学 急救医学 老年医学 医学实验 儿科医学 神经医学 兽医学 肿瘤医学 综合医学
职业教育
教育学原理 电影文学教育 学前教育 教育学管理 高等教育学 教育技术学 职业技术教育 成人教育学 特殊教育学 教育心理学 家庭教育 教育毕业 中专中职教育 教学设计 国学教育 学术研究 大学教育
药学卫生
社区门诊 医药学 医患关系 医院管理 疾病预防 保健医学 公共卫生 医学教育
文科论文
农业经济 工商管理毕业 会计毕业 行政管理 法律毕业 市场营销 经济毕业 汉语言文学 财务管理 物流管理 人力资源 旅游管理 国际贸易 物业管理 新闻学 企业管理 金融银行 社会科学 食品安全 办公档案 审计学 税务税收学 外国文学 哲学
理科论文
机电毕业 土木工程 计算机毕业 电气毕业 建筑毕业 电子商务 工程毕业 设计毕业 机械制造 汽车毕业 园林毕业 农学毕业 数控毕业 软件技术 水利工程 环境生态 畜牧渔业 化工毕业 科技创新 石油矿藏
论文格式
开题报告 论文题目 摘要关键词 目录提纲 论文致谢 参考文献 附录其他 论文答辩
职业论文
教育论文 经济论文 科技论文 财会论文 管理论文 医学论文 法学论文 文学论文 工业论文 建筑论文 农业论文 水利论文 计算机论文 社科论文 机械论文 生态环境 中西文化

先发表后付款 不成功可退款

权威机构认证 专注期刊10余年 1000余家杂志社长期合作

缔冠期刊网

首页 网站地图 返回顶部
Copyright © 1998- 缔冠期刊网