Omitir
Tienda de electrónica en México. Whatsapp. 33 26 13 22 69 Tel. (33) 20 16 51 95. Atención de Lunes a Viernes de 9:30am a 5:30pm.
Whatsapp. 33 26 13 22 69 Tel. (33) 20 16 51 95. Atención de Lunes a Viernes de 9:30am a 5:30pm.
¿Como mandar SMS desde arduino y SIM800L?

¿Como mandar SMS desde arduino y SIM800L?

El modulo sim800L sirve para mandar mensajes de texto (SMS), hacer llamadas, enviar y recibir datos GPRS (TCP/IP, HTTP).

Material

Especificaciones

  • Voltaje de Operación: 3.4V - 4.4V DC
  • Nivel Lógico de 3V a 5V
  • Consumo de corriente (máx): 500 mA
  • Consumo de corriente (modo de reposo): 0.7 mA
  • Interfaz: Serial UART
  • Quad-band 850/900/18
  • Velocidades de transmisión serial desde 1200bps hasta 115 200 bps
  • SIM: Micro SIM

Desarrollo

Para poder mandar un SMS a un numero especifico es necesario configurar el módulo. Para ello se utilizan comandos AT específicos. Los comandos más útiles son los siguientes.

Comandos AT

  • println("AT"); //Verifica que el modulo responda con OK.
  • println("ATI"); //Muestra la versión del modulo.
  • println("AT+CSQ"); // Calidad de la señal, 0-31.
  • println("AT+CBC"); // Regresa el status de la batería, % y voltaje.
  • println("AT+CMGF=1 "); //Activa el modo sms.

Diagrama de conexión

Nota: Cuando el sim800L se conecte a la red el led comenzara a parpadear lento. En cambio, si no tiene señal el led parpadea rápidamente.

Buscando señal. 

 

Conexión establecida.

Para poder mandar comandos AT vamos a crear simular un nuevo puerto serial utilizando la librería softwareserial.h

Por ese puerto mandaremos los comandos AT necesarios para mandar un msj. Vamos a crear una función para que mande msj, la función necesitara dos parámetros, el numero al que se le va a mandar el msj y claramente el mensaje que queramos mandar.

//prototipo de la función.

void Enviar_msj(String numero, String msj)

Mandar el comando para configurar el modulo para mandar msj:

MOD_SIM800L.write("AT+CMGF=1\r\n");

//Enviar comando para un nuevos SMS al número establecido

MOD_SIM800L.print(config_numero);

//Enviar contenido del SMS

MOD_SIM800L.print(msj);

Por ultimo para saber que el msj termino es ncesario mandar un ctrl+Z

//Enviar Ctrl+Z

MOD_SIM800L.write((char)26);

Ahora cada que se quiera mandar un msj solo basta con mandar llamar a la función que creamos:

Enviar_msj(“XXXXXXXXX”, "Inicializacion completa");

Donde las XXXXXXXXXX son el numero a 10 digitos del numero,

NOTA: es importante esta función solo es para mandar sms a números de MEXICO, para usarlos para números de otros países es necesario consultar la tabla de prefijos internacionales

REPOSITORIO GIT

Bibliografía

https://es.wikipedia.org/wiki/Anexo:Prefijos_telef%C3%B3nicos_mundiales

https://www.arduino.cc/en/Reference/SoftwareSerial

Articulo anterior ¿Como controlar un motor NEMA 17?
Siguiente articulo ¿Como usar analizador lógico con windows 10?

Deja un comentario

Los comentarios deben ser aprobados antes de aparecer

* Campo requerido