Ver Mensaje Individual
  #1 (permalink)  
Antiguo 24/01/2013, 20:35
freddy644
 
Fecha de Ingreso: marzo-2007
Mensajes: 17
Antigüedad: 17 años, 1 mes
Puntos: 0
Envio de SMS a Modem GSM via puerto serial en JAVA

Saludos...

Me encuentro con un proyecto en el que necesito enviar mensajes de texto sms...
Esto se lo hace por medio de un modem o gateway con conexiones para insertar chips gsm, este modem se encuentra conectado a un pc via USB y el mismo lo reconoce como puerto COMXX...

Ya tengo el codigo Java hecho, incluso al enviar los comandos AT me devuelve OK, sin embargo al momento de enviar el mensaje me devuelve error, les pongo el resultado de esto que me arroja un software que monitoriza el puerto COM4 que es el que utilizo:

[24/01/2013 21:21:33] - Open COM4 port (C:\Program Files (x86)\Java\jdk1.7.0_05\bin\java.exe)



[24/01/2013 21:21:34] - Written data

AT.
AT+CMGF=1.
AT+CMGS="0987632246".
holaxx.

[24/01/2013 21:21:38] - Read data

AT...OK..
AT+CMGF=1...OK..
AT+CMGS="0987632246"...
> holaxx...ERROR..

[24/01/2013 21:21:54] - Close port


y este es el código JAVA:


......
SerialPort serialPort = new SerialPort();
List<String> freeSerialPort = serialPort.getFreeSerialPort();
for (String free : freeSerialPort)
{
System.out.println(free);
}

Parameters param = new Parameters();
param.setPort("COM4");
param.setBaudRate(Baud._115200);
Com com4 = new Com(param);

param.setMinDelayWrite(100);

com4.sendString("AT\r");
com4.sendString("AT+CMGF=1\r");
com4.sendString("AT+CMGS=\"0987632246\"\r");
com4.sendString("holaxx"+'\u001a');

System.out.println("SMS ENVIADO ");


param.setMinDelayRead(100);

String caracter="";
String recibido="";
while(caracter != null){
caracter =com4.receiveSingleString();
recibido += caracter;

System.out.println(caracter);

}

com4.close();
......

El modem queda a la espera del mensaje a enviar pero al hacer eso devuelve error...

que puede ser...pienso que podría ser el numero a enviar el mensaje pero no lo he podido comprobar...
Agradezco la ayuda que me puedan dar...