您的位置:首页 > 通讯通讯

如何用JAVA做TCPIP/串口通讯,请详细告诉资料文档或者应用??

admin2024-03-24人已围观

一、如何用JAVA做TCPIP/串口通讯,请详细告诉资料文档或者应用??

TCP/IP直接用Socket开发即可(性能要求好的就是使用NIO),或者你去看看Apache的Mina类库,Mina直接支持了TCP/IP和串口。如果要自己开发串口通信比较麻烦,因为Java层面上不支持串口(硬件)操作要通过javaxcom(win32com.dll)来操作。

二、java通过串口 发送短信 at指令

at确实可以发送短信,我曾经也做过这样的需求,Java对串口发AT实现起来涉及到的指令和细节较多,推荐你个包:

1,设备使用串口连接,对于USB接口的设备需要安装对应USB转串口的驱动。

2,从下载smslib的bin包,从

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

4,将这两个包导入工程。如果是Windows平台,需要将comm 包解开后,将里面的javax.comm.properties放入jre\lib目录,将win32com.dll放入jre\bin目录。

如果使用串口设备,第一步忽略。

实现非常简单,并且我手里有项目做预研时候的经过测试的Demo,对中文支持良好,如果你打算采用第三方包实现,可以留言让我贴Demo。

三、java串口通信中怎样以十六进制数发送

做串口通讯的时候基本都是通过io流读取、输出。那么在java开发中发送数据的时候使用OutputStream,而其write()的参数是字节数组、int整形。如果使用字节数组发送的时候,通常可以直接写成out.write(1234.getBytes())。这样一来单片机读到的数据则是31 32 33 34。但是在串口发送的时候先把16进制字符串转化为byte数组在发送出来,则是发送什么读取到的就是什么。使用:out.write(HexString2Bytes(1234));那么读取到的还是1234。16进制字符串转化为byte数组的方法为:

public static byte[] HexString2Bytes(String src) {

if (null == src || 0 == src.length()) {

return null;

}

byte[] ret = new byte[src.length() / 2];

byte[] tmp = src.getBytes();

for (int i = 0; i < (tmp.length / 2); i++) {

ret[i] = uniteBytes(tmp[i * 2], tmp[i * 2 + 1]);

}

return ret;

}

在用java做串口开发的时候建议使用开源的Rxtx做。效率、使用方法都要优。使用sun开源的comm个人觉得不是很便利。rxtx网上有开源实例。可以根据自己个需求进行加以修饰利用。

四、在Java中操作串口 实现短信收发

打开串口.// 用配置参数初始化MODEM msg = conf.initParam(); if (msg != null) { if (conf.modemMode() != null &&conf.modemMode().equals(0)) if (isPduMode) msg = at+cmgf=0; + msg; else msg = at+cmgf=1; + msg; sendMsg(msg.getBytes(), sPort); sendOKFlag = true; }我们在发送完初始化命令之后,就从此事件中接收数据,看能不能收到OK。还有一些非常好的串口监测调试软件,能直接显示出来你向串口都发了什么数据,从串口接收到了什么数据,发送接收的对错,一看就清楚了。

五、如何安装JAVA串口通讯包

我知道怎么弄。

1、只需把相应的串口.dll,.jar文件拷贝到jdk1.7.0_05\lib\ext

但是还需要把这几个文件拷贝到C:\Windows\System32下面。

提示

java.lang.UnsatisfiedLinkError: no win32com in java.library.path

的话只是因为你需要把相应的comm.jar 【Native】一下,具体操作:

点击项目名右键-->Properties->Java build Path->Libraries->comm.jar(前面有个三角形)-->Native libaray location:-->选择那个comm.jar的目录,如:D:/项目/WebRoot/WEB-INF/lib即可。

上面的操作即可解决你的问题。如果有问题,在问吧。

很赞哦! ()

上一篇:485通信协议是怎样实现的 ?'>谈谈自媒体、新媒体和融媒体

下一篇:返回列表'>返回列表

随机图文