AT+CSTT выдает ошибку

Я получаю сообщение об ошибке

AT+CSTT="TATA.DOCOMO.INTERNET","",""

Что мне здесь не хватает?

Код

void setup() {
  // Открытие последовательной связи и ожидание открытия порта:
  Serial.begin(9600);
  while (!Serial) {
    ;
  }
  Serial.println("Goodnight moon!");
  // устанавливаем скорость передачи данных для порта SoftwareSerial
  mySerial.begin(9600);
  mySerial.println("Hello, world?");
  delay(3000);
  Serial.println("AT+CGATT=1");
  delay(500);
  Serial.println("AT+CGDCONT=1,\"IP\",\"TATA.DOCOMO.INTERNET\"");
  delay(500);
  Serial.println("AT+CDNSCFG=\"4.4.4.4\",\"8.8.8.8\"");
  delay(1000);
  Serial.println("AT+CSTT=\"TATA.DOCOMO.INTERNET\",\"\",\"\"");
  delay(2000);
  Serial.println("AT+CIICR");
  delay(5000);
  Serial.println("AT+CIFSR");
  delay(500);
  Serial.println("AT+CIPSTATUS");
  delay(500);
  Serial.println("AT+CDNSORIP=1");
  delay(500);
  Serial.println("AT+CIPSTART=\"TCP\",\"www.google.com\",\"80\"");
  delay(500);
  Serial.println("AT+CIPSEND");
  delay(500);
  Serial.println("AT");
}

void loop() {
  // запускаем снова и снова
  if (mySerial.available())
    Serial.write(mySerial.read());
  if (Serial.available())
    mySerial.write(Serial.read());
}

Результат

AT+CGATT=1

OK
AT+CGDCONT=1,"IP","TATA.DOCOMO.INTERNET"

OK
AT+CDNSCFG="4.4.4.4","8.8.8.8"

OK
AT+CSTT="TATA.DOCOMO.INTERNET","",""

ERROR
AT+CIICR

ERROR
AT+CIFSR

ERROR
AT+CIPSTATUS

OK

STATE: IP IND
AT+CDNSORIP=1

OK
AT+CIPSTART="TCP","www.google.com","80"

ERROR
AT+CIPSEND

ERROR
AT

OK

Дополнение

SoftwareSerial mySerial(10, 11); // RX, TX

, 👍0

Обсуждение

Не могли бы вы объяснить, что такое mySerial и к какой цепи он подключен? Просто часть кода не предоставит достаточно информации для анализа вашей проблемы., @jfpoilpret


4 ответа


0

Попробуйте AT+CSTT="TATA.DOCOMO.INTERNET"

,

пробовал, не получилось\, @Siddharth

Что возвращает at+cstt=??, @geometrikal

Просто "ОШИБКА", как упоминалось в вопросе выше., @Siddharth

Я имею в виду, что возвращает точная строка AT+CSTT=?? Кроме того, что возвращает AT+CSTT??, @geometrikal

Извините, AT+CSTT="TATA.DOCOMO.INTERNET","","", @Siddharth

Эммм, каков ответ на AT+CGDCONT? и AT+CGACT?. Можно попробовать добавить AT+CGACT=1,1 после AT+CGDCONT=..., @geometrikal


1

Извините за опоздание Сиддхарт,

попытаться получить ответ только от at+cstt=? Он возвращает синтаксис exec, и, следуя ему, вы можете создать свой фрейм at+cstt

некоторые пункты ниже могут помочь

//Профиль соединения TCP AT+CSTT?

+CSTT: "CMNET","",""

OK APN->"CMNET"

ПОЛЬЗОВАТЕЛЬ->""

ПАРОЛЬ->""

и

AT+CSTT="CMNET"

ОК

at+cstt=?

+CSTT: "APN","USER","PWD"

ОК

Это может вам помочь

с уважением

,

Давно прошли мимо этого проекта. Отчитаюсь после того, как попробую. Спасибо за ваш вклад., @Siddharth


2

Для тех, кто попадает сюда по результатам поиска

Перед применением команды AT+CSTT проверьте, подключен ли модем к GPRS, с помощью команды AT+CGATT=?. Если результат +CGATT: 0, это означает, что модем не подключен, поэтому подключите модем с помощью команды AT+CGATT=1.

Это решит проблему, как это было в моем случае. Даже применение AT+CIPCLOSE=0 и AT+CIPSHUT не помогло, пока я не проверил, что результат AT+CGATT=? был возвращает +CGATT: 0 и применяет AT+CGATT=1.

,

AT+CGATT?, а не AT+CGATT=?, @zhekaus


0

В большинстве случаев проблема заключается в низком балансе и настройках аккаунта. Как я вижу, у тебя все в порядке.

AT+CGATT=1
AT+CSTT="TATA.DOCOMO.INTERNET","",""

Также проверьте логин/пароль! Здесь, в моей стране, не принято иметь пустые учетные данные.

,