Ардуино/ESP8266 Как предоставить пользователям обновленный скомпилированный код без использования Arduino IDE

У меня есть проект Arduino, использующий плату разработчика ESP8266.

Я хочу иметь возможность предоставлять пользователям обновления моего программного обеспечения в будущем, и я не хочу, чтобы им приходилось загружать код и Arduino IDE для этого.

Есть ли способ взять скомпилированный код из Arduino IDE и использовать другое программное обеспечение для загрузки скомпилированного кода на плату разработчика ESP8266?

, 👍2

Обсуждение

Есть подробная опция консоли (не помню, как она называется), которая при включении покажет вам, как программируется плата. Затем вы можете запустить эти команды вне Arduino IDE, чтобы получить тот же эффект., @101


1 ответ


Лучший ответ:

1

Я понял! Получив несколько комментариев, я решил остановиться на варианте Б.

Во-первых, для обоих вариантов вам необходимо:

  1. Использование интегрированной среды разработки Arduino
  2. В разделе "Скетч" вкладка; нажмите "Экспортировать скомпилированный двоичный файл", затем нажмите "Показать папку Sketch" (Здесь находится ваш файл .bin)

Вариант А. Использование приложения

  1. Загрузите код ESPEasyFlasher ниже.
  2. Возможно, вам придется открыть его в Visual Studio и скомпилировать самостоятельно.
  3. Убедитесь, что файл .bin и файл esptool.exe включены в папку bin/release или туда, где вы хотите иметь файл "FlashESP8266.exe" программа на постоянной основе.
  4. Запустите "FlashESP8266.exe" программа; выберите свой COM-порт, выберите bin-файл, выберите скорость загрузки, затем нажмите Flash.

Поэтому вам просто нужно убедиться, что у вашего пользователя есть;

  • Python установлен
  • Предоставьте им копию "FlashESP8266.exe"
  • Предоставьте им копию "esptool.exe"

Я не знаю, будет ли это работать точно так же для ESP32, поскольку я полагаю, что у них есть два файла .bin...

Ресурсы:

https://nerdiy.de/en/ Howto-esp8266-mit-dem-esptool-bin-dateien-unter-windows-flashen/

https://github.com/BattloXX/ESPEasyFlasher

Вариант Б — использование обновления OTA

3. Сначала вам нужно будет внедрить обновления OTA, как указал @StarCat. в комментариях.

4.Перейдите к URL-адресу, который вы внедрили.

5.Выберите файловую систему, выберите файл .bin.

6.Нажмите «Обновить файловую систему».

7.Это займет пару секунд или около того и должно быть обновлено!

Я могу подтвердить, что это работает, когда ваш ESP8266 настроен на размещение программной точки доступа.

Слава @StarCat.

Ресурсы:

https://arduino-esp8266.readthedocs.io/en/latest /ota_updates/readme.html#веб-браузер

,

Вы также можете использовать [ESP8266HTTPUpdateServer](https://arduino-esp8266.readthedocs.io/en/latest/ota_updates/readme.html#web-browser) в своем коде, чтобы позволить пользователю обновлять модуль разработки с помощью веб-браузера. браузер и файл .bin, который вы им предоставляете., @StarCat

Я бы использовал OTA, чтобы избежать необходимости в программном обеспечении. есть несколько примеров, встроенных в библиотеку, я не могу вспомнить, какой из них лучше. я бы использовал тот, где пользователь просматривает html-страницу, обслуживаемую esp, вместо того, чтобы полагаться на подключенный к Интернету push-сервер, который может быть подвержен полевым проблемам, которые представляет собой очень простая загрузка этого файла на эту опцию страницы., @dandavis