Всем Привет! Я использую плату ESP-01S на основе ESP8266. Пробовал записывать данные в EEPROM с помощью скетча из примеров к этой плате, при повторном включении данные не сохраняются, при использовании EEPROM.commit() возвращает false. Попытался загрузить файл в ESP-01S через инструмент загрузки для ESP8266, появлялась ошибка. Позже оказалось, что SPIFFS даже не монтируется. Плату проверил, работает исправно. Могу приложить скетч для работы с SPIFFS:
08 | Serial .println( "Ошибка при монтировании SPIFFS :(" ); |
10 | Serial .println( "Монтирование SPIFFS прошло успешно!" ); |
13 | File settings = SPIFFS.open( "/Settings.txt" , "w" ); |
15 | Serial .println( "Не удалось открыть файл с настройками для чтения :(" ); |
18 | Serial .println( "Файл с настройками успешно открыт для чтения!" ); |
21 | while (settings.available()) { |
22 | my_settings = settings.readString(); |
23 | Serial .println( "Содержимое файла: " + String(my_settings)); |
Вы используете библиотеку для работой не с EEPROM а с flesh диском,
самому поддерживать там все - тяжело, есть плагин для ардуино который это умеет делать сам, то есть в каталоге проекта делаешь папочку data и этим плагином все файлы из этого каталога загружаешь (при этом он сразу отформатирует области) а потом уже работаешь.
если не забуду вечером скину название и ссылку на плагин
Я как раз с помощью этого плагина пытался загрузить, но возникала ошибка. Я недавно узнал о том, что не на всех чипах flash памяти поддерживается SPIFFS.
поищи esp8266fs-0.5.0.zip, для esp-01s он подходит.
установка простая - просто скопировать то, что внутри архива в папку Arduino\tools\ и все.
ну и еще момент, перед каждым использованием и после каждого использования надо разрывать связь (отсоединять переходник от USB)
Если что, я этот инструмент и использовал. У меня возникает эта ошибка: esptool.FatalError: File C:\Users\240C9~1\AppData\Local\Temp\arduino_build_478043/SmartSocket.spiffs.bin (length 1024000) at offset 3145728 will not fit in 1048576 bytes of flash. Use --flash-size argument, or change flashing address. Насколько я понял, эта ошибка связана с тем, что указанный размер SPIFFS памяти не помещается в реальный. Я уже пытался изменять размер flash в инструментах. Возможно, вы знаете как можно исправить эту ошибку
в ESP-01S стоит 1 мегабайт флеша, это не много... тебе еще надо параметром определить сколько памяти ты выделишь под диск, у меня это
1
custom_eesz=generic_1M256
то есть из 1 мега я 250 килобайт отдаю под диск.
далее смотришь размер файлов, и не просто размер а сколько они будут занимать на диске !!!
спасибо. действительно в esp01 1M памяти