Библиотечная проблема с ArduinoOTA для MKR1400GSM
В течение последних лет я использовал ArduinoOTA вместе с ArduinoHttpClient на MKR1400 для обновления корзины на лету с удаленного веб-сервера.
Даже без официальной поддержки ArduinoOTA GSM он работал как шарм. Все, что потребовалось, это добавить условие в ArduinoOTA.h, чтобы принять MGRGSM (спасибо Juraj) и немного поиграть с кодом, чтобы обеспечить успешную работу:
#elif defined(_MKRGSM_H_INCLUDED)
ArduinoOTAClass <GSMServer, GSMClient> ArduinoOTA;
К сожалению, на днях я пошел дальше и обновил библиотеки IDE без предварительного резервного копирования, и теперь я потерял возможность успешно выполнять OTA.
То, что я сделал до сих пор, - это отступить с версиями библиотек и проверить даты обновлений библиотеки (я нашел момент времени, когда знал, что скомпилировал хорошую версию до того, как библиотека была обновлена), но пока ничего, процесс OTA запускается, и он кирпичит плату.
Есть идеи? Спасибо!
@Nino, 👍0
2 ответа
Лучший ответ:
Arduino внес изменения в platform.txt файлы для IDE 2.0 pluggable monitor system, которая представляет собой систему обнаружения COM-портов, сетевых портов и других средств загрузки в Arduino.
Пока они делали изменения, они забыли протестировать поддержку OTA с IDE 1, поэтому они сломали OTA в ядре AVR и SAMD. Затронутыми версиями core являются AVR 1.8.4 и SAMD 1.8.12.
Arduino уже исправил ошибку в platform.txt в обоих ядрах и AVR core уже есть новый релиз 1.8.5 с исправлением. Ядро SAMD еще не выпустило новую версию. Вы можете применить исправление к установке 1.8.12 или вернуться к версии1.8.11. EDIT: SAMD core 1.8.13 тоже уже доступен.
EDIT: Или вы можете использовать метод "fake programmer", который не требует обнаружения сетевого порта IDE и имеет отдельную конфигурацию.
Я попробовал еще раз, ИМХО, невозможно получить неиспорченный большой bin-файл прямо на SD-карте. Единственный способ, который я вижу, это сначала во внутреннюю память модема, а затем на SD-карту. Я сделал пример: https://github.com/CptHolzschnauz/Arduino-MKR-1400-OTA-Update
это не ответ на вопрос, @Juraj
- Почему OTA не работает с платой ESP32-CAM Ai-Thinker?
- Достаточно ли 1 МБ флэш-памяти для загрузки OTA в ESP-01?
- ОТА-программа SPIFFS на ESP8266
- OTA через MQTT для ESP32
- OTA-обновление ESP8266 с разными настройками размера флэш-памяти?
- Esp32: совместим ли OTA с FREERTOS
- Как безопасно переключиться с ArduinoOTA на ESPhome?
- Обновление ESP32 OTA через MQTT с помощью "update.h"
Спасибо за информацию, я попробовал исправить и вернулся к 1.8.11, ночь работала, но я смог добиться прогресса со старой резервной копией папки libraries и откатить IDE до 1.81 (я предполагаю, что более новые версии будут работать так же хорошо, но у меня не было времени для тестирования). На данный момент я могу делать OTA-обновления большинства типов, некоторые из них не работают, как обновление старого ящика поверх нового, но то, что работает, может оказаться достаточным., @Nino
@Nino SAMD core 1.8.13 доступен, @Juraj
Круто! Я могу подтвердить, свежая новая установка работает как шарм, большое спасибо Юрай., @Nino