Enviar SMS SIM800l y SIM900

Enviar SMS SIM800l y SIM900

Si buscas cómo enviar SMS sim800l y sim900 debes tener en cuenta que para utilizar estos módulos necesitarás un arduino. Aquí te explicamos cómo hacerlo en unos pocos pasos.

Enviar SMS sim800l y sim 900

Dependiendo el módulo también dependerá el procedimiento. 

Sim800L

Funciona para enviar mensajes de texto, hacer llamadas y para enviar y recibir datos GPRS.

Necesitarás:

Materiales:

  • Arduino UNO
  • Modulo SIM800L
  • 2 protos 170 puntos
  • Cables macho macho de 10cm

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

¿Cómo se lleva a cabo el desarrollo?

Para poder enviar un SMS a un número en particular, es indispensable hacer un configuración del módulo.

Esto se lleva a cabo utilizando comandos AT específicos como:

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.

Código Sim800L

#include <SoftwareSerial.h>

#define Gsm_tx 2

#define Gsm_rx 3

SoftwareSerial MOD_SIM800L(Gsm_tx, Gsm_rx);

String Numero_cliente = “3334874861”;

void setup()

{

  Serial.begin(9600);

  MOD_SIM800L.begin(115200);

  Enviar_msj(Numero_cliente, “Inicializacion completa”);

}

void loop()

{

}

void Enviar_msj(String numero, String msj)

{

  //Se establece el formato de SMS en ASCII

  String config_numero = “AT+CMGS=\”+52” + numero + “\”\r\n”;

  Serial.println(config_numero);

  //configurar modulo como modo SMS

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

  delay(1000);

  //Enviar comando para un nuevos SMS al numero establecido

  MOD_SIM800L.print(config_numero);

  delay(1000);

  //Enviar contenido del SMS

  MOD_SIM800L.print(msj);

  delay(1000);

  //Enviar Ctrl+Z

  MOD_SIM800L.write((char)26);

  delay(1000);

  Serial.println(“Mensaje enviado”);

}

Sim900

Esta tarjeta se basa en el módulo SIM900 y permite: Enviar y recibir llamadas, SMS y conectarnos a internet. Esto se logra a través de comandos AT y el arduino.

El módulo SIM900 opera en 4 bandas (850, 900, 1800, 1900 MHz), incluye un receptáculo estándar para la SIM de cualquier operadora de telefonía celular, un circuito MAX 232 con la interfaz RS232, la antena GSM y el conector para entrada de alimentación externa.

Para configurar el módulo para recibir mensajes de texto se hace por comandos AT y con estos pasos.

1. El comando ATEO que permite apagar el eco del módulo GSM.

2. El comando AT + CMGF = 1 permite convertir el modulo en modo de mensajes de texto.

3. El comando AT+CNMI=2,2,0,0,0 permite decir al módulo cuando tiene que enviar nuevos contenidos o datos al puerto serial.

Transmisión de mensajes de texto

1. Es indispensable tener el módulo configurado en modo de texto.

2. El comando AT+CMGS=”+593982832027″ permite al módulo SIM900 iniciar el envío del SMS hacia un número telefónico en particular.

3. Para enviar un SMS se debe especificar el fin del mensaje escribiendo el código ASCII ctrl+z o 26.

Código Sim900

#include <SoftwareSerial.h>

// Configure software serial port

SoftwareSerial SIM900(7, 8);

void setup() {

  // Initialize the SIM BOARD

  SIM900.begin(19200);

  // Give time to your GSM shield log on to network

  delay(20000);  

  // Send the SMS

  sendSMS();

}

void loop() {

}

void sendSMS() {

  // AT command to set SIM900 to SMS mode

  SIM900.print(“AT+CMGF=1\r”);

  delay(100);

  // REPLACE THE X’s WITH THE RECIPIENT’S MOBILE NUMBER

  // USE INTERNATIONAL FORMAT CODE FOR MOBILE NUMBERS

  SIM900.println(“AT + CMGS = \”+XXXXXXXXXXXX\””);

  delay(100);

  // REPLACE WITH YOUR OWN SMS MESSAGE CONTENT

  SIM900.println(“Mensaje a enviar.”);

  delay(100);

  // End AT command with a ^Z, ASCII code 26

  SIM900.println((char)26);

  delay(100);

  SIM900.println();

  // Give module time to send SMS

  delay(5000);

}

Siguiendo los pasos anteriores podrás enviar SMS SIM800l y SIM900 de forma exitosa.

Deja un comentario