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的运用

时间: 2025-01-01 17:46:50

java串口通讯的相关文章

关于JAVA串口通讯的问题。

问题描述 如何用JAVA代码发送串口指令我想后台运行不需要看到界面求高手!! 解决方案 解决方案二:没有人回答吗?解决方案三:网上搜一大堆,不用来这里提问,很好找的解决方案四:没有直接发指令的啊.找不到.好多都不合适,要么就是跑不起来.解决方案五:发指令就是往窗口写数据,你找找利用短信猫发短信的文章.at指令就是一类命令解决方案六:能麻烦你帮我写个案例吗

Java串行端口通讯技术概述

串行通讯概述 串行通讯协议有很多种,像RS232,RS485,RS422,甚至现今流行的USB等都是串行通讯协议.而串行通讯技术的应用无处不在.可能大家见的最多就是电脑的串口与Modem的通讯.记得在PC机刚开始在中国流行起来时(大约是在90年代前五年),那时甚至有人用一条串行线进行两台电脑之间的数据共享.除了这些,手机,PDA,USB鼠标.键盘等等都是以串行通讯的方式与电脑连接.而笔者工作性质的关系,所接触到的就更多了,像多串口卡,各种种类的具有串口通讯接口的检测与测量仪器,串口通讯的网络设备

java串口通信

java串口通信API说明 java串口通信 2008/09/22 20:24 java串口通信API说明 java串口通信    Java提供了 CommunicationAPI(包含于javax.comm包中)用于通过与机器无关的方式,控制各种外部设备.Communications API,是标准的Java的扩展部分,它在JavaAPI中是没有附带的.因此,必须先在SUN公司网站的Java站点(www.java.sun.com)上下载这个扩展类库. 1.1Communications API

Java串口通信读取浮点型数据

问题描述 Java串口通信读取浮点型数据 怎么将如下位机中的数据:如温度读取并显示,大神们有具体的例子吗 解决方案 这个要取决于你下位机是用的什么方式通讯的,它的通信协议.基本的思路是读取串口数据,然后根据协议对得到缓冲区的字节数组进行解析. 参考:http://blog.csdn.net/wssiqi/article/details/14107341 解决方案二: java 串口通信Java串口通信简介

Android通过JNI实现与C语言的串口通讯操作蓝牙硬件模块

一直想写一份技术文档,但由于自感能力有限而无从下笔,最近做了个关于Android平台下实现与C语言的通讯来操作蓝牙模块的项目,中间碰到了许多问题,也在网上查了许多资料,在完成主要功能后,也有一些人在网上问我一些问题,这里写下这篇文档算是一个阶段性的总结.如果反响好,后续将会发上Android Stub与新版Android HAL的学习文档. 由于蓝牙模块是串口通讯机制,使用C语言来访问,而Android的应用层采用Java,无法直接操作硬件.故使用JNI的技术实现主要功能.Android的JNI

java 串口通信

/** *//****************************************** * 程序文件名称:SendComm.java * 功能:从串行口COM1中发送数据 ******************************************/ import java.awt.*; import java.awt.event.*; import java.io.*; import java.util.*; import javax.comm.*; class S_Fra

java-求大神帮忙,在Java串口通信中设置DTR_CONTROL_DISABLE如何实现?

问题描述 求大神帮忙,在Java串口通信中设置DTR_CONTROL_DISABLE如何实现? 写了简单一个串口调试助手的程序,用来与STM32单片机通信,但是 DCB.fDtrControl = DTR_CONTROL_ENABLE的参数不对,使用下载的调试助手可以实现通信其DCB.fDtrControl值为DTR_CONTROL_DISABLE,自己写的却是DTR_CONTROL_ENABLE?是这个原因影响通讯了吗?如果是要如何改进? 解决方案 http://gqdy365.iteye.c

PHP在RS232串口通讯协议的应用演示[测试环境WinXP/PHP5.1.4]

php5|应用演示 一. 预先的知识: 什么是RS232/RS484及其应用?       QUOTE:RS232接口就是串口,电脑机箱后方的9芯(或25芯)插座,旁边一般有 "|O|O|" 样标识. 一般机箱有两个,新机箱有可能只有一个.笔记本电脑有可能没有. 有很多工业仪器将它作为标准通信端口.通信的内容与格式一般附在仪器的用户说明书中. 计算机与计算机或计算机与终端之间的数据传送可以采用串行通讯和并行通讯二种方式.由于串行通讯方式具有使用线路少.成本低,特别是在远程传输时,避免了

Visual Basic串口通讯调试方法

visual 现有电子秤一台,使用串口与计算机进行通讯.编写VB程序来访问串口,达到读取电子秤上显示的数据.该电子秤为BE01型仪表,输出为RS-232C标准接口,波特率为300-9600.偶校验.7个数据位.2个停止位.所有字符均发送11位ASCII码,一个起始位.在VB中与串口通讯需要引入控件MSComm串口通讯控件(在Microsoft Comm Control 6.0中).具体程序如下:控件简称:MSC Dim Out(12) As Byte '接收var中的值Dim var As Va