Ошибка +HTTPACTION:0,302,0 Arduino Uno, GSM модуль SIM900
- Войдите на сайт для отправки комментариев
Втр, 16/07/2019 - 18:03
Постоянно возникает такая ошибка при выполнении 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
симку смените, уточните у оператора почему нет интернета, такое было - оператор перенаправляет на свой сайт, потому и код такой. Вставьте симку в обычный телефон и попробуйте сайт любой открыть.
Update: реально странно - вы точно уверены что поставив эту симку в телефон интернет будет?
Update2: уберите gdata в параметрах подключения
Ставил симку, смотрел видео с YouTube через мобильное приложение. Раздавал интернет и так же можно было смотреть видео. Т.е. все грузило
Попробую убрать, спасибо за совет
А просто странички открывались? яндекс, гугл, РБК рамблер?
Страницы открывать не пробовал. Я думал загрузки видео достаточно)
Зря вы так думаете.
Снова проверил интернет на телефоне. Подключался к сайтам, всё грузит, никаких проблем нет. Раздавал интернет и всё тоже работает. Убирал значения gdata, но ошибка так и осталась. Ничего не помогло
Настраивал другой такой же модуль, с другой сим картой, но тоже Мегафон и никаких проблем не было.
Версии прошивки сравнить. Если совпадают то какая то странная непереносимость данной конеретной СИМ карты.
Поменялся сим картами с GSM модулями. Проблема оказалась в сим карте. Но это как то странно, ведь на телефоне интернет был
Проблему решил сменой тарифа. Поставил тариф "Включайся!Пиши" Мегафон