ESP32

Sistema de arquivos FAT no ESP32 com PlatformIO

fat no esp32

Quando temos uma dúvida e sabemos pelo quê pesquisar é incrivel. Os problemas começam quando não sabemos exatamente o que estamos procurando, que conceitos nos faltam e a quem perguntar. Não estou me referenciando ao FAT no ESP32, mas de outro problema que estou enfrentando relacionado a um projeto. Bem, uma das tentativas em solucionar o problema implica em testar o sistema de arquivos FAT no ESP32 para ver se resolvo a questão. Daí a configuração do sistema de arquivos se tornou um problema primário. Por sorte, de fácil solução.

SPIFFS ou FAT no ESP32?

Normalmente deixo o SPIFFS por padrão, já até escrevi alguns artigos bem elaborados como esse, esse e esse, por exemplo. Dessa vez estou me deparando com um problema (que virará outro artigo quando solucionado) e desconfio que a troca do sistema de arquivos seja a solução. Enquanto eu não confirmar isso, não tenho argumentos suficientes para dizer qual o melhor, mas se for para poupar tempo, deixe o SPIFFS como padrão. De outro modo…

Tabela de partições do ESP32

Escrevi esse artigo exclusivamente sobre a tabela de partições do ESP, agora vamos apenas fazer uma modificação nela.

No Atom, não sei de onde ele pega a tabela de partições por padrão. O arquivo com a tabela padrão se chama default.csv. Em uma busca rápida, encontrei em meu Linux esse arquivo alocado em ~/Documents, que é o caminho padrão para as plataformas e projetos que utilizo.

Primeiro, copie o arquivo para dentro do diretório de projetos. No meu caso:

Agora edite o arquivo copiado. No final dele, apenas troque spiffs, data, spiffs por ffat, data, fat. Salve o arquivo.

FAT no ESP32

Indicar a tabela de partições do ESP32 no PlatformIO

Quando criamos um projeto no PlatformIO, um arquivo chamado platformio.ini é criado no diretório do projeto. Esse arquivo pode receber diversos parâmetros, conforme pode ser visto na documentação. O que fiz foi simplesmente criar a seção env:custom_table, conforme pode ser visto no arquivo de configuração abaixo:

Sketch – Como usar o sistema de arquivos FAT no ESP32

No sketch a coisa é bem simples. Como estou utilizando a API do Arduino para programar o ESP32 (não confundir API com IDE), tudo o que precisa ser feito é executar uma rotina para ter o sistema de arquivos disponível no sistema:

Passando o parâmetro true para a função begin, o sistema de arquivos será formatado antes do primeiro uso. É mais prático que chamar FFAT.format().

A utilização básica é a mesma que a fornecida pelo sistema de arquivos SPIFFS, baseie-se nas referências supracitadas para iniciar leitura e escrita no sistema de arquivos.

Agora retorno à luta e, assim que obtiver sucesso, escrevo o próximo artigo. Até a próxima!