Hola:
Usando Hibernate, Spring, java con xhtml bajo el plugins de Maven. No me lee una función. El archivo arduino.xhtml tiene este código y no hay problema.
arduino.xhtml
Código:
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:p="http://primefaces.org/ui">
<h:head>
<title>Arduino</title>
<h1>Arduino</h1>
</h:head>
<h:body>
<h:form>
<p:panel header="Cuadro de control">
<p:panelGrid columns="1" id="gridname">
<p:outputLabel value="Led 8: " />
<p:commandButton id="led8on" value="ON"
actionListener="#{arduino.led8ON}" update="resultado" />
<p:commandButton id="led8off" value="OFF"
actionListener="#{arduino.led8OFF}" update="resultado" />
<p:inputText required="false" id="resultado"
value="#{arduino.guardarUltimoValor}" />
<p:commandButton id="puerto" value="Iniciar puerto"
actionListener="#{arduino.inicio_puerto}" update="resultado" />
<p:commandButton id="borrar" value="Borrar"
actionListener="#{arduino.borrar}" update="resultado" />
</p:panelGrid>
</p:panel>
</h:form>
</h:body>
</html>
Clase Arduino.java
Código:
package net.prueba.practica.business.test;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Component;
import gnu.io.*; // RXTX
//import javax.comm.*; // SUN
import java.util.Enumeration;
@Component
@Scope("view")
public class Arduino {
// Variables.
final String LED8ON = "Led_8_ON";
final String LED8OFF = "Led_8_OFF";
String guardarUltimoValor = "";
// Métodos.
public void inicio_puerto(){
System.out.println("Programa empeado.");
// System.out.println(java.library.path);
CommPortIdentifier serialPortId;
//static CommPortIdentifier sSerialPortId;
Enumeration enumComm;
// SerialPort serialPort;
enumComm = CommPortIdentifier.getPortIdentifiers();
while (enumComm.hasMoreElements()) {
serialPortId = (CommPortIdentifier) enumComm.nextElement();
if(serialPortId.getPortType() == CommPortIdentifier.PORT_SERIAL) {
System.out.println(serialPortId.getName());
}
}
System.out.println("Terminado satisfactoriamente.");
}
public void led8ON(){
guardarUltimoValor = LED8ON;
System.out.println("Resultado: " + guardarUltimoValor);
}
public void led8OFF(){
guardarUltimoValor = LED8OFF;
System.out.println("Resultado: " + guardarUltimoValor);
}
public void borrar(){
guardarUltimoValor = "";
System.out.println("Resultado: " + guardarUltimoValor);
}
// Getters y Setters.
public String getGuardarUltimoValor() {
return guardarUltimoValor;
}
public void setGuardarUltimoValor(String guardarUltimoValor) {
this.guardarUltimoValor = guardarUltimoValor;
}
public String getLED8ON() {
return LED8ON;
}
public String getLED8OFF() {
return LED8OFF;
}
}
Sigo los consejos indicado
aquí.
A pesar de poner las librerías rxtxSerial.dll y el .jar.
¿xhtml y java no es capaz de leer los puertos series que tiene el equipo?
Su código usado es:
Código:
import gnu.io.*; // RXTX
// import javax.comm.*; // SUN
import java.util.Enumeration;
public class ErsteSchritte {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("Program started");
//System.out.println(java.library.path);
CommPortIdentifier serialPortId;
//static CommPortIdentifier sSerialPortId;
Enumeration enumComm;
//SerialPort serialPort;
enumComm = CommPortIdentifier.getPortIdentifiers();
while (enumComm.hasMoreElements()) {
serialPortId = (CommPortIdentifier) enumComm.nextElement();
if(serialPortId.getPortType() == CommPortIdentifier.PORT_SERIAL) {
System.out.println(serialPortId.getName());
}
}
System.out.println("Finished successfully");
}
}
La salida de la consola en spring debe ser:
Cita: Program started
Stable Library
=========================================
Native lib Version = RXTX-2.1-7
Java lib Version = RXTX-2.1-7
/dev/ttyS1
/dev/ttyS0
Finished successfully
Experimental: JNI_OnLoad called.
Tal como indica
aquí.
¿Alguna sugerencia?
Saludos.