java串口通讯

简介:
  最近在做java串口通讯,主要是用个人电脑通过串口从RS485读取数据,并通过crc循环冗余校验,把接收正确的数据解析,插入数据库mysql,并用SSH技术把数据库数据以表格以及图表形式显示 
     思路: 
1.为了从RS485读取数据,由于暂时没有硬件设备,系统是win7,故采用Virtual Serial Port Drive(VSPD)这块虚拟串口软件代替。并下载sscom32.exe模拟串口通信软件。 

2. 要想实现串口通信,用Java实现串口通信(windows系统下),需要用到sun提供的串javacomm20-win32.zip。其中要用到三个文件,配置如下: 
comm.jar放置到 JAVA_HOME/jre/lib/ext; 
win32com.dll放置到 JAVA_HOME/bin; 
javax.comm.properties 两个地方都要放 
jre/lib(也就是在JAVA文件夹下的jre),JAVA_HOME/jre/lib下 
这个配置在我电脑上测试成功,也许不需要这样麻烦。注意的是,如果你使用eclipse或者myeclipse因为它自带jre,你需要在它所在的jre相应位置放dll以及properties文件。这个是web应用的情况,application就不需要了 

是不是感觉这个很麻烦,还有windows的限制。后来我们下载rxtx这款开源包代替了刚才的comm。不仅windows下可以,linux下也可以。使用方法很简单,配置如下: 

RXTXcomm.jar放到JAVA_HOME/jre/lib/ext 
rxtxSerial.dll放到JAVA_HOME/bin 
如果你使用eclipse或myeclipse工具,你需要把rxtxSerial.dll放到它自带的jre里。这个是web应用的情况,application就不需要了 


3.新建eclipse工程,添加comm.jar或者RXTXcomm.jar包。因为javacomm20-win32.zip包里有样例SimpleRead.java,可以通过这个例子测试串口是否正确 

4.接收数据正确后,根据传送接收双方的协议,采用CRC循环校验,根据传输的一方的校验函数判定是否是正确传输 

5.把正确结束的数据解析,查看自己指定的通讯规则,然后解析 

6.插入数据库,jdbc插入 

7.数据统计,定时统计每小时,每天,每月,每年的平均值,采用quartz服务来实现。 

8.建立web工程,采用hibernate3,spring3,dwr技术把数据库数据动态显示,图表采用jfreechart,以及AJAX的运用
相关文章
|
5月前
|
网络协议 Java
java通过dtu通讯进行modbus数据交换
java通过dtu通讯进行modbus数据交换
|
8月前
|
消息中间件 Java Maven
Java整合RabbitMQ实现生产消费(7种通讯方式)
Java整合RabbitMQ实现生产消费(7种通讯方式)
157 0
|
9月前
|
Java 测试技术 API
工银e生活开发脱坑日志(9)JAVA版的SDK自动生成msgId,PHP如何生成消息通讯唯一编号msgId
工银e生活开发脱坑日志(9)JAVA版的SDK自动生成msgId,PHP如何生成消息通讯唯一编号msgId
107 0
|
11月前
|
SQL 供应链 安全
Java实例实验项目大全源码企业通讯打印系统计划酒店图书学生管理进销存商城门户网站五子棋
Java实例实验项目大全源码企业通讯打印系统计划酒店图书学生管理进销存商城门户网站五子棋
128 0
|
安全 Java 容器
【Java】线程安全,死锁,状态,通讯,线程池(二)
【Java】线程安全,死锁,状态,通讯,线程池
【Java】线程安全,死锁,状态,通讯,线程池(二)
|
安全 Java
【Java】线程安全,死锁,状态,通讯,线程池(一)
【Java】线程安全,死锁,状态,通讯,线程池
|
Java API
java线程通讯的方式
java线程通讯的方式
106 0
java线程间通讯的几种方式
并发编程中,我们可能会遇到这样一个场景 A、B两个线程并行,但是我希望保证B线程在A线程执行完了后再执行 这个时候就需要线程间进行通讯 A执行完了后对B说一声,喂,我执行完了
156 0
|
安全 Java 设计模式
JAVA之旅(十四)——静态同步函数的锁是class对象,多线程的单例设计模式,死锁,线程中的通讯以及通讯所带来的安全隐患,等待唤醒机制
JAVA之旅(十四)——静态同步函数的锁是class对象,多线程的单例设计模式,死锁,线程中的通讯以及通讯所带来的安全隐患,等待唤醒机制 一.静态同步函数的锁是class对象 我们在上节验证了同步函数的锁是this,但是对于静态同步函数,你又知道多少呢? 我们做一个这样的小实验,我们给show.
1400 0