當前位置:首頁 » 編程語言 » java串口開發

java串口開發

發布時間: 2024-05-25 16:45:23

java如何從串口讀取數據帶GUI

1.導入支持java串口通信的jar包:
在maven項目的pom.xml中添加RXTXcomm的依賴 或者 下載RXTXcomm.jar並導入到項目中。
支持Java串口通信操作的jar包,java.comm比較老,而且不支持64位系統,推薦使用Rxtx這個jar包(32位/64位均支持)。
注意:運行過程中拋出 java.lang.UnsatisfiedLinkError 錯誤或 gnu.io 下的類找不到時,將rxtx解壓包中的 rxtxParallel.dll,rxtxSerial.dll 這兩個文件復制到 C:\Windows\System32 目錄下可解決該錯誤。
2.編寫代碼操作串口:
串口必要參數類:包含連接串口所必須的參數,方便在調用串口時設置和傳遞串口參數。

Ⅱ java實現串口通信代碼

public static void process() {
try {
Enumeration portList = CommPortIdentifier.getPortIdentifiers();
while (portList.hasMoreElements())
{
CommPortIdentifier portId = (CommPortIdentifier) portList.nextElement();
if (portId.getPortType() == CommPortIdentifier.PORT_SERIAL)//如果埠類型是串口則判斷名稱
{
if(portId.getName().equals("COM1")){//如果是COM1埠則退出循環
break;
}else{
portId=null;
}
}
}
SerialPort serialPort = (SerialPort)portId.open("Serial_Communication", 1000);//打開串口的超時時間為1000ms
serialPort.setSerialPortParams(9600,SerialPort.DATABITS_8,SerialPort.STOPBITS_1,SerialPort.PARITY_NONE);//設置串口速率為9600,數據位8位,停止位1們,奇偶校驗無
InputStream in = serialPort.getInputStream();//得到輸入流
OutputStream out = serialPort.getOutputStream();//得到輸出流

//進行輸入輸出操作

//操作結束後
in.close();
out.close();
serialPort.close();//關閉串口

} catch (PortInUseException e) {
e.printStackTrace();
} catch ( e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}

}

Ⅲ 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的web程序中怎麼使用串口通訊

方法如下:

  1. 新建eclipse工程,添加comm.jar或者RXTXcomm.jar包。因為javacomm20-win32.zip包里有樣例SimpleRead.java,可以通過這個例子測試串口是否正確。

  2. 接收數據正確後,根據傳送接收雙方的協議,採用CRC循環校驗,根據傳輸的一方的校驗函數判定是否是正確傳輸。

  3. 把正確結束的數據解析,查看自己指定的通訊規則,然後解析。

  4. 插入資料庫,jdbc插入。

  5. 數據統計,定時統計每小時,每天,每月,每年的平均值,採用quartz服務來實現。

  6. 建立web工程,採用hibernate3,spring3,dwr技術把資料庫數據動態顯示,圖表採用jfreechart,以及AJAX的運用

Ⅳ 在java的web程序中怎麼使用串口通訊

最近在做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下
這個配置在我電腦上測試成功,也許不需要這樣麻煩。注意的是,如果你使用myeclipse,因為它自帶jre,你需要在它所在的jre相應位置放dll以及properties文件。

是不是感覺這個很麻煩,還有windows的限制。後來我們下載rxtx這款開源包代替了剛才的comm。不僅windows下可以,linux下也可以。使用方法很簡單,配置如下:

RXTXcomm.jar放到JAVA_HOME/jre/lib/ext
rxtxSerial.dll放到JAVA_HOME/bin
如果你使用myeclipse工具,你需要把rxtxSerial.dll放到它自帶的jre里。

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

熱點內容
信用卡一般的原始密碼是多少 發布:2024-11-27 10:28:32 瀏覽:991
安卓的程序結構是什麼 發布:2024-11-27 10:28:29 瀏覽:269
住房貸款還完了如何解壓 發布:2024-11-27 10:28:27 瀏覽:576
手動上傳發票 發布:2024-11-27 10:23:26 瀏覽:990
我的世界寬頻能開伺服器嗎 發布:2024-11-27 10:23:21 瀏覽:876
移動存儲器是什麼 發布:2024-11-27 10:04:08 瀏覽:876
linux重裝linux 發布:2024-11-27 09:46:25 瀏覽:558
電腦玩雲伺服器 發布:2024-11-27 09:19:22 瀏覽:66
蘋果什麼助手能和安卓互通 發布:2024-11-27 09:18:47 瀏覽:58
android花屏 發布:2024-11-27 09:18:38 瀏覽:125