Ayuda con MIDlet CommConnections
Hola a todos!!!
Alguien me podr铆a ayudar proporcionandome un ejemplo o informaci贸n de como hacer un MIDlet J2ME que utilice la clase CommConections y que se env铆e datos por el puerto serial de un dispositivo m贸vil.
El MIDlet que estoy programando, estoy tratando de que tenga estas caracter铆sticas:
baudrate: 9600
bitsperchar: 8
stopbits: 2
parity: ninguna
Este MIDlet me servir谩 de mucho ya que estoy haciendo el prototipo de control inal谩mbrico para el robot m贸vil Koala de k-team utilizando mi Dell Axim x30.
Gracias por su ayuda!!!
Hasta pronto!!!!
Alguien me podr铆a ayudar proporcionandome un ejemplo o informaci贸n de como hacer un MIDlet J2ME que utilice la clase CommConections y que se env铆e datos por el puerto serial de un dispositivo m贸vil.
El MIDlet que estoy programando, estoy tratando de que tenga estas caracter铆sticas:
baudrate: 9600
bitsperchar: 8
stopbits: 2
parity: ninguna
Este MIDlet me servir谩 de mucho ya que estoy haciendo el prototipo de control inal谩mbrico para el robot m贸vil Koala de k-team utilizando mi Dell Axim x30.
Gracias por su ayuda!!!
Hasta pronto!!!!
Hola yo ando en las mismas q tu, pero yo ya cuento con una clase que abre el puerto serial de un equipo y envia los datos a otro dispositvo y funciona bien te pongo unas lineas de codigo abajo para q te des una idea de como funciona. Por cierto aprovechando yo estoy teniendo un problema cuando abro la conexion serial y no recibo ningun dato esta conexion no se cierra por si sola y bloque mi aplicacion por completo ya q el puerto serial continua esperando algun dato del otro dispositovo Se te ocurre alguna forma de hacerlo??
class PuertoSerial
{
public boolean open() {// throws IOException, Exception {
System.out.println("Open Method");
String parameter = "comm:0;baudrate=115200;parity=n;databits=8;stopbits=1;flowcontrol=n/n";
try {
sc = (StreamConnection)Connector.open(parameter, Connector.READ_WRITE, false);
} catch (Exception e) {
return(false);
}
return(true);
}
public boolean close() {
try {
if(sc != null){
sc.close();
sc = null;
return (true);
}
} catch (Exception e) {
return (false);
}
return (false);
}
public String descargaCodigo() throws IOException, Exception{
OutputStream os = null;
InputStream is = null;
int ch, i;
String dato = "";
String no_serie = "";
int exitvar = 0;
try{
os = this.sc.openOutputStream();
i = 0;
os.write((char)68);//D Comando para decargar los codigos de barra
os.write((char)13);//cr Comando de retorno de carro
is = this.sc.openInputStream();
do{
ch = is.read(); //Se toma el caracter que arroja el escaner
dato = dato + (char)ch;
if( ch == 6 ){ //ACK indica que el escaner ya no tiene datos en memoria
dato = "";
exitvar = 1;
//break;
}if( ch == 21){//NAK el escaner no ha recibido ningun dato de confirmacion por parte del host
dato = "";
exitvar = 1;
//break;
}if( ch <= 0 || ch >= 123){//NAK el escaner no ha recibido ningun dato de confirmacion por parte del host
dato = "";
exitvar = 1;
//break;
}if( ch == 13 ){//CR indica que se ha enviado un codigo de barras
no_serie = dato.substring( dato.length() - 5, dato.length() - 1 ); //Este dato se debe enviar al escaner para que borre el codigo que ha enviado de su memoria
//t.sleep(100);
String x = confirmaNoSerie(no_serie); //y envie el siguiente codigo en caso de tenerlo
dato = dato.substring(1, dato.length() - 5 );
//t = null;
exitvar = 1;
//return dato;
}
//}while( ( ch != 13) && ( ch != 6 ) && ( exitvar != 1 ));
}while( ( exitvar != 1 ) );
}finally{
if(os != null){
os.close();
os = null;
}
if(is != null){
is.close();
is = null;
}
}
return dato;
}
}
class PuertoSerial
{
public boolean open() {// throws IOException, Exception {
System.out.println("Open Method");
String parameter = "comm:0;baudrate=115200;parity=n;databits=8;stopbits=1;flowcontrol=n/n";
try {
sc = (StreamConnection)Connector.open(parameter, Connector.READ_WRITE, false);
} catch (Exception e) {
return(false);
}
return(true);
}
public boolean close() {
try {
if(sc != null){
sc.close();
sc = null;
return (true);
}
} catch (Exception e) {
return (false);
}
return (false);
}
public String descargaCodigo() throws IOException, Exception{
OutputStream os = null;
InputStream is = null;
int ch, i;
String dato = "";
String no_serie = "";
int exitvar = 0;
try{
os = this.sc.openOutputStream();
i = 0;
os.write((char)68);//D Comando para decargar los codigos de barra
os.write((char)13);//cr Comando de retorno de carro
is = this.sc.openInputStream();
do{
ch = is.read(); //Se toma el caracter que arroja el escaner
dato = dato + (char)ch;
if( ch == 6 ){ //ACK indica que el escaner ya no tiene datos en memoria
dato = "";
exitvar = 1;
//break;
}if( ch == 21){//NAK el escaner no ha recibido ningun dato de confirmacion por parte del host
dato = "";
exitvar = 1;
//break;
}if( ch <= 0 || ch >= 123){//NAK el escaner no ha recibido ningun dato de confirmacion por parte del host
dato = "";
exitvar = 1;
//break;
}if( ch == 13 ){//CR indica que se ha enviado un codigo de barras
no_serie = dato.substring( dato.length() - 5, dato.length() - 1 ); //Este dato se debe enviar al escaner para que borre el codigo que ha enviado de su memoria
//t.sleep(100);
String x = confirmaNoSerie(no_serie); //y envie el siguiente codigo en caso de tenerlo
dato = dato.substring(1, dato.length() - 5 );
//t = null;
exitvar = 1;
//return dato;
}
//}while( ( ch != 13) && ( ch != 6 ) && ( exitvar != 1 ));
}while( ( exitvar != 1 ) );
}finally{
if(os != null){
os.close();
os = null;
}
if(is != null){
is.close();
is = null;
}
}
return dato;
}
}
HELP ME......podrias ayudarme enviandome el ejemplo completo...no encuentro mucho material de apoyo con la puerta serial.
