java RS232串口通讯(电子天平数据抓取) | 您所在的位置:网站首页 › 如何抓取串口数据 › 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()); } } 运行代码后,控制台有输出正确的端口(如下图),说明所有环境正常可进行下步工作,否则请检查。 5.JS测试rs232.htm JavaScript串口测试 配置串口 串口号: COM1 COM2 COM3 COM4 波特率: 9600 57600 115200 校验位: 无NONE 奇ODD 偶EVEN 数据位: 停止位: 发送区域 16进制 接收区域 16进制 HKEY_CLASSES_ROOT\CLSID\{06F15699-BE3F-4486-A676-AC25857131BD}在此之前先安装SCOMM32X.OCX控件 通过win+r,在运行输入regedit.exe,打开的注册表的 HKEY_CLASSES_ROOT\CLSID\下的值安装的ocx的CLASSID,不知道CLASSID可以通过HKEY_CLASSES_ROOT\CLSID\右键属性->查询Scomm32.ocx会显示在注册表 6.在页面设置好仪器设备对应的波特率串口号: 波特率: 校验位: 数据位:停止位,这个很重要,不知道的可以根据仪器设备型号的查阅此设备的说明文档。厂商一般都会提供。 7.最后收工啦,测试下接收和发送的数据是否OK。 备注:我的csdn上有RS232资源下载。
|
CopyRight 2018-2019 实验室设备网 版权所有 |