• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

EEPROM и SPIFFS не работают на ESP-01S

Всем Привет! Я использую плату ESP-01S на основе ESP8266. Пробовал записывать данные в EEPROM с помощью скетча из примеров к этой плате, при повторном включении данные не сохраняются, при использовании EEPROM.commit() возвращает false. Попытался загрузить файл в ESP-01S через инструмент загрузки для ESP8266, появлялась ошибка. Позже оказалось, что SPIFFS даже не монтируется. Плату проверил, работает исправно. Могу приложить скетч для работы с SPIFFS:
C:
#include <FS.h>
String my_settings;
 
void setup() {
  Serial.begin(115200); // настраиваем скорость работы COM порта
  delay(5000);
  if (!SPIFFS.begin()){ // если не удалось монтировать SPIFFS память
    Serial.println("Ошибка при монтировании SPIFFS :(");
  } else {
    Serial.println("Монтирование SPIFFS прошло успешно!"); 
  }

  File settings = SPIFFS.open("/Settings.txt", "w"); // открываем файл с настройками для чтения
  if (!settings) { // если не удалось открыть файл с настройками
    Serial.println("Не удалось открыть файл с настройками для чтения :(");
    return; // выходим из функции
  } else {
    Serial.println("Файл с настройками успешно открыт для чтения!");
  }

  while (settings.available()) { // прочитываем данные из файла с настройками
    my_settings = settings.readString(); // записываем данные из файла с настройками
    Serial.println("Содержимое файла: " + String(my_settings));
  }
  settings.close(); // закрываем файл с настройками
}
 
void loop() {}
 

CodeNameHawk

Moderator
Команда форума
Позже оказалось, что SPIFFS даже не монтируется.
Её у вас пока нет.
Надо один раз выполнить SPIFFS.format() в отдельном скетче, это создаст файловую систему.

Можно проще, создать папку data в папке проекта(там где лежит скетч) и положить туда ваш файл настроек.
Потом загрузить файловую систему в есп из ардуиноиде Data upload.
 
Ели прочитал с помощью лупы надпись на соседнем чипе, поэтому она может быть неправильна. Вот, что на нём было написано: FT25H085, 1918X660. Отвечаю на комментарий CodeNameHawk: Как я писал выше, SPIFFS у меня не запускается, поэтому загрузить в неё файл я не могу. Тем более, команда SPIFFS.format() нужна вовсе не для создания SPIFFS, а для её очистки.
 

CodeNameHawk

Moderator
Команда форума
SPIFFS нужно монтировать, что у меня не получается.
SPIFFS.begin() это монтировать, но монтировать пока нечего, файловая система еще пока не создана.
Важно в настройках ардуиноиде выделить место для файловой системы.
1617633216404.png
Это там возле FS. А дальше форматировать или залить файловую систему, она сама сформатирует "диск".
Заливать это здесь.
1617633347164.png
 

CodeNameHawk

Moderator
Команда форума
Ну такую плату и выберите в настройках.
Показывайте все этапы скриншотами, а то не ясно, что не получается.

Если модуль у вас есп01 то выберите плату generic.
 
Сверху Снизу