serialport.addEventListener(new SerialPortEventListener() {
@Override
public void serialEvent(SerialPortEvent serialPortEvent) {
try {
input = serialport.readString(serialPortEvent.getEventValue());
if (serialPortEvent.isRXCHAR()) {
if (input.endsWith("\\r\\n")) { //quebra linha e enviar um ENTER
taTerminalAD.appendText(input);
taTerminalJFX.appendText("entrada e saida de dados: "+input+"\\n");
System.out.print("dados:");
System.out.println("" + input.substring(0, input.indexOf("\\r\\n")));
vlCode = input.substring(0, input.indexOf("\\r\\n"));
//condiçao de escolhas
if (vlCode.toString().equals("Dallas Temperature library".toString())) {
lbaction.setText("start");
System.out.println("Action : Iniciando aplicativo" );
taTerminalJFX.appendText("start\\n"+"Action : Iniciando aplicativo"+"\\n");
}
///retorno de TEMPERATURA
if (vlCode.toString().equals("-".toString())) {
lbaction.setText("Action: Ventilador OFF");
taTerminalJFX.appendText("Action: Ventilador OFF"+"\\n");
// desligar o ventilador
serialport.writeBytes("B".getBytes());
}
if (vlCode.toString().equals("+".toString())) {
lbaction.setText("Action: Ventilador ON");
taTerminalJFX.appendText("Action: Ventilador ON"+"\\n");
serialport.writeBytes("A".getBytes());
}
if (vlCode.toString().length()==5) {
lbcode.setText("Temperatura: " + vlCode+ " Cº");
taTerminalJFX.appendText("Temperatura: " + vlCode+ " Cº"+"\\n");
};
if (vlCode.toString().equals("DESLIGADO".toString())) {
lbaction.setText("Action: Ventilador OFF");
taTerminalJFX.appendText("Action: Ventilador OFF"+"\\n");
}
if (vlCode.toString().length()==2) {
lbcode.setText("Temperatura: " + vlCode+ " Cº");
taTerminalJFX.appendText("Temperatura: " + vlCode+ " Cº"+"\\n");
Date dt=new Date();
int odatas=dt.getHours()-1;
strdatas=""+odatas+":"+dt.getMinutes()+":"+dt.getSeconds();
double psd=Double.parseDouble(vlCode);
xychtdia.getData().addAll(new XYChart.Data( ""+strdatas, psd));
contpieOne= contpieOne+1;
System.out.println("lop de pie e entrada de temperatora"+contpieOne+"tmp"+vlCode);
txtimeatu.setText("Atual "+odatas+":"+dt.getMinutes()+":"+dt.getSeconds());
if(psd>20){
contfrio=contfrio+1;
System.out.println("entrada maio que 20 contfrio=contfrio+1;"+contfrio);
pieChartDatas1.addAll( new PieChart.Data("Quente",contfrio));
}
if(psd<21){
System.out.println("entrada menor que 21");
}
};
if(cbxAuto.selectedProperty().getValue()==true){
try {
serialport.writeBytes("k".getBytes());
System.out.println("modo altomatico ajustado");
taTerminalJFX.appendText("modo altomatico ajustado"+"\\n");
} catch (SerialPortException ex) {
taTerminalJFX.appendText("error modo automatico"+"\\n");
}
}else if(cbxAuto.selectedProperty().getValue()==false){
System.out.print("AUTOMATICO NAO AJUSTADO");
taTerminalJFX.appendText("AUTOMATICO NAO AJUSTADO"+"\\n");
} }
}
} catch (SerialPortException ex) {
taTerminalJFX.appendText("Error : \\n"+ex.getMessage()+"\\n");
}
ex.4
Neste exemplo a condição é simples... se houver um erro interno no software "ou seja que nao esteja relacionado a biblioteca" , entao...imprima o erro no terminal JFX.
try {
...
} catch (Exception e) {
e.getMessage();
}