Ошибка +HTTPACTION:0,302,0 Arduino Uno, GSM модуль SIM900

Viktor_Golubov
Offline
Зарегистрирован: 16.07.2019

Постоянно возникает такая ошибка при выполнении GET-запроса

+HTTPACTION:0,302,0
 
Если я правильно понял, то это означает перенаправление. Должно прийти "Location", в котором содержится ссылка, куда будет перенаправляться, но вывод пустой. Такая ошибка возникает при подключении к любому сайту. Денег на сим карте достаточно, с телефона интернет есть, раздача через режим "Модем" тоже есть.
Оператор связи Мегафон. Настраивал другой такой же модуль, с другой сим картой, но тоже Мегафон и никаких проблем не было. Запускаю тот же самый скетч и появляются ошибки.
Куда копать? В чем может быть ошибка?
 
 
Скетч
#include <GPRS_Shield_Arduino.h>
#include <SPI.h>
#include <SoftwareSerial.h>

SoftwareSerial mySerial(7,8);
GPRS gprs(mySerial);
String val ="";
int ch = 0;

String ReadGSM() {  //функция чтения данных от GSM модуля
  int c;
  String v;
  while (mySerial.available()) {  //сохраняем входную строку в переменную v
    c = mySerial.read();
    v += char(c);
  }
  return v;
}
 
 
void setup()
{

  Serial.begin(9600);
  Serial.println("Initialization...");
  mySerial.begin(9600);
  while(!gprs.init()){
    delay(1000);
    Serial.print("GPRS Init error\r\n");
  }
  Serial.println("GPRS init success");
  mySerial.println("AT+SAPBR=3,1,\"CONTYPE\",\"GPRS\""); 
  delay(500);
  Serial.println(ReadGSM());
  delay(500);
  mySerial.println("AT+SAPBR=3,1,\"APN\",\"internet\""); 
  delay(500);
  Serial.println(ReadGSM());
  delay(500);
  mySerial.println("AT+SAPBR=3,1,\"USER\",\"gdata\"");
  delay(500);
  Serial.println(ReadGSM());
  delay(500);
  mySerial.println("AT+SAPBR=3,1,\"PWD\",\"gdata\"");
  delay(500);
  Serial.println(ReadGSM());
  delay(500);
  mySerial.println("AT+SAPBR=1,1");
  delay(500);
  Serial.println(ReadGSM());
  delay(500);
  mySerial.println("AT+SAPBR=2,1");
  delay(500);
  Serial.println(ReadGSM());
  delay(500);
   mySerial.println("AT+SAPBR=2,1");
  delay(500);
  Serial.println(ReadGSM());
  delay(500);
  
      delay(500);
      mySerial.println("AT+CIPSTATUS");
      delay(500);
      mySerial.println(ReadGSM());
      delay(500);

  mySerial.println("AT+HTTPINIT");
  delay(500);
  Serial.println(ReadGSM());
  delay(500);
  mySerial.println("HTTPPARA=\"CID\",1");
  delay(500);
  Serial.println(ReadGSM());
  delay(500);
  mySerial.println("AT+HTTPPARA=\"URL\",\"www.google.com\"");
  delay(500);
  Serial.println(ReadGSM());
  delay(500);
  mySerial.println("AT+HTTPACTION=0");
  delay(500);
  Serial.println(ReadGSM());
  delay(2000);
  mySerial.println("AT+HTTPREAD");
  delay(500);
  Serial.println(ReadGSM());
  delay(500);
  mySerial.println("AT+SAPBR=0,1");
  delay(500);
  Serial.println(ReadGSM());
  delay(500);
}
 
void loop()
{
}

Полный вывод

Initialization...
GPRS init success
AT+SAPBR=3,1,"CONTYPE","GPRS"
 
OK
 
AT+SAPBR=3,1,"APN","internet"
 
OK
 
AT+SAPBR=3,1,"USER","gdata"
 
OK
 
AT+SAPBR=3,1,"PWD","gdata"
 
OK
 
AT+SAPBR=1,1
 
 
 
OK
AT+SAPBR=2,1
 
+SAPBR: 1,1,"100.119.145.128"
 
OK
 
AT+CIPSTATUS
 
OK
 
STATE: IP INITIAL
 
 
OK
 
STATE: IP IN
HTTPPARA="CID",1
 
AT+HTTPPARA="URL","www.google.com"
 
OK
 
AT+HTTPACTION=0
 
OK
 
AT+HTTPREAD
 
OK
 
+HTTPACTION:0,302,0
 
AT+SAPBR=0,1
 
OK

 

andycat
andycat аватар
Offline
Зарегистрирован: 07.09.2017

симку смените, уточните у оператора почему нет интернета, такое было - оператор перенаправляет на свой сайт, потому и код такой. Вставьте симку в обычный телефон и попробуйте сайт любой открыть.

Update: реально странно - вы точно уверены что поставив эту симку в телефон интернет будет?

Update2: уберите gdata в параметрах подключения

const char at21cmd[] PROGMEM = "AT+SAPBR=3,1,\"CONTYPE\",\"GPRS\"\r\n"; // gprs options
const char at22cmd[] PROGMEM = "AT+SAPBR=3,1,\"APN\",\"internet\"\r\n"; // gprs options
const char at23cmd[] PROGMEM = "AT+SAPBR=3,1,\"USER\",\"\"\r\n"; // gprs options
const char at24cmd[] PROGMEM = "AT+SAPBR=3,1,\"PWD\",\"\"\r\n"; // gprs options

 

Viktor_Golubov
Offline
Зарегистрирован: 16.07.2019

Ставил симку, смотрел видео с YouTube через мобильное приложение. Раздавал интернет и так же можно было смотреть видео. Т.е. все грузило

Viktor_Golubov
Offline
Зарегистрирован: 16.07.2019

Попробую убрать, спасибо за совет

andycat
andycat аватар
Offline
Зарегистрирован: 07.09.2017

Viktor_Golubov пишет:
смотрел видео с YouTube через мобильное приложение.

А просто странички открывались? яндекс, гугл, РБК рамблер? 

Viktor_Golubov
Offline
Зарегистрирован: 16.07.2019

Страницы открывать не пробовал. Я думал загрузки видео достаточно)

andycat
andycat аватар
Offline
Зарегистрирован: 07.09.2017

Зря вы так думаете.

Viktor_Golubov
Offline
Зарегистрирован: 16.07.2019

 Снова проверил интернет на телефоне. Подключался к сайтам, всё грузит, никаких проблем нет. Раздавал интернет и всё тоже работает. Убирал значения gdata, но ошибка так и осталась. Ничего не помогло

andycat
andycat аватар
Offline
Зарегистрирован: 07.09.2017

Viktor_Golubov пишет:

 Настраивал другой такой же модуль, с другой сим картой, но тоже Мегафон и никаких проблем не было. 

 

Версии прошивки сравнить. Если совпадают то какая то странная непереносимость данной конеретной СИМ карты.

Viktor_Golubov
Offline
Зарегистрирован: 16.07.2019

Поменялся сим картами с GSM модулями. Проблема оказалась в сим карте. Но это как то странно, ведь на телефоне интернет был

Viktor_Golubov
Offline
Зарегистрирован: 16.07.2019

Проблему решил сменой тарифа. Поставил тариф "Включайся!Пиши" Мегафон