Как я могу запустить свое приложение через Интернет на esp32?

#freertos #ota #esp32

#freertos #ota #esp32

Вопрос:

Я пытаюсь запустить демонстрационный код esp 32 для встроенного ota-обновления, которое отлично работает для ota-обновления локального сервера, я хочу знать, какие интернет-серверы предоставляют бесплатную платформу для ota-обновления.

Я попробовал собственный пример кода, который отлично работает.

Ответ №1:

При выполнении OTA-обновления на ESP32 все, что вы на самом деле делаете, это отправляете запрос GET на любой сервер, на который вы указываете структуру конфигурации OTA-клиента. В примере simple_ota_example из каталога IDF examples у вас есть:

  esp_http_client_config_t config = {
    .url = CONFIG_FIRMWARE_UPGRADE_URL,
    .cert_pem = (char *)server_cert_pem_start,
    .event_handler = _http_event_handler,
};
  

Примерное значение, которое они дают для CONFIG_GIRMWARE_UPGRADE_URL здесь, является
https://192.168.0.3:8070/hello-world.bin.

Вы могли бы, например, использовать Amazon Web Services для размещения ваших файлов прошивки, как это делаю я. Затем вы просто меняете 192.168.0.3 на IP-адрес (или имя хоста) сервера AWS, который вы используете. Измените 8070 на порт, для использования которого настроен сервер. Затем измените hello-world.bin на /path /на/your/firmware.bin. Вам также нужно будет изменить встроенный корневой сертификат CA в прошивке, чтобы использовать сертификат Amazon (или любой другой службы хостинга, которую вы используете).

Многие службы хостинга имеют бесплатные уровни, которые могут подойти вам, если вы только тестируете OTA-обновления или используете их нечасто. Я полагаю, что у Amazon есть бесплатный уровень, возможно, у Google тоже.

Если вы планируете использовать это для производственного устройства, которым пользуются клиенты, вам, скорее всего, придется заплатить за хостинг. Вам придется принять во внимание еще много аспектов, таких как безопасность и масштабируемость.

Комментарии:

1. Спасибо @EGibson за вашу помощь 🙂

2. Рад помочь, @DhananjaySutariya!