Esp32 - Armazenar dados durante funcionamento. (LittleFS)

Olá a todos.

Estou precisando armazenar alguns dados durante a execução de um programa, utilizando o esp32.

Dados como:

dados[X][Y] {0, 1, 2, 3, 4, 5, "nome 1", "nome 2", "nome 3", "nome 4, nome 5..}

Existiria alguma forma que não seja usando um microSD, ou que não comprometa o controlador ao longo do tempo? (pois ficaria num loop).

Exibições: 1022

Responder esta

Respostas a este tópico

Bom dia.

" (pois ficaria num loop)".

Defina melhor este loop.

E qual o tempo entre gravações?

Use o LittleFS .

RV mineirin

Olá RV, o tempo de gravação pode variar de 5 minutos a 1h.

Vou pesquisar sobre o LittleFS.

Bom dia,

o limite de 10.000 gravações é para cada byte da memoria.

Se a memoria for usada incremental a quantidade de gravações será 10.000 x tamanho do incremental.

"

  • Faça o menor número de gravações possível: toda memória Flash existente é dividida em setores, e cada um deles possui um número máximo de vezes que pode ser reescrito. Após atingido este limite, o setor é inutilizado fisicamente (este setor da memória Flash deixa de funcionar, sendo impossível sua recuperação). Este número varia muito, indo na prática de 100.000 até 1.000.000 de reescritas. Dessa forma, para maximizar a vida útil da memória Flash do seu ESP32, faça o menor número de gravações (reescritas) possível.

"

Ref:  https://www.filipeflop.com/blog/armazenamento-de-dados-na-memoria-f...(reescritas)%20poss%C3%ADvel.

RV minieirm

Obrigado RV.

Ontem tive algumas dificuldades (além de uma gripe bastante incomoda, que não me deixava reciocinar). Vi alguns tutoriais sobre o assunto e uns vídeos.

Para quem tiver problemas no futuro, recomendo assistir estes dois vídeos (na ordem).

1- https://www.youtube.com/watch?v=oY-Wgsx8bkM

2- https://www.youtube.com/watch?v=4r6YZlLfKfw

Além disso, estou utilizando, no momento:

Arduino IDE 1.8.19

Esp32 Board (para Ard.Ide): 2.0.3

Este pacote do esp32, já vem com a lib do LittleFS inclusa, mas ainda é necessário fazer algumas inclusões. obs- Por ter tido dificuldade, baixei novamente utilizando a ferramenta de pesquisa de lib, no arduino IDE (LittleFS - Autor lorol) 

O que eu fiz:

1- Baixei a lib pelo gerenciador de lib do arduino.

2- aidicionar o "mklittlefs.exe" no "Documents\ArduinoData\packages\esp32\hardware\esp32\2.0.3\tools"

3- CRIAR um grupo de pasta e subpastas no diretório do sketch, exemplo: \Documents\Arduino\tools\ESP32FS\tool

obs- Este "tools\ESP32FS\tool" é necessário.

4- Adicionar o "esp32littlefs.jar" e "esp32fs.jar" dentro desta pasta. do item "3".

Assim pude visualizar a opção de "formatar o disco" (se entendi direito), que no caso, pode ser alterada aqui (só aparece depois que fizer o procedimento):

Ainda não conheço nada do sistema, e não fiz nenhum teste (ainda estou lendo sobre), mas achei este teste bem interessante: https://github.com/RIOT-OS/RIOT/pull/8316

Ele faz uma avaliação de velocidade entre o SPIFFS e o LittleFS.

Diferenças

  • Abrir/escrever 4000B/fechar um arquivo é cerca de 8 vezes mais rápido com littlefs do que com spiffs
  • Abrir/ler 4000B/fechar um arquivo é cerca de 5 vezes mais rápido com littlefs do que com spiffs
  • A formatação é cerca de 500 vezes mais rápida com littlefs do que com spiffs
  • A montagem é cerca de 60 vezes mais rápida com littlefs do que com spiffs

Olá Abreu! Obrigado pelas referências. Irei olha-los e, caso surja alguma duvida sobre o conteúdo dos links, retornarei.

Bom dia,

Não seria uma alternativa melhor usar o xamp por exemplo, criar uma base de dados no seu computador e armazenar no banco toda a informação?

Abs.

CK

Olá Carlos!

Neste caso, o que eu preciso é apenas salvar um matriz de dados e que, necessariamente, precisa ser no controlador.

Quero uma matriz: "int var[12][12]" e uma "String var2[20]".

A string seria alterada uma vez ou outra na vida.

o Int seria alterado entre 10min e 1h, dependendo das condições.

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço