Enviar sms desde Java

Enviar sms desde Java

En el articulo anterior explique mi necesidad de realizar una comunicación serial en java para realizar esto que hoy te presento, enviar sms desde Java. Hoy te muestro que necesitas y como hacer para enviar sms desde Java mediante un modem gsm, comandos AT y codigo Java, ya sea para tus aplicaciones de escritorio o aplicaciones web. Hoy en dia darle a tus aplicaciones la facultad de enviar sms es algo necesario para que tu aplicación deje de ser un simple programa y se convierte en un completo sistema, bases de datos, envío de mails y ahora.. envío de sms a todos tus usuarios, vamos ya!

Requisitos para enviar sms desde Java

Lo primero que necesitamos para darle a nuestras aplicaciones la facultad de enviar sms es un modem.

En este ejemplo utilizamos un modem ZTE MF180 con la red Telcel en México para el envio de mensajes, fácilmente puedes utilizar otro de tu conveniencia.

También necesitamos saber que el envíos de sms desde java mediante el modem ZTE conectado a nuestro pc se lleva a cabo con el envío de comandos AT al modem, mas adelante veremos algunos comandos AT básicos para el envío de sms.

Por ultimo necesitamos saber como enviar estos comandos a nuestro modem, si tienes problemas con esto puedes leerte mi anterior articulo donde te explico como realizar una comunicacion serial en java.


¿Sabías que?

¿Necesitas aprender algo nuevo ? Ve a Udemy, busca el tema del que quieres aprender, selecciona el curso para ti y continua con tu aprendizaje.

Udemy

Nota: En caso de que cuentes con un modem igual al utilizado en este tutorial deberás conectarte al puerto com ZTE NMEA Device.

enviar-sms-desde-java-puertos-com

Comandos AT

El proceso para enviar sms desde java básicamente consisten en enviar una serie de comandos AT al modem mediante comunicación serial.

Básicamente necesitamos enviar..

AT
OK
AT+CMGF=1
OK
AT+CMGS="+4420000000"
> This message was delivery by sms in java.
+CMGS: 198
OK

Donde:

AT -> Saludamos al modem, util para saber si todo va bien.

OK -> Nos responde con un OK, podemos hablarle y nos entendera.

AT+CMGF=1 -> Le especificamos que enviaremos un sms modo texto.

OK -> Nos responde con un OK, ha entendido nuestro comando.

AT+CMGS=»+4420000000″ -> Especificamos el numero al que se enviara un sms.

> This message was delivery by sms in java. -> Escribimos el mensaje de texto a enviar.

Se ha enviado nuestro mensaje.

 

Aquí cabe mencionar que después de cada linea se debe enviar un enter, ya veremos como enviar esto en código, a excepción de la linea donde escribimos el mensaje de texto en donde no terminaremos la linea con un enter sino con un Ctrl+z, también veremos mas adelante como enviar esta combinación por código.

El código para enviar sms desde java mediante comandos AT es el siguiente:

 writeData("AT");
 writeData("\r\n");
 Thread.sleep(100);
 writeData("AT+CMGF=1");
 writeData("\r\n");
 Thread.sleep(100);
 writeData("AT+CMGS=\"4420000000\"");
 writeData("\r\n");
 Thread.sleep(100);
 writeData("This message was delivery by sms in java."+(char)26);

el método writeData es un método con el que mandamos la información al modem conectado a nuestra pc, seria el output.write(text.getBytes()); de flujo (si seguiste mi articulo anterior de comunicación serial lo entenderás).

Los enter los realizamos mandando \r\n y la combinación Ctrl+Z para terminar de escribir el contenido del sms se envía con (char)26.

Lo que resta es crear una aplicación en torno a este proceso o incluir esta funcionalidad en tus aplicaciones java.

Mas adelante veremos como leer mensajes, borrar mensajes, etc, etc.. todo el control de nuestro modem en nuestras aplicaciones.

enviar-sms-desde-java-res1

¿Quieres aprender mas? Compra en amazon el libro Java Como Programar a un precio economico.

Enviar sms desde Java

Clic para valorar esta información
[Total: 0 Promedio: 0]