




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Java在基于WEB的嵌入式系统中的应用作者:柯宗武陈年生汪自云转贴自:微计算机信息点击数: 106更新时间:2008-12-10【字体: A】The Application of Embedded System Based on JavaAbstract: This paper discuss the application of Java language in embedded system that based on uClinux, and implement the data displayed with graphics. This project resolve the pro
2、blem that uClinux did not support Java, and implement the data dynamic displayed with Web. Keyword: Embedded System, uClinux, WEB, Java摘 要:该文提出了一种基于uClinux嵌入式操作系统的嵌入式系统中,使用Java实现嵌入式实时数据采集系统中数据在WEB中实时图形化显示的方案。该方案弥补uClinux不支持java的缺憾,实现了嵌入式数据采集系统数据的动态WEB显示。关键字:嵌入式系统、uClinux、WEB、Java1引言嵌入式系统是以应用为中心,以计算机
3、技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。它一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序等四个部分组成,用于实现对其他设备的控制、监视或管理等功能。嵌入式系统已广泛应用于移动通信、医疗电子设备、信息家电、无线网络、工业控制和国防军事等社会生活的各个领域。为适应嵌入式分布处理结构和应用上网需求,面向21世纪的嵌入式系统要求配备标准的一种或多种网络通信接口。针对外部联网要求,嵌入设备必需配有通信接口,相应需要TCP/IP协议簇软件支持;由于家用电器相互关联(如防盗报警、灯光能源控制、影视设备和信息终端交换信息)及
4、实验现场仪器的协调工作等要求,新一代嵌入式设备还需具备IEEE1394、USB、CAN、Bluetooth或IrDA通信接口,同时也需要提供相应的通信组网协议软件和物理层驱动软件。而WEB浏览器是一种很自然的用来控制嵌入式设备的途径,无论是通过Internet还是直接和嵌入式设备连接。嵌入式操作系统是嵌入式系统的灵魂,目前有很多流行的嵌入式操作系统如Nucleus、VxWorks、uClinux等操作系统。由于嵌入式uClinux操作系统的内核定制高度灵活性,开发者可以很容易地对其进行按需配置,来满足实际应用需要。又由于uClinux是源代码公开,因此uClinux操作系统被广泛应用于嵌入式系
5、统的开发。在嵌入式系统应用中,通常需要将信息以图形或图像的方式进行显示,以提高系统使用界面的友好度。而uClinux只支持基于C语言的CGI方式编写动态网页,很难实现复杂的动态图形显示。Java语言是第一个从根本上以网络化观念设计的语言。随着Internet的持续发展Java是一种适合创建新一代网络应用程序的语言。它为许多Internet应用程序的关键问题-其中平台独立性、安全性和国际字符集最为重要-提供了解决方案,这些问题在其它语言中是很难解决的。特别是Java支持多线程编程,使编写动态图形显示程序变得非常简单。本文论述了基于uClinux的嵌入式系统中应用Java技术将信息以图形或图像的方
6、式在WEB中进行动态显示的解决方案。2问题的提出及其解决方案嵌入式系统在工业控制系统的应用中,经常会遇到这样的需求,嵌入式系统负责数据的采集,而采集到的数据需要通过网络传输到远程计算机上并以WEB页方式显示,通常采集到的数据是随时间发生变化的动态数据,在显示这些数据时,如果能够用动态图形在WEB页中显示,则便于用户观测数据的变化。上述问题的一种可能的解决方案是将数据转换成图像文件,然后将图像文件传输到远程计算机中显示。然而传输中最花时间的是图像,所以如果能够将图形接口对象和浏览器放在有更多处理能力的地方,比如本地电脑,则与设备之间的通信又可以大大加速。显然,Java Applet是解决上述问题
7、的一个有效方案。当浏览器访问嵌入了Java Applet的网页时,Java Applet代码就会被下载到本地计算机中运行,绘制图像的工作由Java Applet在本地机中完成,嵌入式系统中需要有一个数据传输服务器程序,将采集到的数据传输给Java Applet客户程序,Java Applet客户程序可以反复地连接到服务器以保持图片数据的数据更新。这样,在网络中仅需要传送嵌入式系统所采集的数据,而且解决了嵌入式系统中资源(CPU、内存)不足的问题。同时由于Java Applet代码是下载到本地计算机中运行,所以嵌入式操作系统不需要Java虚拟机,从而解决了uclinux不支持java的问题。3系
8、统结构设计系统采用Browser/Server 模型来完成基于Web 的数据采集系统的数据实时显示,Browser 端和Server 端作为相互独立的两部分通过HTTP 协议进行通信,其过程分为四步:建立连接、发送请求、发送应答和关闭连接。Browser 端通过HTTP 协议向Server 端发送请求,Server 端经过处理以HTML 文本格式返回应答信息,Browser 端对接收到的信息根据HTML 定义的格式解释为网页形式在Browser 端显示。Server 端等待进程收到Browser 端的请求信息后,做出相应应答。Browser 端的请求有两种:静态网页请求和实时动态数据请求。Se
9、rver 端收到Browser 端的静态网页请求时,对其地址路径做出解析并发送应答,通过HTTP 协议传回Browser端。而当Browser 端发送的是少量实时动态数据请求时,Server 端要借助公共网关接口CGI 的功能实现对服务器功能的扩展,CGI 程序主要完成Web Server 与外部应用程序的交互,从而达到数据处理的目的,最后Server 端把经过处理的结果返回给Browser 端。对于嵌入式系统采集的大量实时数据则采用数据传输服务器程序将数据传送到Browser 端,并用Java Applet实现动态显示。系统结构模型如图1所示。4嵌入式系统端程序设计 嵌入式系统端采用BOA作
10、为WEB服务器。本文探讨的嵌入式数据采集系统是基于摩托罗拉MCF5249嵌入式微处理器,该处理器内部集成了一个片内12位-ADC。嵌入式系统端程序主要由两个进程,一个进程负责数据采集并将采集到的数据存放在共享内存中,另一个进程将采集到的数据从共享内存中读出并不断的传输到Java Applet客户程序。为了避免uClinux操作系统使用共享内存,需要在启动代码crt0_ram.s文件中设定系统的最大内存空间,使其小于实际内存,并将该内存空间作为共享内存。其代码如下:define MEM_SIZE 0xa00000上述两个进程对同一共享内存进行访问,需要采用互斥方式,可以采用文件锁方式实现。数据传
11、输服务器程序的核心代码如下:struct sockaddr_in servaddr;serverFd=socket(AF_INET,SOCK_STREAM,0);memset(&servaddr,0,sizeof(servaddr);servaddr.sin_family = AF_INET;servaddr.sin_addr.s_addr = htonl(INADDR_ANY);servaddr.sin_port = htons(SERVER_PORT);bind(serverFd,(struct sockaddr *)&servaddr,sizeof(servaddr);listen(se
12、rverFd,5);while(1) connectionFd = accept(serverFd,(struct sockaddr *)NULL,NULL); if (connectionFd=0) unlock(lockname);/解文件锁 发送数据由于不同的嵌入式处理器的存储器采用不同的端式,如Intel X86变体和DEC Alpha使用小端表示,MIPS、PowerPC采用大端表示,而IBM、Motorola PowerPC和ARM处理器支持使用两种表示的能力1。所以发送数据时,可能需要使用字节排序函数进行转换,以免数据产生错误。5使用Java编写数据WEB显示程序为了实现数据的动
13、态显示需要使用Java语言的多线程技术,一个线程用于与嵌入式系统进行通信,以获取需要显示的数据,一个线程用于绘制动态图形。用UML序列图描述如下:GetData线程保持与嵌入式系统的TCP连接,通过网络从嵌入式系统获取数据。DrawGraph线程用于绘制动态图形。两个线程采用轮询的方式实现线程的同步,由GetData对象提供一个公共方法返回一个标志值,DrawGraph线程周期性地轮询该方法,以判断数据是否更新,从而决定是否返回数据。通常嵌入式系统采集的数据采用无符号byte和无符号short类型来存储,而Java语言不支持这些数据类型,但在DataInputStream类中提供readUnsignedByte()和readUnsignedShort()两个方法来读取这些数据类型并自动转换成等价的int类型2。6结束语Java语言作为一种网络化的语言在网络编程中具有很大的优势,在嵌入式系统应用中充分使用Java语言的特点,可以使嵌
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【正版授权】 ISO/IEC 29110-3-2:2018/AMD1:2025 EN Systems and software engineering - Lifecycle profiles for Very Small Entities (VSEs) - Part 3-2: Conformity certification scheme - Amendm
- 课件模板人物高清
- 综合材料手工培训大纲
- 高考成语教学课件
- 保险新人培训会
- 沃尔玛防损培训
- 广东会计制度自考试题及答案
- 广东国贸自考试题及答案
- 兰州法院考试题及答案
- 课二考试题及答案
- 2025年高考英语新课标Ⅱ卷点评及2026备考方向 课件
- 高中英语新课标3000词汇表(新高考)
- 中国农村老年人家庭及健康问卷调查
- 进出口合同范文箱单发票中英文格式
- 汽车维修高级工技师理论考核试题库与答案
- 第5课八国联军侵华战争(共21张PPT)
- DB33_T 2273-2020商业秘密保护管理与服务规范(高清正版)
- 画法几何授课计划-供参考
- 食品生物技术导论ppt课件
- 新人教版部编本四年级上册语文全册教材分析与教学建议(课堂PPT)
- 非油气探矿权变更延续申请登记书
评论
0/150
提交评论