Estoy desarrollando una aplicación para controlar un puerto serial en linea con un automatismo simple de bajo costo.
El objetivo es, acceder a internet desde cualquier parte del mundo y activar el automatismo conectado all puerto serial.
Para ello necesito un servidor al cual pueda tener privilegios de acceso via web al puerto serial del servidor.
Bueno, comenzé programando en Visual Basic, con la libreria MSCOMM32
y conectando mi automatismo directo al equipo y puerto serial y con el programa solo puedo tener el control del puerto serial del equipo host.
Luego surgió la necesidad de tener el control del puerto serial de un servidor, para poder acceder al control por internet.
Y aquí estoy sin encontrar una solución definitiva.
Pensé que un applet me ayudaría, logré programar el código, al parecer todo funciona bien, pero no he logrado probarlo ya que mi equipo no tiene puerto serial y el applet no me corre si no es con el visor del programa con el que estoy programando: NETBEANS. Además me he ido enterando de que con el applet tampoco tengo privilegios de acceso al servidor via web. Asi que no he tenido ningún resultado.
Lo último que averigué, dentro de la poca información que hay en internet es que con una aplicación SERVLET podría tener acceso a controlar el puerto serial del servidor.
Estoy usando una librería llamada JSSC (Java Simple Serial Connector), que es
algo más fácil de utilizar que esas librerias RXTX y Giovynet.
Tengo el siguiente código para un applet, que abre el puerto serial, activa la señal RTS y transcurrido 5 segundos cierra el puerto, eso es todo lo que necesito.
-------------------------------------------------------------------------------------------------------
package aplicacionporton;
import java.util.logging.Level;
import java.util.logging.Logger;
import jssc.SerialPort;
import jssc.SerialPortException;
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
SerialPort serialPort = new SerialPort("COM1");
try {
System.out.println("Port opened: " + serialPort.openPort());
System.out.println("Params setted: " + serialPort.setParams(9600, 8, 1, 0));
System.out.println("RTS enable: " + serialPort.setRTS(true));
try {
Thread.sleep(5000);
} catch (InterruptedException ex) {
Logger.getLogger(ventana.class.getName()).log(Leve l.SEVERE, null, ex);
}
System.out.println("RTS disable: " + serialPort.setRTS(false));
System.out.println("Port closed: " + serialPort.closePort());
}
catch (SerialPortException ex){
System.out.println(ex);
}
}
// Variables declaration - do not modify
private javax.swing.JButton jButton1;
private javax.swing.JPanel jPanel1;
// End of variables declaration
}
--------------------------------------------------------------------------------------------------------
Entonces, no sé como lo podría hacer con un servlet... hay unos tutoriales de servlet básicos, donde escribes tu nombre, apretas el botón y se abre una página que dice "HOLA TU_NOMBRE" , me funciona bien, pero no sé como meter el código para hacer funcionar el puerto serial, tengo un emulador en ejecución.
Si me pueden ayudar, muchas gracias.