Ler arquivo txt do SPIFFS e salvar em uma variável

Projetos de ESP32
diegoelias
Novato
Mensagens: 1
Registrado em: 12/Set/2019, 00:57

Ler arquivo txt do SPIFFS e salvar em uma variável

Mensagem por diegoelias » 12/Set/2019, 01:31

Boa noite Amigos

Estou preciso de uma ajuda, se alguém puder ficarei muito grato.

Estou gravando alguns dados no SPIFFS do ESP32 e quero ler esses dados, gravar em uma variável e enviar com as demais informações. O script esta gravando perfeitamente, porem consigo ler com Serial.write mas não estou conseguindo armazenar em uma variável, tentei vários tutoriais mas não consegui, alguém sabe me dar uma luz ?

Script:

Tenho uma função chamada adicionar que quando o ESP não encontrar o servidor ele cria e adiciona a informação no SPIFFS em um arquivo chamado contigencia.txt

Quando o sistema voltar a conectar ele vai ler esses dados do arquivo contigencia.txt, gravar em uma variável chamada contigencia todos dados do arquivo e enviar a variavel.

eu não estou conseguindo pegar os dados do arquivo contigencia.txt e gravar na variavel.

RemSob
Membro
Mensagens: 9
Registrado em: 14/Out/2019, 21:24

Ler arquivo txt do SPIFFS e salvar em uma variável

Mensagem por RemSob » 26/Out/2019, 19:59

Acho que você terá que enviar o arquivo pro servidor do Oracle.
Ou você terá que abrir o arquivo texto utilizando a linguagem que você está usando no cliente.

Qual é a linguagem sendo usada no lado do cliente ?

tfg-1987
Novato
Mensagens: 1
Registrado em: 14/Mai/2020, 17:25

Re: Ler arquivo txt do SPIFFS e salvar em uma variável

Mensagem por tfg-1987 » 14/Mai/2020, 17:34

Olá diegoelias, sei que já faz tempo, mas estou barrado na mesma situação que você, por gentileza, você conseguiu resolver seu problema?

cleitonaps
Membro
Mensagens: 13
Registrado em: 21/Abr/2020, 15:09

Re: Ler arquivo txt do SPIFFS e salvar em uma variável

Mensagem por cleitonaps » 17/Ago/2020, 22:42

Segue um exemplo de uma função que lê as credenciais para conexão Wi-Fi, talvez possa ser útil:

Código: Selecionar todos

bool configura_wifi() {
  if (WiFi.status() == WL_CONNECTED) WiFi.disconnect(true);
  // We start by connecting to a WiFi network
  const char* s; //ssid Wi-Fi
  const char* p; //senha Wi-Fi
  int count = 0;
  File file = SPIFFS.open("/wifi_client.txt");
  if (!file || file.isDirectory()) {
    Serial.println("Não há credenciais salvas.");
    return false;
  }
  while (file.available()) {
    if (count == 0)
      ssid_wifi = file.readStringUntil('\n'); //na primeira linha está o SSID
    else
      senha_wifi = file.readStringUntil('\n'); //na segunda linha está a senha
    count++;
  }
  file.close();
  ssid_wifi.trim(); //remove \n do final da string lida do arquivo
  senha_wifi.trim();//remove \n do final da string lida do arquivo
  s = ssid_wifi.c_str(); //conversão de string para const char
  p = senha_wifi.c_str();//conversão de string para const char
  WiFi.begin(s, p); //inicia, informando SSID e Senha lidos do arquivo das configurações da rede Wi-Fi

  Serial.println();
  Serial.println();
  Serial.print("Configurando conexão Wi-Fi... ");
  int timeout = 10000;
  uint64_t start = millis();
  while (WiFi.status() != WL_CONNECTED) {
    Serial.print(".");
    delay(100);
    if (millis() - start > timeout) {
      Serial.println("Credenciais inválidas!");
      WiFi.disconnect();
      return false;
    }
  }
  Serial.println("");
  Serial.println("WiFi connected");
  Serial.println("IP address: ");
  Serial.println(WiFi.localIP());

  return true;
}

Responder