Tuesday 6 November 2018

Oke Trik Open Port Rxtx Windows 7


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:
  1.  Buka rxtx di windows 7
  2. 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