• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

ESP32 LittleFS как получить данные о файловой системе

pvvx

Активный участник сообщества
Если не переразмечать флеш, а только записать новый скетч, то ФС будет вполне себе доступна, включая информацию о ней.
Но тут ничего не писали и неизвестна старая система. А форматировать не хотят :)
 
Это из штатного примера FSBrowser для esp8266
Не смог я его переделать, чтоб использовать без FSBrowser
Примеры LittleFS для ESP8266 и ESP32 "мягко говоря" ОЧЕНЬ сильно различаются...
Используйте пример для нужной платформы.
Вы оказались правы. Поменял плату и эти примеры заработали. Что очень странно, так как видел аналогичные в одном ролике, так там только меняли библиотеки типа для esp8266 подгружали SPIFFS, а для ESP32 подключали LittleFS, в остальном вроде как были идентичны.
Буду разбираться с примерами для каждой платы отдельно.
 

v258

New member
Ещё пока не пробовал размеры разделов оставлять прежними, но менять саму ФС. Но, по идее файлы сотруться.
Я, помнится, как-то скетч менял, файлы остались, но не открывались. А вот менял ли я в новом скетче тип ФС, не помню
 
Я, помнится, как-то скетч менял, файлы остались, но не открывались. А вот менял ли я в новом скетче тип ФС, не помню
Тут я уже говорил, что делал так. И даже отдельным новым скетчем создавал ручками новый файл, а потом записывал скетч с FSBrowser и все файлы, вместе с новым были на месте.
 
json = "{\"type\":\""; json += fsName;
Кстати, ещё раз перепроверил. Оказывается тут нет функции определения ФС. Тут это значение берется в самом начале из объявления переменной для ФС. А жаль. Надеялся, что есть какая-то функция для этого
 

v258

New member
Кстати, ещё раз перепроверил. Оказывается тут нет функции определения ФС. Тут это значение берется в самом начале из объявления переменной для ФС. А жаль. Надеялся, что есть какая-то функция для этого
Я сразу и сказал, что нужно знать, какая ФС
 
Что-то не получается у меня проверить является ли файл каталогом и зайти в него. В том плане, что функция в примере на оф странице (приводил выше) каталог не видит и воспринимает его как файл, причем пустой, хотя там файлы есть.
Попробовал переделать, но что-то не получается. Как вариант:
Код:
Dir dir1 = LittleFS.openDir("/");
while (dir1.next()) {
    Serial.print(dir1.fileName());
      if(dir1.fileName() isDirectory){  // по идее тут бы проверить, является ли имя/файл каталогом
        Serial.println(String(dir1.fileName())+" является каталогом");
      }
      else {
        File f = dir1.openFile("r");
        Serial.println(f.size());
      }
 
Эту проблему я решил так:
Код:
Dir dir1 = LittleFS.openDir("/");
while (dir1.next()) {
      if(dir1.isDirectory()){  // по идее тут бы проверить, является ли имя/файл каталогом
        Serial.println(String(dir1.fileName())+" является каталогом");
      }
      else {
        Serial.print(dir1.fileName());
        File f = dir1.openFile("r");
        Serial.println(f.size());
      }
  }
Теперь не могу понять, как пройтись по вложенным каталогам. По идее нужно что-то типа рекурсии.
 
Сверху Снизу