java 串口操作环境搭建

来源:互联网 发布:七天网络 编辑:程序博客网 时间:2024/05/16 23:59
前段时间研究了一下在Windows操作系统下用java进行串口操作。很关键的一点就是环境配置。我发现网上的文章千篇一律。都需要将几个文件copy到JDK安装目录下的某个目录中。按照网上介绍的方法进行配置的话,也能将开发环境配置起来。但是,由于程序运行必须的jar和dll无法打包,而产生不能成功部署的问题。比如,我在某个论坛上就看到,有个网友用Applet从客户端读串口的数据,Applet在他自己的机器上运行没有问题(当然没有问题,jar什么的都copy到jdk目录中了,成为jdk的一部分了),但是从别的机器访问的时候,Applet就不能正常运行了。问题很明显,必须的jar和dll文件没有被load到客户端去。本文根据自己的切身体验,总结出一套环境配置的方法。希望对网友有所帮助。

 

一.需要的工具和文件

1.eclipse 版本:3.0以上即可。

2.rxtx-2.1-7-bins-r2 .zip 出处:http://users.frii.com/jarvi/rxtx/download.html。

3.JDK 版本:我用的是1.5版,但是我认为更低的版本也没有问题。

 

二.环境搭建的步骤

step1.在eclipse中新建一个工程(根据你自己的需要,Applet,tomcat,java工程等均可)。

step2.在工程下建一个lib文件夹。

step3.将rxtx-2.1-7-bins-r2 .zip解压缩,得到文件夹[rxtx-2.1-7-bins-r2]。

step4.将[rxtx-2.1-7-bins-r2]/RXTXcomm.jar这个文件copy到step2创建的lib中。

step5.将[rxtx-2.1-7-bins-r2]/Windows/i368-mingw32目录下的两个dll文件copy到step2创建的lib中。

step6.在工程上右键 -> Properties -> Java Builder Path -> Libraries -> Add JARs -> 选择step2中创建的lib目录下的RXTXcomm.jar -> OK。

step7.最关键的一步。点RXTXcomm.jar前面的小加号(+) -> 选择Native library location -> 点右边一列按钮中的Edit… -> 选择step2中创建的lib目录 -> OK。

补充:如果你的代码需要调用本地dll,你可以通过同样的方式设置Native library location。

 

三.环境配置完了以后,可以写一个程序来测试一下了。以下是我的test程序。

[java] view plaincopyprint?
  1. import gnu.io.CommPortIdentifier;  
  2. import java.util.Enumeration;  
  3. public class CommTest {  
  4.     static CommPortIdentifier portId;  
  5.     static Enumeration portList;  
  6.     static int bauds[] = { 96001920057600115200 };  
  7.     public static void main(String[] args) {  
  8.         portList = CommPortIdentifier.getPortIdentifiers();  
  9.         while (portList.hasMoreElements()) {  
  10.             portId = (CommPortIdentifier) portList.nextElement();  
  11.             if (portId.getPortType() == CommPortIdentifier.PORT_SERIAL) {  
  12.                 System.out.println("Find CommPort: " + portId.getName());  
  13.             }  
  14.         }  
  15.     }  
  16. }  

正确的运行结果应该像下面这样:

Stable Library
=========================================
Native lib Version = RXTX-2.1-7
Java lib Version   = RXTX-2.1-7

Find CommPort: COM1

 

四.总结

用Java进行串口通讯程序的开发,总的说有三种途径。

1.用sun提供的开发包javacomm。但是sun已经停止了对这个包的维护了。它只能适用于较低版本的JDK。而且它的配置很麻烦。

2.用rxtx开发包。

3.用Delphi或者C++等更易于操作底层硬件的开发语言开发本地代码。借助JNI技术,用Java调用本地代码。根据我的理解,实际上rxtx开发包也是用的第三种途径。压缩文件中的两个dll文件就是最好的证据。

4.如果你的工程最终可能在其他操作系统上,你应该将[rxtx-2.1-7-bins-r2]文件夹下对应操作系统目录中的文件copy到你的工程lib目录中。比如,你要在linux下运行,那就应该把linux文件夹下的so文件copy到工程lib文件夹中。rxtx可以根据操作系统环境,选择需要加载的本地文件。这样就能真正做到跨系统,跨平台了。

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 收到民事判决公告该怎么办 苹果手机gps信号弱怎么办 二审败诉后拿到判决书怎么办 农商行房贷逾期一天怎么办 农商行房贷逾期怎么办 农发行车改司机怎么办 混泥土地泵排量不稳怎么办 改嫁上海老公孩子的户口怎么办 给小孩办社保卡怎么办 有上海居住证积分怎么办医保 未办理居住证积分新生儿医保怎么办 厦门中考居住证没满三年怎么办 海归落户过了两年期怎么办 借呗学历填错了怎么办 上海落户应届生分不够怎么办 应届生落户分数不够72分怎么办? 上海应届生落户时间延误怎么办 南京市区户口签江宁怎么办 深圳公司集体户口离职后怎么办 济南本地户口不符合入学条件怎么办 上海住亲戚家怎么办居住证 政府卖非农户口怎么办 90年代买了户口怎么办 上海应届大学生积分不够怎么办 广州居住证回执单丢了怎么办 惠阳居住证回执单丢了怎么办 南京居住证换地方了怎么办 买家退回的商品有问题怎么办 农转农户口手续怎么办 原房东不迁户口我怎么办 户主信息页掉了怎么办 户主变了户口本首页怎么办 大人户口迁走小孩户口怎么办 网银转账处理中怎么办 教育部学籍在线验证报告有错怎么办 验证码连续输入三次错误怎么办 交通运输监察大队截车了怎么办 平安安康续保没成功怎么办 危险品经营许可证到期了怎么办 郑万350渝万怎么办 厂里饭堂的饭好难吃怎么办