最近公司的项目需要和硬件打交道,而我负责硬件对接这块的主要工作,这几天把java中的串口编程熟悉了下,其中大多是涉及到环境的配置,接下来我把自己做的过程中遇到的问题整理一下,供大家产考!
大至的应用场景是这样的,终端设备(简称DTU)通过USB连接到主机上,主机上通过Java 的串口程序把数据发送到DTU,dtu配置好转发服务器的ip和端口号,这样主机的数据就可以直接发送至服务器了,可能有人会问为什么不直接发送至服务器,因为我们的应用场景中主机是不可以联网的。
1.USB端口连接电脑
Usb端口在连接电脑的过程中,打开桌面搜索“设备管理”,查看是否有Usb的端口,
根据电脑的连接设备情况,一般会有一道多个端口,我们只需要记住我们需要的端口就可以了,这里我们记录下com4端口即可,但是也有情况是USB插入以后设备管理并没有识别,是因为没有安装相应的驱动,这个时候我们需要安装驱动:
usb-serial controller驱动,
下载安装即可。
2.win7 32位环境配置
首先我们是在32位的程序下测试,我们需要下载一个安装包,即
javacomm20-win32.zip,下载以后如图所试
主要用到的是这几个文件,comm.jar,javax.commm.properties,win32com.dll
comm.jar放在[java-home]/jdk/bin/
javax.commm.propertie 放在 [java-home]/jdk/lib/
comm.jar 放在 [java-home]/jdk/lib/
对应的也放在jre对应的目录下,至此,在32位系统下的环境配置就已经结束了。
3.32位系统测试
<span style="font-size:14px;">SimpleWrite.java</span>
<span style="font-size:14px;">package comm32;
import java.io.*;
import java.util.*;
import javax.comm.*;
public class SimpleWrite {
static Enumeration portList;
static CommPortIdentifier portId;
static String messageString = "Hello, world00000000000000000000000000000!\n";
static SerialPort