java串口接收(java如何接收串口数据)
华为云服务器特价优惠火热进行中! 2核2G2兆仅需 38 元;4核4G3兆仅需 79 元。购买时间越长越优惠!更多配置及优惠价格请咨询客服。
合作流程: |
本篇文章给大家谈谈java串口接收,以及java如何接收串口数据对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
微信号:cloud7591如需了解更多,欢迎添加客服微信咨询。
复制微信号
本文目录一览:
- 1、java 实现串口接收到数据,立马将接收到的数据通过mqtt上传到阿里云。
- 2、用java程序通过串口接收到的数据有问题
- 3、java通过串口接收数据,不正常。求大神指导
- 4、在java的web程序中怎么使用串口通讯?
- 5、JAVA中串口通信接受数据时 Inputstream.read(new byte[20])
java 实现串口接收到数据,立马将接收到的数据通过mqtt上传到阿里云。
也不是特别麻烦,你先要清楚串口和服务器用的什么协议,假设串口用232,服务器采用TCP,那么你需要做的是建立一个客户端的发送模块,和一个串口的操作模块(结合必须要用到多线程,以队列或者委托来做数据交换);在测试之前一定要保证串口和客户端发送接收是ok的才能做结合功能。
因为你串口已经做好了,那你需要的是将采集到的数据(字符串)保存到数组中,然后创建一个指向数组的指针p,然后在客户端模块里,将发送的数据写成p。建议先将数据转16进制发,应该没毛病。
用java程序通过串口接收到的数据有问题
因为是流。。。。。。。如果想一起,就按一个分隔符,接收端再判断
byte[] buf = new byte[5]; //不写到循环内部。
while(true){
len = is.read(buf); //返回一个int值,代表接收到的字节数,数据存于buf中
if(len 0){
System.out.println("接收到的数据为: ");
System.out.println(new String(buf));
}
}
java通过串口接收数据,不正常。求大神指导
不要使用inputStream.available(),如果我没有记错的话,available返回的是没有被阻断的字节数(已经被缓冲的内容),可以尝试read(byte b[])方法,然后通过返回值是否-1来判断,如下。
int bytesRead = inputStream.read(readBuffer);
while (bytesRead != -1) {
readStr += new String(readBuffer).trim();
bytesRead = inputStream.read(readBuffer);
}

在java的web程序中怎么使用串口通讯?
方法如下:
新建eclipse工程,添加comm.jar或者RXTXcomm.jar包。因为javacomm20-win32.zip包里有样例SimpleRead.java,可以通过这个例子测试串口是否正确。
接收数据正确后,根据传送接收双方的协议,采用CRC循环校验,根据传输的一方的校验函数判定是否是正确传输。
把正确结束的数据解析,查看自己指定的通讯规则,然后解析。
插入数据库,jdbc插入。
数据统计,定时统计每小时,每天,每月,每年的平均值,采用quartz服务来实现。
建立web工程,采用hibernate3,spring3,dwr技术把数据库数据动态显示,图表采用jfreechart,以及AJAX的运用
java优点:
java是纯面向对象编程的语言;
平台无关性 (一次编译,到处运行;Write Once,Run Anywhere);
java提供了许多内置的类库,通过这些类库,简化了开发人员的设计工作,同时缩短了项目开发时间;
提供了对Web应用开发的支持,例如,Applet,Servlet,和JSP可以用来开发Web应用程序,,Socket,RMI可以用来开发分布式应用程序的类库;
去除了c++中难以理解,容易混淆的特性(如c++中的多继承,头文件,指针,结构,单元,运算符重载,虚拟基础类,使得程序更加严谨,整洁。
JAVA中串口通信接受数据时 Inputstream.read(new byte[20])
你用循环判断一下,判断是不是默认值,当是默认值就退出,用变量记录一下循环的次数,就代表
数据的长度,取的时候只取那么长的就行了,我上次找到了的,代码被我删了,我再找找默认值,好
像是/u.....
实际上是0,但是数据中有0的话就不行
import java.net.*;
import java.io.*;
class tcpchuanshu {
public static void main(String[] args) throws Exception {
Socket s=new Socket("127.0.0.1",9000);
OutputStream out=s.getOutputStream();
//向输出流中写入数据
out.write("你好,服务端".getBytes());
//获取输入流数据
InputStream in=s.getInputStream();
byte[] buf=new byte[1024];
int len=0;
while((len=in.read(buf))!=-1)
{
System.out.println(new String(buf,0,len));
}
s.close();
}
}
import java.io.InputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;
class Server
{
public static void main(String[] args) throws Exception {
ServerSocket ss=new ServerSocket(9000);
System.out.println("我是服务端,监听9000端口");
Socket s=ss.accept();
System.out.println("有客户端连接");
InputStream in=s.getInputStream();
int len=0;
byte[] buf=new byte[1024];
in.read(buf);
while(buf[len]!=0)
{
len++;
}
System.out.println(new String(buf,0,len));
OutputStream out=s.getOutputStream();
out.write("你也好".getBytes());
s.close();
}
}
java串口接收的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java如何接收串口数据、java串口接收的信息别忘了在本站进行查找喔。
