SIM A9G: +CME ERROR: 53 failure

Я использую SIM-карту A9G. Когда я отправляю команду HTTP GET с последовательного монитора, он отвечает. Но это не работает, когда включено в код.

#include <SoftwareSerial.h>
SoftwareSerial myserial(8, 7); // RX: 8, TX:7

void setup()
{
//  Wire.begin(I2C_SLAVE_ADDRESS);
  Serial.begin(19200);
  myserial.begin(19200);    // 9600, 19200, 38400, 57600, 74880, 115200
  
//  ET.begin(details(mydata), &Wire);
  Serial.println("JSON Initializing...");
  Serial.println("GPRS Starting..........");

//  myserial.listen();
  myserial.println("AT");
  delay(500);

  myserial.println("AT+CREG=?");     //Check Network regiistration, wait a while
  delay(1000);
  ShowSerialData();

  myserial.println("AT+CCID");  //Specify the connection type
  delay(1000);
  ShowSerialData();

  myserial.println("AT+CGATT=1");
  delay(2000);
  ShowSerialData();

  myserial.println("AT+CGDCONT=1,\"IP\",\"web.gprs.mtnnigeria.net\"");//Specify the APN
  delay(2000);
  ShowSerialData();

  delay(2000);
}
 
void loop()
{
  myserial.println("AT+CGATT=1");
  delay(2000);
  ShowSerialData();

  myserial.println("AT+CGACT=1,1");
  delay(2000);
  ShowSerialData();

  myserial.println("AT+HTTPGET=\"https://postman-echo.com/get?foo1=bar1&foo2=bar2\"");
  delay(5000);
  ShowSerialData();

  myserial.println("AT+CCLK?");
  delay(1000);
  ShowSerialData();

  delay(3000);
}

 
void ShowSerialData()
{
  while (myserial.available() != 0)
  {
    Serial.write(myserial.read());
    //delay(50);
  }
}

Вывод на последовательном мониторе выглядит следующим образом:

+CGATT:1

OK
AT+CGACT=1,1

OK
E⸮⸮T⸮OZ⸮y:/⸮͵*⸮⸮⸮m/⸮⸮⸮⸮⸮=bar1&foo2=bar2"

+CME ERROR: 53
failure, pelase check your network or certificate!

AT+CCLK?

+CCLK: "21/02/22,18:19:43+01"

OK

, 👍1

Обсуждение

начните со скетча серийного примера программного обеспечения Arduino, @jsotola

Модуль A9G также поддерживает запрос https... По какой-то другой причине вы получаете эту ошибку... Кстати, я попробовал тот же сервер, чтобы получить данные, работает нормально.., @Sumit Chatterjee

У меня HTTPS работал первые 7 или 8 раз, после чего произошел сбой. @sumit chatterjee, у вас он работает постоянно?, @krish


3 ответа


1

Вы должны использовать эту последовательность.

ПРИ+CREG=? В+CCID ПРИ+CGATT=1 AT+CGDCONT=1,"IP","ba.amx" ПРИ+CGACT=1,1

,

Некоторое объяснение того, почему это может быть полезно., @timemage

я могу подтвердить, что это работает. Я тестировал свой Maduino, который не подключался к серверу и не отправлял HTTP-запрос на получение., @RICCARDO PETRACCI


0

модуль a9g не поддерживает протокол https, попробуйте использовать другой сервер, использующий протокол http

,

Ссылки на некоторую вспомогательную документацию в поддержку вашего утверждения значительно улучшат ваш ответ., @sempaiscuba


0

Модуль A9G также поддерживает HTTPS-запрос... По какой-то другой причине вы получаете эту ошибку... БКЗ, я пытался получить данные с того же сервера, все работает нормально...

,

Это не дает ответа на вопрос. Когда у вас будет достаточно [репутации](https://arduino.stackexchange.com/help/whats-reputation), вы сможете [комментировать любой пост](https://arduino.stackexchange.com/help/privivations/ комментарий); вместо этого [дайте ответы, которые не требуют пояснений от спрашивающего](https://meta.stackexchange.com/questions/214173/why-do-i-need-50-reputation-to-comment-what-can- я-делаю-вместо). - [Из обзора](/review/low-quality-posts/69714), @sempaiscuba

Пожалуйста, разверните то, что вы здесь написали. Он краток и не соответствует стандартам качества ответов на этом сайте. Расширьте свой ответ, углубившись в детали., @sa_leinad

Для меня HTTPS работает первые 7 или 8 раз, после этого он терпит неудачу .. @sumit chatterjee для вас он работает постоянно?, @krish