综合资讯 在线阅读 原文阅读 在线商城 下载专区 DATASHEET 技术论坛 商务频道

嵌入式系统  单片机  D S P  EDA/PLD  接口电路  存储技术  显示光电  电源技术
传感/控制  模拟技术  通信网络  无线通信  电测仪表  消费电子  汽车电子

所在的位置:首页技术文章电测仪表正文
 
基于Java的嵌入式网络测控系统设计
发布日期:2008-08-25 作者:李军民 祝红军 来源:微计算机信息

摘要:为了满足当前工业控制和家用电器远程测控的要求,介绍了一种基于JAVA的嵌入式网络测控系统的全新设计方案,从硬件和软件两个方面进行了论述。详细介绍了基于ARMlinux的嵌入式WEB服务器的设计方案,针对嵌入式服务器的实际和应用场合,提出了基于Java applet的“瘦服务器”解决方案。与其他的嵌入式网络测控系统相比,该系统继承了典型的B/S模型的优点,可以减轻嵌入式WEB服务器的负担,以创建更为直观、丰富的用户界面(GUI)。同时该系统更好地动态刷新。测试结果表明方案可行、实用。
关键词:嵌入式系统  Linux  测控系统  远程控制  Java

0 前言 

基金资助:2006年四川省教育厅青年基金(项目名称:基于网络的机器设备故障智能诊断监测系统研究  编号:2006B043),2000年四川省科技厅重点攻关项目(项目名称:数控机床运动精度动态测试技术及装置研究

 编号:0032785)

 

随着互联网应用的普及,在工业控制领域,网络测控技术取得了快速发展。而在目前应用的大多数远程测控系统中,系统的硬件采用8/16位的单片机;软件多采用汇编语言编程,仅包含一个简单的循环处理的控制流程;然后单片机与单片机或上位机之间通信通过RS232、RS485或CAN总线来组成局域网,再用PC几作为WEB服务器与INTERNET进行通讯。这样的网络测控设备成本高、体积大、速度慢、功耗大。现在,32位嵌入式CPU价格的下降,性能指标的提高,为嵌入式系统的广泛应用提供了可能性。基于上述情况,我们将嵌入式系统应用于网络测控系统,可大大提高测控系统的性能,降低成本和功耗,体积也大大减小。嵌入式系统一般应用嵌入式操作系统来开发,在嵌入式操作系统的选择上,由于Linux有完整开放的源代码,可针对具体应用修改和优化系统,内核稳定,适用于多种CPU和多种硬件平台,支持网络等特点,因而选择Linux作为嵌入式操作系统。本文设计一个全新的网络测控系统方案,它是基于S3C2410CPU和ARMlinux嵌入式操作系统,采用Java applet的“瘦服务器”解决方案,特别适合对测试数据要进行大量的分析、处理、绘图的网络测控系统,如数控系统运行精度测试。与传统的B/S模式的实时动态网络测控系统相比,它可以减小嵌入式WEB服务器的负担,因为在本系统中,数据分析、处理、绘图应用程序通过服务器下载到客户端运行,同时数据刷新不需要整个网页刷新,数据更新更实时。利用Java技术提供了一个类库,在可以浏览器上显示更为直观、丰富的用户界面(GUI)。与传统的C/S模式相比,客户端不需要安装专用的客户端软件,方便系统软件升级,升级时不需要每一台客户机重新安装,减少其维护和升级成本。

1.硬件系统设计

本系统硬件平台如图1,促CPU选用S3C2410,它是一款流行的嵌入式CPU,它包含一个16/32-bit的RISC(ARM920T)的CPU内核,主频200HZ,内部含有8通道10位AD转换器和大量的I/O口,LCD控制器等丰富接口,能运行UCOSII、ARMlinux和WINCE嵌入式操作系统,DM9000是10M/100M以太网接口控制芯片。本硬件系统结构简单,成本低,不需要PC机就可直接接入INTERNET。在客户机上用标准浏览器通过Internet就可以和嵌入式Web服务器通信,成功取代了一台专用PC服务器(插有专用的接口卡和以太网接口卡)或专用的通信芯片。以低成本方便地实现了很多嵌入式设备与Internel的直接互联互通的需求。  

图1 硬件系统框图

 

2.软件设计

嵌入式操作系统是整个嵌入式系统的核心,本系统选择的ARMlinux系统,由于嵌入式系统的存储容量很小,因此,要把ARMLinux操作系统装入有限的存储容内,就要对它进行裁剪,很多资料都有论述,这里就不再累述,下面介绍整个数据流程,在数据流程图中有两个数据流回路,首先打开浏览器发送请求,经过80端口与服务器建立连接,接着解析并下载资源到客户计算机。客户端下载服务器中的applet程序并运行,同时与服务器建立SOCKET,向服务器1414端口发送请求,服务器侦听到1414端口请求并建立连接,接着进行服务器与客户端间的传输数据,其中1414端口是Java applet运行时与服务器建立的数据传输通道。基于操作系统上的网络测控软件设计,其体系结构如图2:     

2.1 整个系统工作流程

本设计中使用的模型是Java applet的“瘦服务器”,就是b/s和c/s相结合,就是通过b/s模式的浏览后下载一个嵌入在浏览器中的应用程序建立一个类似c/s模型的结构,其流程如图3:

2.2 WEB服务器的实现算法

目前,嵌入式linux主要有三个Web 服务器:,HTTPD、THTTPD和BOA,为了节省存储空间,同时又要满足实时性要求,本系统独立设计嵌入式WEB服务器,其算法如图4:

2.3 网页编写

当用户需要采集数据时,只需在客户端点击网页,就可实时显示采集显示数据,该网页采用html语言,html语言中必须有Applet标签,其关键原代码如下,其中Draw1.class为java applet:

