Introducción
El Servicio de Mensaje Cortos o SMS (por si sigla en Ingles Short Message Service) es un servicio que permite poder enviar y recibir mensajes de texto cortos entre teléfonos móviles o módems. A continuación se muestra como acceder a este servicio de manera simple por medio de comandos AT.
Enviar un SMS desde modem m95
Para enviar un SMS desde el modem M95 se deben ingresar los siguientes comandos AT:
1. AT+CMGF=1 // selecciona el formato del SMS el cual puede ser PDU o texto. Para este caso se selecciona modo texto.
Respuesta: OK
2. AT+CSCS=”GSM” // selecciona el set de caracteres utilizados por el modem para enviar el SMS. En esta caso se usa “GSM default alphabet”.
Respuesta: OK
3. AT+CMGS=”+56987627778″ // se envía el SMS ingresando el comando AT y el número de celular al cual se busca enviar el SMS.
Respuesta: > hola desde modem {1A} // para terminar envió de mensaje se debe enviar valor 0x1A (Ctrl-Z)
Respuesta: +CMGS: 0
OK
Recibir un mensaje SMS
Para recibir un mensaje SMS a través del modem M95 (mensaje URC) se deben ingresar los siguientes comandos AT:
1. +CMTI: “SM”,1 // El número 1 indica la posición de memoria en donde quedo almacenado este mensaje.
2. Para recuperar este mensaje se debe ingresar el comando:
AT+CMGR=1 // El número 1 es la posición de memoria desde donde se desea recupera el mensaje
Respuesta: +CMGR: “REC UNREAD”,”+56987627778″,””,”2015/10/19 19:28:26+00″{0D}{0A}Hola desde iPhone{0D}{0A}{0D}{0A}OK
Del mismo modo podemos leer y tomar otro mensaje:
a. +CMTI: “SM”,2
b. AT+CMGR=2
Respuesta: CMGR: “REC UNREAD”,”+56987627778″,””,”2015/10/19 19:39:03+00″{0D}{0A}Hola desde iphone2{0D}{0A}{0D}{0A}OK
Borrar los mensajes desde la memoria
Como con el comando AT+CMGF=1 se seleccionó modo de texto, para poder borrar un mensaje SMS se debe tener en cuenta la siguiente tabla:
- “DEL READ” Delete all read messages
- “DEL UNREAD” Delete all unread messages
- “DEL SENT” Delete all sent SMS
- “DEL UNSENT” Delete all unsent SMS
- “DEL INBOX” Delete all received SMS
- “DEL ALL” Delete all SMS
A continuación se mostrara un ejemplo de cómo borrar todos los mensajes en memoria:
1. AT+QMGDA=”DEL READ” // Borrar todos los mensajes leídos.
Respuesta: OK
2. Si se vuelven a ejecutar los comandos para leer desde las posiciones de memoria 1 y 2:
- AT+CMGR=1
Respuesta: OK
- AT+CMGR=2
Respuesta: OK