在java的web程序中怎么使用串口通讯

在java的web程序中怎么使用串口通讯,第1张

方法如下:

新建eclipse工程,添加commjar或者RXTXcommjar包。因为javacomm20-win32zip包里有样例SimpleReadjava,可以通过这个例子测试串口是否正确。

接收数据正确后,根据传送接收双方的协议,采用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也是读取不到串口的。

还有有时候你配置好环境,运行之后也能列出串口。但过一段时间后,找不到串口了,然而在设备管理器里还能看到串口,以前也能运行,环境不存在问题,重启也没用。你可以这样解决,把win32comdll复制到eclipse项目目录下,然后在main方法一开始添加如下代码,下面这样不需要配置comm环境了

CommDriver driver = null;

String driverName = "comsuncommWin32Driver";

try {

driver = (CommDriver) ClassforName(driverName)newInstance();

driverinitialize();

} catch (InstantiationException | IllegalAccessException

| ClassNotFoundException e) {

// TODO Auto-generated catch block

eprintStackTrace();

}

最近在研究一个东西要用到串口的读写 通过读取串口 获取一个指令 然后根据该指令通过配置文件获取其他的信息再通过串口 进行做下一步的一系列 *** 作

java读写串口要用到的是javax扩展类库javam 它是一系列的标准 该类库在sun的官网上只提供linux版本 由于我所应用的平台是win 所以找了个win 的实现 在此过程中遇到了一系列的问题 后来终于解决问题并完成了通过读写串口进行通信的功能 在此对其java读写串口的情况做个简要说明

首先下载javam包 然后将其解压 解压后需要做的就是配置串口通信相关东西 下面是自己使用的时候的配置

把m properties文件拷贝到Java运行时环境的lib目录中 即

C:\Program Files\Java\jdk _ \lib\m properties

C:\Program Files\Java\jdk _ \jre\lib\m properties

把win dll拷贝到C:\windows\system \ 和 C:\Program Files\Java\jdk _ \jre\bin\下

把m jar放到Java运行时环境的lib目录中 即C:\Program Files\Java\jdk _ \lib\m jar

在 环境变量 的CLASSPATH中添加m jar 如 %JAVA_HOME%\lib\m jar;

然后通过的API来实现串口的读写 其实API相当简单 如下代码

Java代码

CommPortIdentifier serialPortId = CommPortIdentifier getPortIdentifier( );

SerialPort  port = (SerialPort) serialPortId open( Read );//打开 串口 其中 参数是用来设置打开串口的超时时间

port setSerialPortParams( );//设置 的波特率 数据位 停止位 校验方式等

//从串口中得到输入输出流了

OutputStream out = port getOutputStream();

out write(buffer);

out flush();

InputStream in = port getInputStream();

in read(data);//data是一个byte[]

CommPortIdentifier serialPortId = CommPortIdentifier getPortIdentifier( ); SerialPort port = (SerialPort) serialPortId open( Read );//打开 串口 其中 参数是用来设置打开串口的超时时间 port setSerialPortParams( );//设置 的波特率 数据位 停止位 校验方式等 //从串口中得到输入输出流了 OutputStream out = port getOutputStream(); out write(buffer); out flush(); InputStream in = port getInputStream(); in read(data);//data是一个byte[]

lishixinzhi/Article/program/Java/hx/201311/26266

java打开串口的方法如下:

public SerialPort openPort(String port) {

        CommPortIdentifier portId = null;

        try {

            portId = (CommPortIdentifier)CommPortIdentifiergetPortIdentifier(port);

            return (SerialPort)portIdopen("SimpleWriteApp", 0);

        } catch (NoSuchPortException e) {

           Systemoutprintln("找不到端口");

            return null;

        } catch (PortInUseException e) {

            Systemoutprintln("端口被占用");

            return null;

        }

}

注意配置java串口所需的包及添加JRE

我的做法将串口封装成一个类,有打开、关闭串口方法,读写数据方法,你可以参考

你可以定义一个Map,把Map传入void的方法,在void方法里面put你要的内容。然后在转换你需要的数据类型。

Map m= new HashMap();

调用方法

void getInfo(){

Mput("name","小李");

}

m对象里面有你想要的内容。

以上就是关于在java的web程序中怎么使用串口通讯全部的内容,包括:在java的web程序中怎么使用串口通讯、java中怎么监控正在使用的串口信息、java comm例子为什么读不到串口啊等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9691150.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存