This service is based on JSSC library.
First of all you must create a new SerialHelper and set your port parameters in the following order:
Also you can override onDataAvailable(String data) method to define how to manage read data. For example you can send received data to another method.
SerialHelper usb = new SerialHelper("/dev/ttyUSB0", 19200, 8, 1, 0, new SerialPortListener() {
@Override
public void onDataAvailable(String data) {
System.out.println("DEBUG: received: " + data);
}
});
By default data are read continuously. If you want to read a chunk of data with a specific terminator char you can set it as
usb.setReadTerminator("\n");
or if you want to read a chunk with a fixed dimension you can set it as
usb.setChunkSize(5);
Sending a string to the serial port is very simple
usb.write("ABCD");
Here the complete example
SerialHelper usb = new SerialHelper("/dev/ttyUSB0", 19200, 8, 1, 0, new SerialPortListener() {
@Override
public void onDataAvailable(String data) {
System.out.println("DEBUG: received: " + data);
}
});
usb.setReadTerminator("\n"); //receive until this terminator char
//ALTERNATIVE: usb.setChunkSize(5); //receive messages of 5 chars each
usb.write("ABCD");