Hi out there,
as Rui stated, SPIFFS Uploader doesn’t work with Arduino IDE 2.0
What is the reason and is there a foreseeable time frame this will be cured?!
I want to generate firmware for the ESP32, to which I can provide permanent but changeable preset data (like EEPROM) web or bluetooth based.
As far as I can see, the only viable possibility to do so without reprogramming the ESP every time is Spiffs. (Also true for setting up a web interface which might change over time during development)
Does anyone know another solution how to achieve this, if spiffs does not work with ARDUINO IDE 2.0
Edit: Meanwhile I try VS Code & PlatformIO
Cheers
Ydalir
Hi.
The SPIFFS upload function is not currently supported on Arduino 2.0. You can follow that issue here: https://github.com/arduino/arduino-ide/issues/58
You can use the older Arduino IDE version: https://randomnerdtutorials.com/install-esp32-filesystem-uploader-arduino-ide/
Or, as you mentioned, you can use PlatformIO and VS Code: https://randomnerdtutorials.com/esp32-vs-code-platformio-spiffs/
I hope this helps.
Regards,
Sara
You could also use IOTAppStory or other remote OTA updaters to remotely update code and SPIFFS at any time.
Hey Sara and Steve,
I run VS Code and PIO now, which is a good thing, because a “small” project got larger by every minute 🙂
I used to use VS Editor (for VB and C#) in my not so recent history and I had to relearn how to manage C/C++ files and Header files and so forth , this took me two days, which is not too bad.
Now my project gathers temperature data from 10 DS18B20 and stores them from a buffer into a text file on SPIFFS
Since I don’t need that to run very often (actually exactly one time 🙂 ) I need not to worry about the health of the EEPROM.
Anyway, handling SPIFFS is quite annoying. From a (not so good) YT video I got a hint to use the example (ARDUINO IDE) FSBrowser, which actually seems not to be designed to work with web browsers (one cannot set HTTP Method in an URL) and which is poorly documented (in my opinion) but I managed to be able to retrieve a kind of a directory and download file content.
I ordered some SPI SD Card readers which I will use for other projects and I will anyway have a look at the IOTAppStory, that needs some reading to get along.
Thanks and Cheers
Ydalir
Hi Sarah and Folks,
after all I had read and write to SPIFFS up an running but switched to an SD card after all
which provides easier access to the stored data and essentially uses the same methods.
Anyway here is one request I have for you Sarah and Rui:
During my research on how to use file.read and file.write I found several places where the example you use is described as well and ALL examples come from the same source.
The core of reading/writing data within a file system typically ends up like this:
while(file.available()){
Serial.write(file.read());
}
Here we have the objects “file” with method read() and “Serial” with method write()
(instead of the otherwise much used method “print()”).
It would be helpful (and added value) if you could provide a short list
of available methods connected to such core objects like the object
“file” (within in the context of the function).
I wasn’t aware that Serial.write() only writes one byte,
as file.read() only reads one byte and it took time to find out.
Added value could also be a short comment that this is so and if someone
wants to read a string there are methods “readString()” and “readStringUntil()”.
I hope the message I want to transport is clear.
I know that to teach ESP32/Arduino library in depth exceeds your possibilities,
the idea is just to list the central methods connected to an object which
in turn connects to a function in the current context (like reading or writing data in this case) and a short description or a link where to look, especially if the information is not stated often like “Serial.print()”.
I am open to discussions and if I can support in this context I’d be happy.
Best regards
Hi.
Thanks for the suggestion.
I already thought about a similar tutorial, but I didn’t have the opportunity to write it yet.
It’s only me creating the tutorials and content. It’s not always easy 😐
Regards,
Sara
I like the idea of providing a link to the documentation whenever a new object/method is introduced. That gives the reader an opportunity to go see for themselves what else is available.
Heya Sara,
wasn’t meant as a negative criticism.
I am a Technical Writer by profession (and several other professions within the scope of engineering 🙂 ) and I know and understand how time consuming good documentation is.
Probably I could research and serve with a snippet of information formatted so you just need to insert it into your script?
You (only) need to think about a fitting frame, in which you could insert the information.
Just an idea 🙂