Problem to delete the messages from gsm A7076C module

  • try 1- code
#include <HardwareSerial.h>
#if defined(CONFIG_IDF_TARGET_ESP32) 
    #define mySerial Serial2
#elif defined(CONFIG_IDF_TARGET_ESP32S2)
    #define mySerial Serial1
#elif defined(CONFIG_IDF_TARGET_ESP32S3)
   #define mySerial Serial2
#endif
char msg;

void setup() 
{
  Serial.begin(115200);
  delay(500);
  
  #if defined(CONFIG_IDF_TARGET_ESP32) 
    mySerial.begin(115200);
 #elif defined(CONFIG_IDF_TARGET_ESP32S2)
    mySerial.begin(115200);
 #elif defined(CONFIG_IDF_TARGET_ESP32S3)
   mySerial.begin(115200, SERIAL_8N1, 18, 17);
 #endif

 mySerial.println("AT+CMGF=1");
 delay(500);
  update_serial();
  mySerial.println("AT+CPMS=\"ME\"");
   delay(500);
  update_serial();
  //  mySerial.println("AT+CMGL=\"ALL\"");
  //  delay(500);
  // update_serial();
     mySerial.println("AT+CNMI=2,1,0,0,0"); // AT Command to receive a live SMS
  delay(1000);
  mySerial.println("AT+CMGD=1");
   delay(500);
  update_serial();
  mySerial.println("AT+CMGD=2");
   delay(500);
  update_serial();
  mySerial.println("AT+CMGD=3");
   delay(500);
  update_serial();
  mySerial.println("AT+CMGD=4");
   delay(500);
  update_serial();
  mySerial.println("AT+CMGD=5");
   delay(500);
  update_serial();
  mySerial.println("AT+CMGD=6");
   delay(500);
  update_serial();
  mySerial.println("AT+CMGD=7");
   delay(500);
  update_serial();
  mySerial.println("AT+CMGD=8");
   delay(500);
  update_serial();
  mySerial.println("AT+CMGD=9");
   delay(500);
  update_serial();
  mySerial.println("AT+CMGD=10");
   delay(500);
  update_serial();
}
void loop() 
{    
  update_serial();

}


 void update_serial()
{
    while (mySerial.available()) {
   
      msg=mySerial.read();
      Serial.print(msg); 
     
    }

}

  • try2-code
#include <HardwareSerial.h>
#if defined(CONFIG_IDF_TARGET_ESP32) 
    #define mySerial Serial2
#elif defined(CONFIG_IDF_TARGET_ESP32S2)
    #define mySerial Serial1
#elif defined(CONFIG_IDF_TARGET_ESP32S3)
   #define mySerial Serial2
#endif
char msg;

void setup() 
{
  Serial.begin(115200);
  delay(500);
  
  #if defined(CONFIG_IDF_TARGET_ESP32) 
    mySerial.begin(115200);
 #elif defined(CONFIG_IDF_TARGET_ESP32S2)
    mySerial.begin(115200);
 #elif defined(CONFIG_IDF_TARGET_ESP32S3)
   mySerial.begin(115200, SERIAL_8N1, 18, 17);
 #endif

 mySerial.println("AT+CMGF=1");
 delay(500);
  update_serial();
  mySerial.println("AT+CPMS=\"ME\"");
   delay(500);
  update_serial();
  //  mySerial.println("AT+CMGL=\"ALL\"");
  //  delay(500);
  // update_serial();
     mySerial.println("AT+CNMI=2,1,0,0,0"); // AT Command to receive a live SMS
  delay(1000);
  mySerial.println("AT+CMGD=1");
   delay(500);
  update_serial();
  mySerial.println("AT+CMGD=2");
   delay(500);
  update_serial();
  mySerial.println("AT+CMGD=3");
   delay(500);
  update_serial();
  mySerial.println("AT+CMGD=4");
   delay(500);
  update_serial();
  mySerial.println("AT+CMGD=5");
   delay(500);
  update_serial();
  mySerial.println("AT+CMGD=6");
   delay(500);
  update_serial();
  mySerial.println("AT+CMGD=7");
   delay(500);
  update_serial();
  mySerial.println("AT+CMGD=8");
   delay(500);
  update_serial();
  mySerial.println("AT+CMGD=9");
   delay(500);
  update_serial();
  mySerial.println("AT+CMGD=10");
   delay(500);
  update_serial();
}
void loop() 
{    
  update_serial();

}


 void update_serial()
{
    while (mySerial.available()) {
   
      msg=mySerial.read();
      Serial.print(msg); 
     
    }

}
  • try 3 -code
#include <HardwareSerial.h>
#if defined(CONFIG_IDF_TARGET_ESP32) 
    #define mySerial Serial2
#elif defined(CONFIG_IDF_TARGET_ESP32S2)
    #define mySerial Serial1
#elif defined(CONFIG_IDF_TARGET_ESP32S3)
   #define mySerial Serial2
#endif
char msg;

