Ошибка +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 модулями. Проблема оказалась в сим карте. Но это как то странно, ведь на телефоне интернет был
Проблему решил сменой тарифа. Поставил тариф "Включайся!Пиши" Мегафон