Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   JAVA (https://www.clubdelphi.com/foros/forumdisplay.php?f=16)
-   -   XHTML, Java enviar tramas de bytes (https://www.clubdelphi.com/foros/showthread.php?t=90554)

REHome 09-07-2016 13:24:02

XHTML, Java enviar tramas de bytes
 
Hola:

Uso STS-Eclipse, spring de Java y el servidor el JBoss. El proyecto que quiero hacer es enviar y recibir datos string por el puerto serie. Hace tiempo hice un tutorial en pdf sobre Java con NetBeans haciendo una interfaz de escritorio y se puede encender, apagar y recibir datos de los Led.

Ver tutorial.

Primer paso, empezar enviar datos por el puerto serie, cuando funcione, ya empezaremos lo de recibir datos.

En este caso, usaré la tecnología indicada arriba, una interfaz hecha con xhtml y usar clases en Java. Por ejemplo. Tengo hecho una interfaz en xhtml sencilla como indica abajo.



Como puedes ver arriba, debe encender un Led del pin 8, tiene dos botones, en este ejemplo he puesto que si pulsas el botón ON, en el texto de abajo aparece Led_8_ON, si pulsas el botón OFF, aparecerá el texto Led_8_OFF.

Dicho texto Led_8_ON y Led_8_OFF, son string que debo enviar por el puerto serie.

test.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>Test</title>
        <h1>Haciendo pruebas</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="#{test.led8ON}" update="resultado" />
                                <p:commandButton id="led8off" value="OFF" actionListener="#{test.led8OFF}" update="resultado" />
                                <p:inputText required="false" id="resultado" value="#{test.guardarUltimoValor}" />
                        </p:panelGrid>
                </p:panel>
        </h:form>
</h:body>
</html>

He creado una clase Java llamada Test.java.
Código:

package net.meta.practica.business.test;

import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Component;

@Component
@Scope("view")
public class Test {

        // Variables.
        final String LED8ON = "Led_8_ON";
        final String LED8OFF = "Led_8_OFF";
        String guardarUltimoValor = "";
       
        // Métodos.
        public void led8ON(){
                guardarUltimoValor = LED8ON;
        }
       
        public void led8OFF(){
                guardarUltimoValor = LED8OFF;
        }

        // 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;
        }
}

Para que entiendan de que va. xhtml hace de interfaz, la clase Test.java ahí está la estructura del programa para este ejemplo sencillo.


Ver zoom.

Hace tiempo que no toco Java, con STS-Eclipse ando perdido, es nuevo para mi.

Siguiendo este ejemplo. ¿Qué hay que hacer?
- Intentar configurar el puerto serie, en este caso puede ser COM4 o el que sea a 115200 de baudios, 2 bit de stop.
- Enviar estos dos string llamada Led_8_ON que lanza el botón ON y el Led_8_OFF que lanza el botón OFF al puerto serie.

Pueden aportar ideas de como hacerlo lo mejor posible y sin complicaciones.

1) Para la clase Test.java, ¿cómo o cuál es la mejor manera de enviar el dato de la variable llamado en este caso LED8ON?

2) ¿Hago todo el código en la misma clase?

Un cordial saludos.

PD: Menudo tostón de post. Espero que se entienda algo hasta donde quiero llegar, nos acompañharemos a llegar... ;)


La franja horaria es GMT +2. Ahora son las 12:53:16.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi