Hai sobat IoT yang super canggih ide-ide kreatifnya..
Diblog kali ini saya akan memberikan tutorial untuk membuka RXTX di Windows 7. Pengalaman pribadi saya
dan tim dulu sangat kesusahan dalam membuka RXTX atau Open Port RXTX di windows. Setelah berusaha saya berhasil membuka atau
Open Port Rxtx.
Setela kita berhasil Open Port RXTX tentu sangat membantu
kita untuk mengambil nilai yang di Arduino untuk kepentingan pengolahan data
atau kepentingan lainnya. Berikut adalah tutorial Open Port RXTX di Windows 7:
- Buka rxtx di windows 7
- Download library rxtx
Untuk
Windows :
RXTXcomm.jar dicopy ke
tempatinstalljdk\jre\lib\ext
rxtxSerial.dll dicopy ke
tempatinstalljdk\jre\bin
rxtxParallel.dll dicopy ke
tempatinstalljdk\jre\bin
rxtxParallel.dll dicopy ke tempatinstall
=> window/system/system32
3.Buka NetBean IDE 7
4. Coding
/*
* To
change this template, choose Tools | Templates
*
and open the template in the editor.
*/
package rxtxcoba;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.OutputStream;
import gnu.io.CommPortIdentifier;
import gnu.io.SerialPort;
import gnu.io.SerialPortEvent;
import gnu.io.SerialPortEventListener;
import java.util.Enumeration;
/**
*
*
@author asus
*/
public class Rxtxcoba implements SerialPortEventListener{
private static class SerialTest {
public SerialTest() {
}
private void initialize() {
throw new UnsupportedOperationException("Not yet
implemented");
}
}
SerialPort serialPort;
/** port normal yang di gunakan. */
private
static final String PORT_NAMES[] = {
//"/dev/tty.usbserial-A9007UX1",
// Mac OS X
//
"/dev/ttyACM0", // Raspberry Pi
//"/dev/ttyUSB0",
// Linux
"COM14",
// Windows
};
/**
*
A BufferedReader which will be fed by a InputStreamReader /
*
converting the bytes into characters / konversi dari byte ke karakter
*
making the displayed results codepage independent /
*/
private
BufferedReader input;
/**
The output stream to the port */
private
OutputStream output;
/**
Milliseconds to block while waiting for port open */
private
static final int TIME_OUT = 2000;
/**
Default bits per second for COM port. */
private
static final int DATA_RATE = 9600;
/**
*
@param args the command line arguments
*/
public void initialize() {
// the next line is for
Raspberry Pi and
// gets us into the while loop
and was suggested here was suggested http://www.raspberrypi.org/phpBB3/viewtopic.php?f=81&t=32186
System.setProperty("gnu.io.rxtx.SerialPorts",
"COM14");//"/dev/ttyACM0"
CommPortIdentifier
portId = null;
Enumeration
portEnum = CommPortIdentifier.getPortIdentifiers();
//First,
Find an instance of serial port as set in PORT_NAMES.
// pertama, menemukan contoh
dari port srial menjadi nama port
while
(portEnum.hasMoreElements()) {
CommPortIdentifier
currPortId = (CommPortIdentifier) portEnum.nextElement();
for
(String portName : PORT_NAMES) {
if
(currPortId.getName().equals(portName)) {
portId
= currPortId;
break;
}
}
}
if
(portId == null) {
System.out.println("Could
not find COM port.");
return;
}
try
{
//
open serial port, and use class name for the appName.
serialPort
= (SerialPort) portId.open(this.getClass().getName(),
TIME_OUT);
//
set port parameters
serialPort.setSerialPortParams(DATA_RATE,
SerialPort.DATABITS_8,
SerialPort.STOPBITS_1,
SerialPort.PARITY_NONE);
//
open the streams
input
= new BufferedReader(new InputStreamReader(serialPort.getInputStream()));
output
= serialPort.getOutputStream();
//
add event listeners
serialPort.addEventListener(this);
serialPort.notifyOnDataAvailable(true);
}
catch (Exception e) {
System.err.println(e.toString());
}
}
/**
* This should be called when you stop using
the port.
* This will prevent port locking on platforms
like Linux.
*/
public
synchronized void close() {
if
(serialPort != null) {
serialPort.removeEventListener();
serialPort.close();
}
}
/**
* Handle an event on the serial port. Read the
data and print it.
*/
public
synchronized void serialEvent(SerialPortEvent oEvent) {
if (oEvent.getEventType() ==
SerialPortEvent.DATA_AVAILABLE) {
try
{
String
inputLine=input.readLine();
System.out.println(inputLine);
}
catch (Exception e) {
System.err.println(e.toString());
}
}
//
Ignore all the other eventTypes, but you should consider the other ones.
}
public
static void main(String[] args) throws Exception {
Rxtxcoba
main = new Rxtxcoba();
main.initialize();
Thread
t=new Thread() {
public
void run() {
//the
following line will keep this app alive for 1000 seconds,
//waiting
for events to occur and responding to them (printing incoming messages to
console).
try
{Thread.sleep(1000000);} catch (InterruptedException ie) {}
}
};
t.start();
System.out.println("Started");
}
}
Thanks sobat IoT yang sudah berkunjung. Silahkan berkunjung
ke tutorial IoT lainnya
#Salam_IoT_dari _AnakKampung
No comments:
Post a Comment