void setup() 
{
  Serial.begin(115200);
  delay(500);
  
  #if defined(CONFIG_IDF_TARGET_ESP32) 
    mySerial.begin(115200);
 #elif defined(CONFIG_IDF_TARGET_ESP32S2)
    mySerial.begin(115200);
 #elif defined(CONFIG_IDF_TARGET_ESP32S3)
   mySerial.begin(115200, SERIAL_8N1, 18, 17);
 #endif

 mySerial.println("AT+CMGF=1");
 delay(500);
  update_serial();
  mySerial.println("AT+CPMS=\"ME\"");
   delay(500);
  update_serial();

     mySerial.println("AT+CNMI=2,1,0,0,0"); // AT Command to receive a live SMS
  delay(1000);
  mySerial.println("AT+CMGD=,4");
   delay(500);
  update_serial();

   delay(500);
  update_serial();
}
void loop() 
{    
  update_serial();

}


 void update_serial()
{
    while (mySerial.available()) {
   
      msg=mySerial.read();
      Serial.print(msg); 
     
    }

}

nothing was working
help please!!!!!!!!!! :face_holding_back_tears:

what's your arduino?

I am using esp32 with arduino IDE

how is your GSM connected and powered ?

try this code

void setup() {
  Serial.begin(115200);
  Serial2.begin(115200);
  while (!Serial) yield();
  Serial.println("Type AT commands (ensure CR/LF is selected in the serial monitor");
}
void loop() {
  while (Serial.available())  Serial2.write(Serial.read());
  while (Serial2.available())  Serial.write(Serial2.read());
}

open the Serial monitor at 115200 bauds, ensure CR/LF is selected as end of line and type AT to send that command to the GSM.
do you see an OK back ?

GSM tx and Rx connected to esp32 Rx and tx respectively and ground are common .
powered by external 3.3 volts its ground is common with other grounds

what is CR/LF

Carriage Return and Line Feed
you select that next to the baud rate (that has to be 115200) in the Serial monitor

i got the output from gsm "ok" but message not deleted

also i am not able to read the message from preferred storage

#include <HardwareSerial.h>
#if defined(CONFIG_IDF_TARGET_ESP32) 
    #define mySerial Serial2
#elif defined(CONFIG_IDF_TARGET_ESP32S2)
    #define mySerial Serial1
#elif defined(CONFIG_IDF_TARGET_ESP32S3)
   #define mySerial Serial2
#endif
char msg;

void setup() 
{
  Serial.begin(115200);
  delay(500);
  
  #if defined(CONFIG_IDF_TARGET_ESP32) 
    mySerial.begin(115200);
 #elif defined(CONFIG_IDF_TARGET_ESP32S2)
    mySerial.begin(115200);
 #elif defined(CONFIG_IDF_TARGET_ESP32S3)
   mySerial.begin(115200, SERIAL_8N1, 18, 17);
 #endif

 mySerial.println("AT+CMGF=1");
 delay(500);
  update_serial();
  // mySerial.println("AT+CPMS=\"ME\"");
  //  delay(500);
  // update_serial();

     mySerial.println("AT+CNMI=2,1,0,0,0"); // AT Command to receive a live SMS
  delay(1000);
  update_serial();
    mySerial.println("AT+CPMS=\"ME\"");
   delay(500);
  update_serial();
   mySerial.println("AT+CMGR=3");
   delay(1000);
  update_serial();
  mySerial.println("AT+CSDH=0");
   delay(1000);
  update_serial();
}
void loop() 
{    
  update_serial();

}


 void update_serial()
{
    while (mySerial.available()) {
   
      msg=mySerial.read();
      Serial.print(msg); 
     
    }

}

ouput
AT+CMGF=1

OK

AT+CNMI=2,1,0,0,0

OK

AT+CPMS="ME"

+CPMS: 0,180,3,10,3,10

OK

AT+CMGR=3

OK

AT+CSDH=0

OK


delete the message from preferred storage

#include <HardwareSerial.h>
#if defined(CONFIG_IDF_TARGET_ESP32) 
    #define mySerial Serial2
#elif defined(CONFIG_IDF_TARGET_ESP32S2)
    #define mySerial Serial1
#elif defined(CONFIG_IDF_TARGET_ESP32S3)
   #define mySerial Serial2
#endif
char msg;

void setup() 
{
  Serial.begin(115200);
  delay(500);
  
  #if defined(CONFIG_IDF_TARGET_ESP32) 
    mySerial.begin(115200);
 #elif defined(CONFIG_IDF_TARGET_ESP32S2)
    mySerial.begin(115200);
 #elif defined(CONFIG_IDF_TARGET_ESP32S3)
   mySerial.begin(115200, SERIAL_8N1, 18, 17);
 #endif

 mySerial.println("AT+CMGF=1");
 delay(500);
  update_serial();
  // mySerial.println("AT+CPMS=\"ME\"");
  //  delay(500);
  // update_serial();

     mySerial.println("AT+CNMI=2,1,0,0,0"); // AT Command to receive a live SMS
  delay(1000);
  update_serial();
    mySerial.println("AT+CPMS=\"ME\"");
   delay(500);
  update_serial();
   mySerial.println("AT+CMGR=3");
   delay(1000);
  update_serial();
  mySerial.println("AT+CMGD=3");
   delay(1000);
  update_serial();
}
void loop() 
{    
  update_serial();

}


 void update_serial()
{
    while (mySerial.available()) {
   
      msg=mySerial.read();
      Serial.print(msg); 
     
    }

}

AT+CMGF=1

OK

AT+CNMI=2,1,0,0,0

OK

AT+CPMS="ME"

+CPMS: 0,180,3,10,3,10

OK

AT+CMGR=3

OK

AT+CMGD=3

OK

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