Tutorial Módulos GSM/GPRS: Sim800l, Sim900 y A6. Configuración de Mensajes. Vídeo 14

Configuración de Mensajes


Materiales Utilizados:

- Modulo sim800l
- Tarjeta Arduino mega 2560
- Módulo tp4056 
- Sim card de Claro "para Colombia". Si esta en un país distinto, puedes probar con distintas sim card y ver con cual funciona bien.
- Batería de lipo o litio de 3.7 V.
- Resistencia de 220 ohmio y 1k ohmio.
- Led del color de su preferencia

Circuito

Para garantizar la alimentación del modulo sim800l, se utiliza la tarjeta tp4056 con dos baterías de tipo lipo recargables o puede ser de tipo litio de 3.7 V.

Circuito con el puerto de comunicación 1:

Circuito con el puerto de comunicación 0:

Comandos AT

El modulo sim800l se utiliza en muchas aplicaciones del internet de las cosas "IoT", mediante la funcionalidad del envió y recesión de mensajes, el cual permite hacer control de dispositivos mediante este medio. En este video tutorial se aprenderá a utilizar cuales son los comandos AT para realizar la configuración referente al envió y recesión de mensajes.

Los siguientes comandos al ser configurados, permiten visualizar los mensajes que recibe el módulo en dos formatos:

AT+CMGF=1, permite configurar la visualización de mensaje en formato texto.
AT+CMGF=0permite configurar la visualización de mensaje en formato PDU.

Cuando el sim800l recibe un mensaje, se tiene la opción de configurar si el mensaje se guarda en una posición X del dispositivo ó si se quiere visualizar inmediatamente llegue el mensaje, esta configuración se realiza con estos comandos AT:

AT+CNMI=2,1,0,0,0  --> Configura para que el mensaje se guarde en una posición X
AT+CNMI=2,2,0,0,0 --> Configura para que el mensaje se transmita al puerto serial del dispositivo

- Cuando se configura el módulo para almacenar los mensajes en una posición X, la manera como lo muestra es a través del siguiente comando:

+CMTI: "SM",1  donde SM indica que es un mensaje, y 1 es la posición donde queda guardado.

Para leer los mensajes guardados en una posición X del dispositivo, se pueden utilizar los siguiente comando:

AT+CMGR=X donde X es la posición donde se guarda el mensaje.
AT+CMGL="ALL" donde ALL indica que se van a leer todos los mensajes guardados. 
AT+CMGL="REC READ"  donde REC READ indica que se van a leer todos los mensajes.
AT+CMGL="REC UNREAD donde REC UNREAD indica que se van a leer mensajes no leídos.

Igualmente así como son leídos estos mensaje almacenado, también se pueden eliminar, y se realiza con los siguiente comandos:

AT+CMGD=X donde X es la posición del mensaje a eliminar.
AT+CMGD=1,4 donde 1,4 indica que se va eliminar todos los mensajes guardados.

- Si se configura para que el mensaje pase directo al puerto serial del dispositivo, se visualizará el mensaje inmediatamente llegue, con datos del número que lo envía, nombre del número "si esta registrado en la sim card que se está utilizando", fecha de envió y el respectivo mensaje. Por ejemplo:

+CMT: "313XXXXXXX","Sim800l","21/05/22,20:43:12-20"
Prueba

Para enviar un mensaje a través del módulo, se debe definir los siguiente parámetros:

- Definir el móvil al cual se va enviar el mensaje
AT+CMGS=+57313XXXXXXX donde +57313XXXXXXX es el número al cual se va enviar el mensaje, se puede enviar utilizando el código del país, en este ejemplo (+57) para Colombia, o solo basta con el número móvil 313XXXXXXX

- Establecer el mensaje
"Esto es una prueba para Diseño Electrónico A2P."

- Y por último escribir un "ctrl+z", que es el comando que envía el mensaje
0x1A

Por ejemplo, utilizando el IDE de Arduino:

Serial.println("Enviando mensaje...");
Serial.println("AT+CMGS=\"+57313XXXXXXX\"");
delay(500);
Serial.println("Esto es una prueba para Diseño Electrónico A2P.");
delay(1000);
Serial.write(0x1A); //ctrl+z
delay(2000);

Tips para realizar las pruebas

- Si no posee el modulo tp4056, puede realizar las pruebas solo con batería, utilice una, no es necesario tener las dos, tener en cuenta que debe estar cargada más del 50%.

- Se recomienda utilizar cables de conexión para la alimentacion del sim800l, con calibre más gruesos que los dupont, para garantizar la circulación de corriente de manera fluida.

- No se recomienda hacer las conexiones sobre protoboard, porque se crean falsos contactos que impide la circulación fluida de la corriente, en lo posible realice las conexiones con cables de un calibre grueso, especialmente los de la alimentación (Vcc GND), si es posible, soldar los cables.

- Si el sim800l no logra conectarse a la red con determinada sim card del operador móvil que esta utilizando, quítela y realice la prueba con la de otro operador disponible en su país o ciudad.

- Fijar la frecuencia del módulo en 115200 bps "Serial.begin(115200)" y "Serial1.begin(115200)", por lo que la mayoría de los módulos vienen configurado con esa frecuencia, si no le funciona con dicha frecuencia, ir modificando hasta encontrar la correcta.

- En el circuito, no olvidar la conexión en común de las tierras "GND" del Arduino Mega 2560, el modulo tp4056 y el modulo sim800l.

- Cuando se disponga a subir el código a la tarjeta de Arduino Mega, tener presente que la conexión con los pines de trasmisión TX1 y RX1, deben estar desconectado para que no se tenga error por conexión, luego conectar nuevamente para las pruebas. 

Códigos Fuentes Utilizados

En el siguiente enlace, puedes encontrar el repositorio con los códigos fuentes que se utilizaron en las pruebas.

Publicar un comentario

0 Comentarios