Anonymní profil Romanx – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Anonymní profil Romanx – Programujte.comAnonymní profil Romanx – Programujte.com

 

Příspěvky odeslané z IP adresy 178.255.168.–

Romanx
Java › Poslání příkazu na USB
14. 9. 2016   #212698

#3 q
Tak problém vyřešen. Použil jsem jinou knihovnu a začal lépe číst dokumentaci [:D]

package jssc;
import jssc.*;
public class Main {

    public static void main(String[] args) {
        char ESC = (char) 27; // Ascii character for Escape
        char LN = (char) 10;
        String message = "TX ENROLL:0 PGX:0 PGY:0 ALARM:0 BEEP:NONE";
        String cmd = ESC + message + LN;
        SerialPort serialPort = new SerialPort("/dev/ttyUSB0");
        try {

            serialPort.openPort();
            serialPort.setParams(SerialPort.BAUDRATE_57600, SerialPort.DATABITS_8, SerialPort.STOPBITS_1,
                    SerialPort.PARITY_NONE);
            serialPort.writeString(cmd);

            serialPort.closePort();
        } catch (SerialPortException ex) {
            System.out.println(ex);
        }
    }
}
Romanx
Java › Poslání příkazu na USB
9. 9. 2016   #212646

Problém je asi v tvaru příkazu. Python příkaz vypadá takto:

os.write(self.fd, "\x1B"+command+"\n")

už v tom hledám blbosti, tak bych potřeboval pohled někoho jiného

Romanx
Java › Poslání příkazu na USB
9. 9. 2016   #212645

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) {
                    }
                }
            }
        }
    }
}

 

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032020 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý