J'essaie d'activer/de désactiver le relais mais jusqu'à présent, je n'ai pas réussi. J'ai essayé le programme Coolterm pour voir si les pilotes étaient correctement installés et oui ça a marché et j'ai pu l'activer/désactiver via l'interface graphique. Cependant, j'ai un problème pour envoyer la commande via java pour mettre le relais ..Port série Java Problème
Paramètres de communication: 8 données, 1 arrêt, pas de parité Vitesse: 9600
Commandes: commande OFF: FF 01 00 (HEX) ou 255 1 0 (DEC)
commande ON: FF 01 01 (HEX) ou 255 1 1 (DEC)
Mon code est ci-dessous:
public class Application {
InputStream in;
OutputStream out;
String dataHex = "FF 01 01";
void connect(String portName) throws Exception {
CommPortIdentifier portIdentifier = CommPortIdentifier.getPortIdentifier(portName);
System.out.println(portIdentifier);
CommPort commPort = portIdentifier.open(this.getClass().getName(), 2000);
System.out.println(commPort);
SerialPort serialPort = (SerialPort) commPort;
System.out.println(serialPort);
serialPort.setSerialPortParams(9600, SerialPort.DATABITS_8, SerialPort.STOPBITS_1, SerialPort.PARITY_NONE);
this.in = serialPort.getInputStream();
this.out = serialPort.getOutputStream();
System.out.println(dataHex.getBytes());
out.write(dataHex.getBytes());
System.out.println("end");
}
InputStream getIn() {
return this.in;
}
OutputStream getOut() {
return this.out;
}
public static void main(String args[]) throws QTException, FileNotFoundException, IOException {
Application app = new Application();
try {
app.connect("/dev/tty.usbserial-A400953X");
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
Merci d'avance ...
Quelles bibliothèques Java sont vous utilisez? – Freiheit
import java.io.FileNotFoundException; import java.io.IOException; import quicktime.QTException; import gnu.io. *; import java.io.InputStream; import java.io.OutputStream; Qt bibliothèque ignorée, j'ai oublié de le supprimer depuis que je travaillais avec avant .. –
La dernière fois que j'ai fait le développement de port série, j'ai fait quelques tests simples de mon application en supprimant l'appareil avec lequel je communiquais. Ainsi, au lieu de tester votre application en attendant qu'elle déclenche le relais, testez votre application en demandant à une autre application d'écouter sur le même ATS et de voir si votre application envoie les bonnes commandes. Après avoir vérifié que votre application envoie les bonnes commandes, présentez le périphérique série. – Freiheit