Ahoj,
mám problém s odesláním příkazu na anténku v USB. Mám fungující ekvivalent v pythonu, ale potřebuji to napsané v Javě. Jde vlastně jen odeslání stavové věty TX ENROLL:0 PGX:0 PGY:1 ALARM:0 BEEP:NONE.
Nyní mám toto, ale žádná odezva. Mohl by mi někdo poradit, nebo nasměrovat jak problém vyřešit? Díky
package usbTest4;
import java.io.IOException;
import java.io.OutputStream;
import java.util.Enumeration;
import javax.comm.CommPortIdentifier;
import javax.comm.PortInUseException;
import javax.comm.SerialPort;
import javax.comm.UnsupportedCommOperationException;
public class UsbTest4 {
static Enumeration portList;
static CommPortIdentifier portId;
static String messageString = "TX ENROLL:0 PGX:0 PGY:1 ALARM:0 BEEP:NONE";
static SerialPort serialPort;
static OutputStream outputStream;
public static void main(String[] args) {
portList = CommPortIdentifier.getPortIdentifiers();
while (portList.hasMoreElements()) {
portId = (CommPortIdentifier) portList.nextElement();
System.out.println(portList);
if (portId.getPortType() == CommPortIdentifier.PORT_SERIAL) {
if (portId.getName().equals("/dev/ttyUSB0")) {
try {
serialPort = (SerialPort) portId.open("SimpleWriteApp", 2000);
} catch (PortInUseException e) {
}
try {
outputStream = serialPort.getOutputStream();
} catch (IOException e) {
}
try {
serialPort.setSerialPortParams(9600, SerialPort.DATABITS_8, SerialPort.STOPBITS_1,
SerialPort.PARITY_NONE);
} catch (UnsupportedCommOperationException e) {
}
try {
outputStream.write(messageString.getBytes());
} catch (IOException e) {
}
}
}
}
}
}