• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Буфер для GET запросов

0x0

New member
Здравствуйте. Есть код отправляющий GET запрос с данными из UART. В месте, где стоит модуль, плохая Wi-Fi связь и часто запросы теряются. Нужен какой-то буфер. Прошу помочь с решением. Модуль ESP32 16 Мб.
Код:
void SendGET(String reciv){   //Функция отправки get запроса на сервер
  if(WiFi.status()== WL_CONNECTED){
    HTTPClient http;
    
    String serverPath = serverName + reciv;  //URL-адрес
    http.begin(serverPath.c_str());
      
    //Отправка HTTP GET запроса
    int httpResponseCode = http.GET();

    if (httpResponseCode>0) {
      Serial.print("Код ответа HTTP: ");
      Serial.println(httpResponseCode);
      String payload = http.getString();
      Serial.println(payload);
      Serial.println();
    } else {
      Serial.print("Код ошибки: ");
      Serial.println(httpResponseCode);
    }
    // Освобождаем ресурсы
    http.end();
  }
  else {
    Serial.println("Нет подключения к Wi-Fi сети");
  }
}
 

CodeNameHawk

Moderator
Команда форума
в UART порт придут новые данные и будут теряться уже они?
В уарт скажите, я не готов принимать новые данные.
Буфер тоже не спасение, заполниться он и данные потеряются.
Что бы не терялись данные, передаваться они должны быстрее, чем поступают новые данные.
 
Последнее редактирование:

0x0

New member
Как часто в uart порт приходят данные?
Каждые 5-6 секунд. Wi-Fi теряется на 10-15.
В уарт скажите, я не готов принимать новые данные.
Буфер тоже не спасение, заполниться он и данные потеряются.
Что бы не терялись данные, передаваться они должны быстрее, чем поступают новые данные.
Да, вы правы про переполнение. Про UART не совсем понял какой стороне это сказать и как. Принимающей или передающей? У передающей нет такой команды.
 
Сверху Снизу