Sim800L Проблемы с загрузкой, HTTPACTION возвращает 0, 302, 701
Я использую модуль Sim800L и GPS-модуль NEO6M в сочетании с Arduino nano для создания простого устройства слежения. Я получаю данные с GPS и пытаюсь загрузить их на свой сайт с помощью простых PHP-скриптов. Я использую этот код здесь:
//функция - которая отвечает за отправку данных на веб-сервер
void sendLocation(String lat, String lon){
Sim800l.listen();
//Строка ниже устанавливает URL-адрес, к которому мы хотим подключиться
Sim800l.println("AT+HTTPPARA=\"URL\", \"http://" + ipAddress + "/log_info.php?dev_id=13&lat=" + lat + "&lon=" + lon + "\"");
waitUntilResponse("OK");
//ИДТИ
Sim800l.println("AT+HTTPACTION=0");
waitUntilResponse("200");
Serial.println("Location sent");
gpsPort.listen();
}
К сожалению, когда я пытаюсь использовать этот код, в моем последовательном мониторе появляется следующее сообщение:
AT+HTTPACTION=0
OK
+HTTPACTION: 0,302,171
error
Я посмотрел в даташите на Sim800L, и цифра 302 означает "Найдено". Я ожидаю число 200 для "ОК". Я понятия не имею, что я сделал не так, по какой-то причине данные не отправляются на веб-сервер. Я надеюсь, что вы можете помочь. Заранее спасибо!
ИЗМЕНИТЬ: Даташит со всеми ошибками для Sim800L https://www.elecrow.com/wiki/images/2/20/SIM800_Series_AT_Command_Manual_V1. 09.pdf
@Berne Gerrits, 👍0
Обсуждение1 ответ
Лучший ответ:
302 — это HTTP-код, возвращаемый сервером. Используется для переадресации. Распечатайте ответ с помощью AT+HTTPREAD, чтобы увидеть, куда он перенаправляется.
- vk2828u7g5lf GPS модуль над SoftwareSerial
- Arduino часто зависает
- Как получить доступ к местоположению GPS без интернета
- Обновление GPS через каждые 30 секунд с помощью NeoGPS и NeoSWSerial Libray
- Нет данных GPS Neo 6M DFRduino Nano
- DFRobot GSM / GPS shield с ошибкой UNO init
- Задержка в веб-сокете
- Получение «Открыть сбой питания GPS» на модуле SIM808
302 — это HTTP-код, возвращаемый сервером. он используется для перенаправления. попробуйте распечатать ответ с помощью HTTPREAD. наиболее распространенное перенаправление — на https на том же сервере. поддерживает ли сервер незащищенный доступ по http?, @Juraj
Сервер, который я использую, не поддерживает HTTPS. Но как мне использовать эту команду? AT+HTTPREAD=URL или что-то еще?, @Berne Gerrits
страница 261 в руководстве, @Juraj
Спасибо, сейчас попробую., @Berne Gerrits
Я немного новичок в этом, я думаю, что у меня неправильный синтаксис, но я не получаю никакого ответа, пытаясь выполнить эту команду., @Berne Gerrits
Я понял это, но HTTPREAD просто возвращает «1»., @Berne Gerrits
с какими параметрами вы запускали HTTPREAD?, @Juraj
HTTPREAD=0,1 В руководстве указана первая цифра для начального байта (я предполагал, что это будет байт 0?), а вторая - для длины байта., @Berne Gerrits
Вы просили одного персонажа., @Juraj
ооо... Это имеет смысл.. лол. Я должен просто сделать последний больше, верно? например 1024 или что-то в этом роде?, @Berne Gerrits
Я использовал 1024 сейчас, я действительно вижу, что он перенаправляется на https://www.t-mobile.nl/prepaid-data-pass, что странно, потому что у меня осталось 4 евро данных..., @Berne Gerrits
перенаправить на авторизованный портал для ввода пароля перед использованием сети, @Juraj
Спасибо, я полный идиот. большое спасибо!, @Berne Gerrits