java天平数据,java RS232串口通讯(电子天平数据抓取)

写这篇文章是为了记录RS232串口通讯,当时有个央企项目里需要实现自动抓取RS232串口数据,需要支持主要浏览器:Chrome,Firefox,IE8以上等。看了很多有关rs232的资料和也找了很多方法,终于找到了解决方案,实现了此功能很是开心。现在分享下给朋友们...

在此方法解决参阅几篇文章,感谢你们留下的解决思路。

http://elkan1788.iteye.com/blog/1463049

http://wenku.baidu.com/link?url=dC91PCN5bezV_NyXxKfH7SojfUqs3aNeulUinI0eyu2hVWIXr8kf07BQg7AQ8gK-W4RhfnBg3JSYUKAxP68wigp6MgZ5L60CbHxA-gCYiu_

http://blog.csdn.net/luoduyu/article/details/2182321

http://blog.csdn.net/ssrc0604hx/article/details/7979868

1.准备USB-RS232串口线(从京东上购买),在搜索RS232

2.装USB虚拟驱动PL232

USB-Serial Controller D驱动(通过驱动精灵安装后重启生效)检查下是否安装成功在设备和打印机区域查看或至管理,在计算机-》管理-》设备管理器-》设备驱动会显示PL232驱动,没有黄色感叹号,说明驱动已经成功

3.安装个vspd虚拟串口软件,增加一对COM口

4.测试COM口是否开通。

第一安装jar包

我本机是win64的安装的是RXTXjar包,下载地址是http://fizzed.com/oss/rxtx-for-java

Copy RXTXcomm.jar ---> \jre\lib\ext

Copy rxtxSerial.dll ---> \jre\bin

Copy rxtxParallel.dll ---> \jre\bin

若是win32的安装

从sun网站下载对应操作系统的java-Communication API包

win32com.dll复制到\bin目录下;

将comm.jar复制到 \lib;

把javax.comm.properties也同样拷贝到\lib目录下

第二、启动测试端口程式JAVARS232 Preferences->java->Installed JREs->Edit-->ADD External JARS引入RXTXcomm.JAR

new main 方法,测试:

import gnu.io.CommPortIdentifier;

import java.util.Enumeration;

public class Test {

public static void main(String[] args) throws InterruptedException {

Enumeration en = CommPortIdentifier.getPortIdentifiers();

CommPortIdentifier portId;

while (en.hasMoreElements()) {

portId = (CommPortIdentifier) en.nextElement();

// 如果端口类型是串口,则打印出其端口信息

if (portId.getPortType() == CommPortIdentifier.PORT_SERIAL) {

System.out.println(portId.getName());

}

}

}

}

Enumeration en = CommPortIdentifier.getPortIdentifiers();

CommPortIdentifier portId;

while (en.hasMoreElements()) {

portId = (CommPortIdentifier) en.nextElement();

// 如果端口类型是串口,则打印出其端口信息

if (portId.getPortType() == CommPortIdentifier.PORT_SERIAL) {

System.out.println(portId.getName());

}

}

运行代码后,控制台有输出正确的端口(如下图),说明所有环境正常可进行下步工作,否则请检查。

90455292_1.png

5.JS测试rs232.htm

配置串口

串口号:

波特率:

校验位:

数据位:

停止位:

发送区域

16进制

接收区域

16进制

HKEY_CLASSES_ROOT\CLSID\{06F15699-BE3F-4486-A676-AC25857131BD}

CLASSID='CLSID:06F15699-BE3F-4486-A676-AC25857131BD'

CODEBASE='SComm32x.ocx'>

在此之前先安装SCOMM32X.OCX控件

通过win+r,在运行输入regedit.exe,打开的注册表的HKEY_CLASSES_ROOT\CLSID\下的值安装的ocx的CLASSID,不知道CLASSID可以通过HKEY_CLASSES_ROOT\CLSID\右键属性->查询Scomm32.ocx会显示在注册表

6.在页面设置好仪器设备对应的波特率串口号: 波特率: 校验位: 数据位:停止位,这个很重要,不知道的可以根据仪器设备型号的查阅此设备的说明文档。厂商一般都会提供。

7.最后收工啦,测试下接收和发送的数据是否OK。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值