<Applet code="Draw1.class" width=600 height=400>

2.4 Java Applet程序设计

Java Applet 是用Java 语言编写的一些小应用程序,这些程序是直接嵌入到页面中,由支持Java的浏览器(IE 或 Nescape)解释执行能够产生特殊效果的程序。现在大多数网络浏览器都支持Java的,Applet运行于浏览器上,可以生成生动美丽的页面,进行友好的人机交互,同时还能处理图像、声音、动画等多媒体数据。Applet在Java的成长过程中起到不可估量的作用,到今天Applet依然是Java程序设计最吸引的人之一。它可以大大提高Web页面的交互能力和动态执行能力。包含Applet的网页被称为Java-powered页,可以称其为Java支持的网页。 当用户访问这样的网页时,Applet被下载到用户的计算机上执行。由于Applet是在用户的计算机上执行的,所以它的执行速度不受网络带宽或者Modem存取速度的限制,用户可以更好地通过Applet来实现信息数据的传输和产生美妙的多媒体效果。本次设计的功能结构先是浏览器处理<applet>标签,再将applet程序装入并创建applet对象,接着就是执行applet程序,不过因为程序中使用了Runnable接口来实现数据更新线程的,所以applet程序是第一次执行时不会执行Runnable接口的start()方法,而是applet程序结构默认的start()方法,再执行绘图模块,最后回调Runnable接口的start()方法来建立数据更新线程,数据更新后再绘图并回调,这样就实现了不断更新数据和图形。其流程如图5。功能模块及实现函数:

public void init():实现对客户端程序中某些变量的初始化。

public void start():由于我们要不断的对图形的更新,所以我们需要重启applet程序并建立新线程。

public void run():通过线程建立socket连接来获取新数据。

public void update(Graphics g):将当前获取的最新的数据重新绘制成我们需要的图形。

 3.测试及结果:

首先建立好基于S3C2410嵌入式开发环境,把编译好的booloader、嵌入式linux内核和ramdisk烧入FLASH中, WEB服务器和Java applet放在在同一个目录。运行时先起动我们设计服务器,动态加载相关驱动,在PC机的浏览器上输入嵌入式系统的IP地址,采集的数据就可以动态显示在网页上。

要使Java applet在下载到客户端运行并建立SOCKET传输数据,在windows系统IE浏览器配置较简单,而在linux系统下实现相对复杂,因为applet程序是不容许随便就访问本地系统资源的,对远程访问更是有严格的控制的,不过还好可以通过改变其权限规则来实现远程访问,但那都要设定具体的远程地址和端口的,最后通过修改权限规则后浏览成功。下面主要介绍在linux系统下Mozilla浏览器配置方法:

cd /usr/lib/mozilla/plugins

ln –s /usr/java/jdk1.6.0_01/jre/plugin/i386/ns7/libjavaplugin-oji.so

在/usr/java/jdk1.6.0_01/jre/lib/security/java.policy文件的后面加入

Permission java.net.SocketPermission “202.115.148.200:1414”,

“accept,connect,listen,resolve”;

通过信号发生器发出正弦波,改变输入,显示和刷新效果都很好,测试结果如图6:


4

本文作者创新点是首次成功在S3C2410CPU和ARMlinux嵌入式操作系统基础上实现了Java applet的“瘦服务器”解决方案,该方案充分利用嵌入式WEB服务器的特点,把传统的B/S与C/S模式完美结合,采集的数据能够在以图形形式在浏览器上实时刷新。该方案已成功运用在科技攻关重点项目数控系统远程精度测试,它同时具有一般通用平台性能,有一定的应用推广价值。

参考文献:

[1] 黄天戍,余智欣等.新型嵌入式Web服务器系统的设计与研究[J].计算机工程,2005.11:179

[2] 刘振纲,刘成安,卢剑翔. 移植标准L i n u x到s3C2410[J]. 微计算机信息, 2006.11-2:152-153.

[3] 苗君, Linux 下Java 与C 的数据交换[J]. 计算机与现代化,2006.7:39-40.


 (全文结束)

信息发布:   转引自: 【 】 【打印】 【关闭
 相 关 文 章
U-Boot在S3C2410上的移植 (07-19)
嵌入式无线局域网设备的设计与实现 (08-08)
基于S3C24104X的TSP开发与应用 (08-09)
基于S3C2410的CAN总线通信设计与开发 (07-03)
触摸屏在S3C2410上的应用实例 (02-22)
嵌入式系统中LCD驱动的实现原理 (08-13)
一个基于Linux操作系统的嵌入式网关的实现 (10-02)
S3C2410X的I2C控制器及其应用开发 (12-12)
虚拟SPI时序在TC77与S3C2410通信中的应用 (08-25)
虚拟SPI时序在TC77与S3C2410通信中的应用 (08-28)
基于S3C2410的CDMA无线数据传输方法 (06-13)
一种基于ARM的税控收款机磁卡接口设计 (06-15)
信息家电中蓝牙通信的实现 (06-16)
S3C2410外围存储系统的研究与设计 (06-12)
基于ARM的嵌入式文件系统YAFFS的移植 (06-12)
基于S3C2410的TFT-LCD驱动电路设计 (09-12)
引导加载程序vivi 的分析和移植研究 (12-20)
基于AC48304的嵌入式多路语音记录器 (03-11)
基于S3C2410和CF卡的FAT32开发 (06-17)
关于我们 ┋ 友情链接


深圳市福田区海滨广场恒福花园恒华阁11F
电话:0755-88305872 传真:0755-88305880
Copyright©2005-2007 无忧电子开发网版权所有

粤ICP备05064233号