Файл ESP8266 SPIFFS не найден

У меня есть простой HTML-файл, который я загрузил в качестве данных скетча с помощью инструмента загрузки данных скетча ESP8266 в IDE arduino. Размер файла 7 КБ.

В настройках я ссылаюсь на следующую функцию для чтения файла:

String readTemplatefile(){
  String retval ="";
  File fr = SPIFFS.open("/templatecfg.htm", "r"); 

  if(!SPIFFS.exists("/templatecfg.htm")){

    Serial.println("Template file not available ");  
    }
    while (fr.available()){
        retval += char(fr.read());
      }

fr.close();
Serial.println("Template file = ");    
Serial.println(retval);
return retval;
}

Я всегда получаю сообщение "Файл шаблона не найден". у меня

SPIFFS.begin(); 

в начале функции настройки

Моя плата — ESP8266EX. Я задавался вопросом, могут ли настройки размера флэш-памяти в IDE привести к тому, что это не будет найдено. Может кто что посоветует по этому вопросу. Я перепробовал много разных комбинаций размеров Flash и SPIFF, но безуспешно.

Заранее благодарим за любую помощь.

, 👍0

Обсуждение

Файл есть? Отформатирован ли носитель в правильном формате (FAT? а не NTFS, который Windows использует по умолчанию), @Code Gorilla

Вы смонтировали файловую систему с помощью SPIFFS.begin()? Пробовали ли вы открыть каталог «/» и просмотреть список файлов, чтобы убедиться, что ваш скетч видит доступные файлы?, @jose can u c

@CodeGorilla: SPIFFS, а не SD;), @dandavis

запустите прилагаемый пример скетча браузера FS и посмотрите, как он работает. да, ваши настройки вспышки могут повлиять на SPIFFS, если они неверны. убедитесь, что размер IDE (ESP.getFlashChipSize()) и физические размеры (ESP.getFlashChipRealSize()) совпадают. погуглите функции esp lib для документов, @dandavis


2 ответа


-1

@dandavis Да, в моей программе установки была функция SPIFFS.begin().

Я запустил образец скетча и смог увидеть файл на устройстве, поэтому я еще немного обошел код и обнаружил, что включенная библиотека завершает работу SPIFFS после того, как она выполнила чтение файла. В этом была проблема. Всем спасибо за внимание, но код, который у меня был, был в порядке, просто включенная библиотека работала неправильно.

,

какая библиотека? так что мы учимся, @Juraj


1

SPIFFS всегда будет утверждать, что успешно открыл файл, начинающийся с косой черты, даже если этот файл не существует. Удалите косую черту в начале.

,