По мере выхода новых версий возникнет необходимость в обновлении. В комплекте с новым релизом могут идти новые или измененные библиотеки и инструменты. Поэтому, во избежание ошибок, каждый раз, рекомендуется использовать именно те библиотеки и инструменты, которые находятся в архиве с конкретным релизом.
Внимание! Важно!
С версии 6.0 При условии, что Самовар подключен к интернету интерфейс будет автоматически обновляться для конкретной версии скетча , т. е. в случае необходимости отката на старую версию скетча, интерфейс так же откатится на соответствующую версию. Если подключения к интернету нет, то интерфейс необходимо устанавливать самостоятельно - локально.
Обновление скетча
Используя раздел
Первичная загрузка скетча мы подготовили определенную структуру расположения файлов и каталогов в ...Documents\Arduino. Продолжим на основе прежней организации.
Подготавливаем каталог ... Documents\Arduino\ в следующей последовательности:
-
Каталоги libraries и tools перемещаем перетаскиванием (или вырезать - вставить) в каталог Samovar.
-
Каталог Samovar перемещаем в пустой каталог Samovar-6.17.
-
Каталог Samovar-6.17 перемещаем в каталог OLD.
-
Архив Samovar-6.17.zip с оригинальным скетчем перемещаем в каталог OLD.
Таким образом в каталоге ... Documents\Arduino\ останется только каталог OLD.
А внутри OLD будут: архив Samovar-6.17, каталог Samovar-6.17 с вложенным каталогом Samovar.
Такая система хранения исключает ошибки при обновлении, позволит использовать прежние настройки для нового релиза и при необходимости быстро откатиться на прежнюю или еще более раннюю версию.
Далее делаем пошагово, как при первой установке: "разворачиваем" новый релиз в ... Documents\Arduino\ в плоть до получения прежней
структуры каталогов. Соответственно, архив и каталог полученный из архива будут содержать в имени новый номер версии.
Но теперь сразу не загружаем скетч в ESP, а делаем необходимые настройки файла Samovar_ini.h. Это можно сделать двумя способами:
1. Правильный.
Для удобства потребуется специальные программы способные сравнивать два разных файла, визуально отображая различия между ними.
Рекомендуется программа
WinMerge — (
Инструмент сравнения и слияния для Windows, который может сравнивать как файлы, так и папки, отображая различия в визуальной текстовой форме . Программа проста в использовании, имеет русский интерфейс.)
Или более продвинутая, но и более сложная в освоении программа
Notepad++ с установленным плагином
Compare.
Пример при использовании программы WinMerge.
Для сравнения нужно выбрать два разных файла Samovar_ini.h
Первым выбираем файл из каталога OLD, в который мы только что переместили прежнюю версию Самовара. Он находится по пути: ... \Documents\Arduino\OLD\Samovar-6.17\Samovar\
Второй файл берем из каталога с новым релизом Самовара. Он находится в ... \Documents\Arduino\Samovar\
Программа сравнит оба файла и подсветит строки с различиями.
Различия будут выделены более светлым тоном. Можно править значения справа вручную, а можно поставить курсор слева дать команду "Копировать направо".
Так, построчно, корректируется файл настроек под ваше оборудование. По окончании всех правок нажимаем иконку "Сохранить"
Главное не перепутать, что файл старых настроек находится слева, а файл по которому будет работать Самовар - справа.
2. Быстрый
Если в аннотации к релизу не упоминалось о новых функциях и новом оборудовании достаточно скопировать файл Samovar_ini.h из старой версии ... \Documents\Arduino\OLD\Samovar-6.17\Samovar\
и вставить его, с заменой, в каталог с новым релизом ... \Documents\Arduino\Samovar\
Если в новом релизе вводятся новые функции Самовара, редактировать файл Samovar_ini.h необходимо, иначе новые функции будут недоступны и Самовар будет работать не корректно.
Настройка закончена. Можно загружать скетч в ESP. Поскольку это обновление ранее установленного скетча настраивать вновь подключение к Wi-Fi не придется и
загружать настройки по умолчанию не нужно.
При обновлении уже можно будет не подключать ESP к USB порту, а обновлять прошивку
"по воздуху"
"Откат" на старую версию.
Что-то не понравилось в новом релизе или он работает не корректно. Есть желание вернуться к предыдущим версиям. С данной системой хранения старых версий это совсем просто.
Подготавливаем каталог ... \Documents\Arduino как для обновления:
-
Каталоги libraries и tools перемещаем перетаскиванием (или вырезать - вставить) в каталог Samovar.
-
Каталог Samovar перемещаем в пустой каталог Samovar-6.17.
-
Каталог Samovar-6.17 перемещаем в каталог OLD
-
Архив Samovar-6.17.zip с оригинальным скетчем перемещаем в каталог OLD
Далее:
-
Идем в каталог OLD, выбираем прежнюю версию и проходим во внутрь до каталога Samovar: ... \Documents\Arduino\OLD\Samovar-6.16\
-
Копируем (рекомендуется именно копировать, а не перетаскивать) весь каталог Samovar в ... \Documents\Arduino\
Из каталога Samovar перемещаем перетаскиванием (или вырезать - вставить) на уровень выше, в ... \Documents\Arduino\ два каталога libraries и tools.
Все. Можно загружать скетч в ESP .
В последствии, при обновлении на новую версию, нужно будет просто очистить каталог ... \Documents\Arduino удалив Samovar, libraries и tools. Перемещать их в OLD нет необходимости, поскольку они там присутствуют, а мы использовали копию.
При обновлении скетча уже можно использовать Arduino IDE версий 2.x.х. Но в этих версиях отсутствует пункт "ESP32 LittleFS Data Upload" и обновить интерфейс локально не получится. Соответственно, если доступа Самовара к сети интернет нет, то web-интерфейс не будет обновлен.
Дополнение. На версиях Arduino IDE 2.x.х появилась возможность локальной установки интерфейса с помощью плагина. Инструкция здесь
Вы можете одновременно установить на свой компьютер несколько Arduino IDE 2.x.x и Arduino IDE 1.x.х , и они не вызовут никаких проблем друг для друга. Поэтому вы можете продолжать использовать Arduino IDE 2.x в качестве основной IDE и использовать Arduino IDE 1.x только тогда, когда вам нужно загрузить локально файловую систему SPIFFS (в т.ч. интерфейс) на ваш ESP32.
При использовании разных версий Arduino IDE их нужно устанавливать в разные каталоги. Для этого достаточно добавить к имени каталога номер версии.
Например.
C:\Program Files(x86)\Arduino1_1_18;
C:\Program Files\Arduino IDE_2_3_2;
C:\Program Files\Arduino IDE_2_3_1
При этом появляется возможность использовать в каждой версии Arduino IDE разные версии SDK для ESP32 от Espressif Systems.
Но, нужно учесть, что каждую из используемых версий Arduino IDE, для использования ESP32, нужно будет настраивать отдельно.
Внимание!
Если использовать дополнение для ESP32 “ESP32 by Espressif Systems” версии 3.0.0 и выше, то скетч можно загрузить только отказавшись от OTA (загрузка скетча по WiFi), изменив тип используемой платы и выбрав правильные партиции.