ÍNDICE DE CONTEÚDO
O SPIFFS permite que você acesse a memória flash do seu ESP como você faria em um sistema de arquivos normal em seu computador, mas de forma mais simples e limitada. Você pode ler, gravar, fechar e excluir arquivos. SPIFFS não suporta diretórios, então tudo é salvo em uma estrutura plana.
Agora temos em mão, acesso total à memória do ESP, armazenando informações que antes precisaríamos de um cartão SD, claro obedecendo às limitações de memória do hardware.
Projetos com o ESP, jogando o site na “tela”, não dá para me sentir confortável com isso. É algo desorganizado código C misturado com HTML, dentro de uma string ou pior dentro de prints infinitos.
Nesse artigo, estarei mostrando os primeiros passos de como se utilizar o sistema de arquivos do ESP, para nos sentirmos mais confortáveis com nosso código no ESP.
Ferramenta para trabalhar com SPIFFS no Arduino IDE
Felizmente, existe uma ferramenta para o IDE do Arduino que permite fazer upload de arquivos diretamente para o sistema de arquivos do ESP8266 a partir de uma pasta em seu computador. Isso torna muito fácil e simples trabalhar com arquivos. Vamos instalar.
Primeiro, certifique-se de ter o IDE do Arduino mais recente instalado e de ter o complemento ESP8266 para o IDE do Arduino.
Agora iremos instalar a ferramenta capaz de upar no sistema de arquivos:
- Baixando o arquivo ESP8266FS-X.zip , extrairemos o arquivo dentro da pasta “tools” do Arduino IDE, ou na pasta “packages” do Platformio.
- Após colocarmos os arquivos em seus respectivos diretórios, conseguimos visualizar a função nos IDEs.
Fazendo upload de arquivos
Upando o arquivo, que no nosso caso será um .txt.
Crie uma pasta com nome “data”, coloque um arquivo “teste.txt” dentro e inclua essa pasta dentro do seu projeto do Arduino IDE ou Platformio.
Agora que temos os arquivos no lugar podemos usá-los,utilizando a função que foi adicionado no ide.
Verificando se o arquivo está gravado na memória do ESP
Upando esse simples código iremos verificar na terminal se o arquivo txt foi gravado .
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
#include "FS.h" void setup() { Serial.begin(115200); if(!SPIFFS.begin()){ Serial.println("An Error has occurred while mounting SPIFFS"); return; } File file = SPIFFS.open("/teste.txt", "r"); if(!file){ Serial.println("Failed to open file for reading"); return; } Serial.println(); Serial.println("File Content:"); while(file.available()){ Serial.write(file.read()); } file.close(); } void loop() { } |
Caso inverta essa instrução o arquivo será apagado na memória flash do ESP, primeiro o arquivos depois o código.
Referências
https://randomnerdtutorials.com/install-esp8266-filesystem-uploader-arduino-ide/
https://www.dobitaobyte.com.br/como-escrever-arquivos-no-spiffs-com-esp32/
Realmente, aqueles prints eternos são muito feios. só por curiosidade, com isso consigo colocar uma imagem (um jpg por exemplo) e apresentá-lo em uma pagina html?
Estou montando outro artigo, que explicarei como colocar um site completo, com arquivos html e ccs .
pelo que eu entendi no texto parece que sim, só não pode colocar em pastas… mas acho que deveria repensar o uso de imagens, pois ocupam muito espaço no disco se seu projeto for ficar ligado direto na internet, pode simplesmente referencia-las por links.