Home / Pemrograman / JAVA / Serial Port Communication Java Source Code

Serial Port Communication Java Source Code

Serial Port Communication Java

Bagi para programmer hardware, java serial port communication merupakan salah satu media yang banyak dipakai untuk PC interfacing. Serial port digunakan untuk menghubungkan PC ke perangkat lain seperti mikrokontroler, PLC, dll. Di JAVA untuk mengakses serial port kita membutuhkan sebuah library yang bernama RxTx. Silahkan download terlebih dahulu librarynya disini http://rxtx.qbang.org/wiki/index.php/Download. Kemudian extract hasil download tadi. Disitu terdapat file yang bernama RXTXcomm.jar, file inilah yang merupakan library tersebut. Namun jangan lupa sebelum kita memulai untuk mencoba kita perlu mengcopy file rxtxSerial.dll ke C:/Windows/System32

Buatlah project baru untuk mencoba membuat java serial port communication. Untuk kali ini kita hanya menggunakan CLI saja :D. untuk menambahkan library pada project kita, klik kanan pada libraries => Add JAR/Folder.

Serial Port Communication Java
Serial Port Communication Java

 

 

Berikut merupakan contoh program untuk membaca data dari serial port.

[sourcecode language=”java”]

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package serial;

/**
*
* @author eko rudiawan
*/
import java.io.*;
import java.util.*;
import gnu.io.*;
//import java.io.InputStream;
//import java.io.OutputStream;

public class Serial {

static Enumeration portList;
static CommPortIdentifier portId;
static String messageString = “Hello, world!”;
static SerialPort serialPort;
static OutputStream outputStream;
static boolean outputBufferEmptyFlag = false;
static InputStream input;

/**
* Method declaration
*
*
* @param args
*
* @see
*/
public static void main(String[] args) throws IOException {
boolean portFound = false;
String defaultPort = “COM2”;

if (args.length > 0) {
defaultPort = args[0];
}

portList = CommPortIdentifier.getPortIdentifiers();

while (portList.hasMoreElements()) {
portId = (CommPortIdentifier) portList.nextElement();

if (portId.getPortType() == CommPortIdentifier.PORT_SERIAL) {

if (portId.getName().equals(defaultPort)) {
System.out.println(“Found port ” + defaultPort);

portFound = true;

try {
serialPort =
(SerialPort) portId.open(“SimpleWrite”, 2000);
} catch (PortInUseException e) {
System.out.println(“Port in use.”);

continue;
}

try {
outputStream = serialPort.getOutputStream();
} catch (IOException e) {
}

try {
serialPort.setSerialPortParams(9600,
SerialPort.DATABITS_8,
SerialPort.STOPBITS_1,
SerialPort.PARITY_NONE);
} catch (UnsupportedCommOperationException e) {
}

try {
serialPort.notifyOnOutputEmpty(true);
} catch (Exception e) {
System.out.println(“Error setting event notification”);
System.out.println(e.toString());
System.exit(-1);
}

input = serialPort.getInputStream();

while (true) {
while (input.available() > 0) {
System.out.print((char) (input.read()));
}
}
}
}
}
if (!portFound) {
System.out.println(“port ” + defaultPort + ” not found.”);
}
serialPort.close();
System.exit(1);
}
}

[/sourcecode]

 

Referensiku = > http://silveiraneto.net/2009/03/01/arduino-and-java/

About Eko Rudiawan

Seorang lelaki yang punya ketertarikan dengan dunia elektronika dan robot yang saat ini sedang serius belajar tentang dunia bisnis dan internet marketing. My dream to be success technopreneur

Check Also

Palindrom Words Java

Palindrome Words Java Algorithm And Source Code

Palindrome Words Java /* * To change this template, choose Tools | Templates * and …

16 comments

  1. kalau untuk write data ke serial gimana mas?

  2. gan klo muncul errornya gmna ya cara ngatasnnya..
    error ini keluar pas hardwarenya dicabut pas lagi running programnya.

    #
    # A fatal error has been detected by the Java Runtime Environment:
    #
    # EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x6f697461, pid=4176, tid=452
    #
    # JRE version: 7.0_04-b22
    # Java VM: Java HotSpot(TM) Client VM (23.0-b21 mixed mode, sharing windows-x86 )
    # Problematic frame:
    # C 0x6f697461
    #
    # Failed to write core dump. Minidumps are not enabled by default on client versions of Windows
    #
    # An error report file with more information is saved as:
    # D:RidlaSchoolUniversitas MaranathaSemester GanjilPemrograman Berorientasi Objek (Java)SerialRFIDRFIDhs_err_pid4176.log
    #
    # If you would like to submit a bug report, please visit:
    # http://bugreport.sun.com/bugreport/crash.jsp
    # The crash happened outside the Java Virtual Machine in native code.
    # See problematic frame for where to report the bug.
    #
    Java Result: 1
    BUILD SUCCESSFUL (total time: 35 seconds)

  3. blog nya sangat bagus bang…
    saya mau tanya klo desain nya yang monitoring suhu itu cakep ada speedometernya pake apa, trus cara ngambil komponen tersebut gimana
    nama komponen tersebut di propertis apa ya bang
    saya lagi belajar java ke mikro, ternyata susah tapi bisa aha masa gak bisa
    tolong bantu bang….

  4. bolah di email biar lebih jelas bang, aqiens@yahoo.co.id

  5. mas eko kalau untuk ditampilin ke textfield bagaimana?
    mohon pencerahannya.
    martisunaardhi@gmail.com

  6. salam kenal mas Eko…

    kalau cara akses USB atau HID via Java gimana mas…? atau ada rekan2 yang pernah bikin…?

    tks

  7. maaf ni mas, di blog yang satu nya dgn URL http://49012012eko.blogspot.com/2012/08/library-untuk-menampilkan-grafik-pada.html gak di tampilkan source code program java dan arduino nya, mohon di share yaa mas…

  8. Maaf mas, kalau ingin mengirimkan data dari java ke arduino gimana ya caranya? saya ingin membuat program dimana data yg diinput melalui program java desktop nantinya akan diterima dan diolah di arduino.
    mohon di balas melalui email
    Terima Kasih 🙂

Leave a Reply

Your email address will not be published. Required fields are marked *

6 + twelve =