SIM800l linea de comandos AT

Buenas, son de Argentina, tengo un modulo SIM800l donde esta todo conectado y puedo mandar sms y hacer llamadas, pero no logro dos cosas, poder con los comandos AT ver los resultados en el Monitor Serie, ni un OK y tampoco puedo conectarme a la red por GRPS, tengo un chip de la empresa Personal, no es prepago de la que uso en mi celular, que podra ser?
Gracias

Creo que es mala idea desde el vamos haber comprado un modulo pensado para usar tarjeta GPRS de Personal/Movistar o Claro. Ya estan caducas o en vias de descontinuarse.
Si tienes un proyecto deberías ponerlo en marcha e ir pensando en un módulo 3G/4G minimo.
Sin embargo vi los precios en ML y estan muy caros. Asi que ... mi comentario creo que tiene poca validez pero de todos modos GPRS esta OUT.

Ahora vamos a tu problema.
Como no puedes imprimir nada, coloca lo que estas usando.
Si envias SMS entonces funciona. Deberías ver toda respuesta.

Hola Gracias por responder, tengo que emviar datos por GRPS a un servidor por eso me compre un modulo SIM800l, si puedo mandar sms asi como realizar una llamada, pero cuando pongo este codigo como cualquier otro que deba colocar un comando AT en el Monitor Serie, no me sale la respuesta

#include <SoftwareSerial.h>

byte PinSimTx = 2;
byte PinSimRx = 3;

SoftwareSerial sim(PinSimTx, PinSimRx);
void setup(){
  Serial.begin(9600);
  sim.begin(9600);
  delay(1000);
  Serial.println("Sending first AT command");  
  sim.println("AT"); //waiting for a single OK answer
  updateSerial();
  }
void loop(){
  updateSerial();
}
void updateSerial(){

  delay(500);

  while (Serial.available()){
    sim.write(Serial.read());
  }
  while (sim.available()){
    Serial.write(sim.read());
  }
}

Moderador:
Por favor, lee las Normas del foro y edita tu código/error usando etiquetas de código.
Ve a edición, luego selecciona todo el código que has publicado, lo cortas y click en </>


No sigas respondiendo sin antes editar tu código debidamente.

Hola Gracias por responder, tengo que emviar datos por GRPS a un servidor por eso me compre un modulo SIM800l, si puedo mandar sms asi como realizar una llamada, pero cuando pongo este codigo como cualquier otro que deba colocar un comando AT en el Monitor Serie, no me sale la respuesta

#include <SoftwareSerial.h>

byte PinSimTx = 2;
byte PinSimRx = 3;

SoftwareSerial sim(PinSimTx, PinSimRx);
void setup(){
Serial.begin(9600);
sim.begin(9600);
delay(1000);
Serial.println("Sending first AT command");
sim.println("AT"); //waiting for a single OK answer
updateSerial();
}
void loop(){
updateSerial();
}
void updateSerial(){

delay(500);

while (Serial.available()){
sim.write(Serial.read());
}
while (sim.available()){
Serial.write(sim.read());
}
}

Y con este codigo es el que manda perfectamente el sms, te cuento que el modulo sim800l lo estoy alimentando con 4.7 V y sobrados 2.2 A

#include <SoftwareSerial.h>
#define Gsm_tx 2
#define Gsm_rx 3

SoftwareSerial MOD_SIM800L(Gsm_tx, Gsm_rx);
String Numero_cliente = "342xxxxxxxx";

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=\"+54" + 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("Hola Mundooo");
  delay(1000);

  //Enviar Ctrl+Z
  MOD_SIM800L.write((char)26);
  delay(1000);
  Serial.println("Mensaje enviado");
  MOD_SIM800L.write("AT+CMGF=0\r\n");
}

Tienes el problema que no entiendes para que sirven setup() y loop()
setup() se usa para inicializar cosas, o sea algo que ocurre al arrancar el arduino.
loop() es lo que ejecuta las cosas por siempre.
Entonces si pones cosas en el setup() y luego esperas cambios estos ocurrirán inmediatamente como consecuencia del setup() pero si demoran algo mas, no pasará nada.
Todo tu código esta mal por esta razón.
Si envias un comando AT debe ser en el loop() y esperar su respuesta tmb en el loop. Idem con SMS y demás.
Quería hacerte una modificación pero apareció un problema en mi IDE.

Hola como estas? este es el codigo que uso para poder introducir los comandos AT

#include <SoftwareSerial.h>

SoftwareSerial mySerial(3, 2); // RX, TX

void setup()
{

Serial.begin(9600);
mySerial.begin(9600);

}

void loop() 
{
if (mySerial.available())
Serial.write(mySerial.read());

if (Serial.available())
{
while(Serial.available())
{
mySerial.write(Serial.read());
}
mySerial.println();
}
}

Supongo que este es el tutorial que estas probando

Revisa el código

void loop() {
  delay(500);
  while (Serial.available())    {
    mySerial.write(Serial.read()); //Forward what Serial received to Software Serial Port
  }
  while(mySerial.available())    {
    Serial.write(mySerial.read());  //Forward what Software Serial received to Serial Port
  }
}

Hola gracias por responder, no me devuelve ,de la manera que pruebe, los comandos at, de igual manera no creo tener en Santa Fe, capital, cobertura 2g asi que no creo que me sirva este modulo, y necesito madar datos a un servidor de esta manera, vere de conseguir algun modulo 3g/4g, lo curioso que puedo mandar sms

Porque el servicio de voz y SMS se manejan distinto a los datos, mientras la placa (o móvil) sea GSM, funcionan.
Los datos, en cambio, sí dependen de la generación de la red.
Seguramente ya no hay cobertura para 2G (y por eso no se conecta a la red de datos) pero SMS y llamadas funcionan igual porque la red, aunque sea 4G, sigue siendo GSM.

Saludos

Una cosa es probar algo especial que responda a la red de datos y otra es un simple AT con respuesta OK.
Dices que eso no funciona?

Claro no funciona, yo ncesito mandar una variable a un servidor, y la unica forma es por GRPS, el tema es el 2g en mi ciudad, y no eh podido conectarme al servidor, puse la APN de personal, user y pass y nada, por eso supongo que con 2g no anda

Definitivamente ya no hay cobertura 2G en Santa Fe, mirá

lo único en celeste es el agua... :smile:

Saludos

Con este modulo podre?
sim5300e
https://articulo.mercadolibre.com.ar/MLA-742805180-modem-3g-gsm-gprs-gps-sim5320e-5320e-con-antena-arduino-pic-_JM

En teoría si.

Saludos

En Aliexpress lo tienes a 38 USD si te dan los números con envio incluido tal vez sea mas convenientes 45 o 60 dias despues.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.