@Suyano
Новичок

Проблема с HTTP OTA обновлением на ESP32, как серверу реагировать на GET запрос содержимого bin файла?

Добрый вечер!

Имею на руках WIFI плату на основе ESP32. Хочу реализовать функцию удаленного OTA обновления прошивки платы.
Для этого нашел специальную библиотеку "Update". Здесь есть пример, настроенный для скачивания bin файла прошивки с AWS облака (Амазон).

Вместо Амазона я хочу использовать свой WEB сайт, для этого я в нужный каталог загрузил bin файл прошивки, который успешно скачивается по ссылке. Далее вбил его в данный пример, указал имя файла и загрузил на ESP32. По итогу, в порту отладки получаю сообщение: "Client Timeout !". Если смотреть по коду, то данное сообщение выводится, если ESP32 успешно перешла по ссылке, сделала GET запрос:
// Get the contents of the bin file
    client.print(String("GET ") + bin + " HTTP/1.1\r\n" +
                 "Host: " + host + "\r\n" +
                 "Cache-Control: no-cache\r\n" +
                 "Connection: close\r\n\r\n");

И после, спустя некоторое время не получила ответ:
unsigned long timeout = millis();
    while (client.available() == 0) {
      if (millis() - timeout > 5000) {
        Serial.println("Client Timeout !");
        client.stop();
        return;
      }
    }

Структура ответа должна быть следующей:
Response Structure
        HTTP/1.1 200 OK
        x-amz-id-2: NVKxnU1aIQMmpGKhSwpCBh8y2JPbak18QLIfE+OiUDOos+7UftZKjtCFqrwsGOZRN5Zee0jpTd0=
        x-amz-request-id: 2D56B47560B764EC
        Date: Wed, 14 Jun 2017 03:33:59 GMT
        Last-Modified: Fri, 02 Jun 2017 14:50:11 GMT
        ETag: "d2afebbaaebc38cd669ce36727152af9"
        Accept-Ranges: bytes
        Content-Type: application/octet-stream
        Content-Length: 357280
        Server: AmazonS3

        {{BIN FILE CONTENTS}}


Вопрос, должен ли я что-то делать на стороне WEB сайта, чтобы клиент мог получить такой ответ?
  • Вопрос задан
  • 395 просмотров
Пригласить эксперта
Ответы на вопрос 1
@CHolfield
Попробуй браузером открыть этот урл и скачать бин файл
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы