Имею 3 самодельных устройства на базе ESP8266. Каждый из них предназначен для разных приложений, и все они действительно только для хобби.
Иногда я просто хочу внести небольшие изменения в код или добавить новые функции, поэтому я работал над обновлениями OTA через Интернет.
Каждая плата имеет один и тот же код, но каждая имеет уникальный идентификатор, определенный в коде, и некоторую уникальную конфигурацию, к которой они могут получить доступ из базы данных в Интернете. В идеале я мог бы обновить код на плате № 01, эта плата будет искать в таблице базы данных предыдущую конфигурацию при запуске, и все будет работать нормально.
Проблема в том, что при изменении кода идентификатор (который определяется в коде) теряется, и я не хочу вручную компилировать 3 разных двоичных файла, по одному для каждой платы, с идентификатором как единственной разницей между ними. Конечно, я должен сделать это в первый раз, когда программирую эту доску, но я не хочу делать это при каждом обновлении.
Есть ли способ обновить код OTA, но сохранить ID на плате? Возможно, способ записать этот идентификатор (или даже другие флаги) в незамещенный раздел памяти.