ESP8266 Armazenando Arquivos com SPIFFS - IeC13

  Рет қаралды 9,531

Internet e Coisas

Internet e Coisas

Күн бұрын

Пікірлер: 62
@fdacio
@fdacio Күн бұрын
Boa professor. Obrigado pelo conteúdo.
@MsMauroluis
@MsMauroluis 5 жыл бұрын
Vou ver onde o plotter fica, pois a serial havia fechado. Muito obrigado pelo retorno. Um abraço
@InterneteCoisas
@InterneteCoisas 5 жыл бұрын
Mauro, Verifique também se você configurou corretamente o tamanho da SPIFFS, de acordo com o tamanho da Flash do sey módulo. Normalmente, os ESP8266 modelo 01 possuem 512kb ou 1Mb de flash, e os NodeMCU possuem 4Mb. Abraço!
@wilsonpahl8370
@wilsonpahl8370 6 жыл бұрын
Muito boa a aula. Parabéns!
@InterneteCoisas
@InterneteCoisas 6 жыл бұрын
Olá Wilson! Muito obrigado, continue acompanhando o Canal. Abraço!
@BrunoRC7
@BrunoRC7 3 жыл бұрын
O MELHOR CANAL DE IOT DA INTERNET!!!
@InterneteCoisas
@InterneteCoisas 3 жыл бұрын
Olá Bruno, Muito obrigado pelo comentário. Abraço!
@casaeconstru
@casaeconstru 4 жыл бұрын
otima explicação
@InterneteCoisas
@InterneteCoisas 4 жыл бұрын
Olá Renan, Obrigado, abraço!
@GersonSena
@GersonSena 6 жыл бұрын
Muito boa e completa essa aula... uma pena n poder usar essa flash pra log de eventos... já estava me animando pra isso kkkk
@InterneteCoisas
@InterneteCoisas 6 жыл бұрын
Então... você até pode usar, mas não abuse da gravação, pois a Flash suporta em média 10.000 gravações. Minha sugestão é gerar log apenas de dados mais relevantes. Pode usar tranquilamente, apenas observe que dessa forma vai diminuir bastante a vida útil da Flash.
@GersonSena
@GersonSena 6 жыл бұрын
Internet e Coisas pro meu datalogger não daria... mesmo que fizesse uma leitura a cada 5min... iria durar poucos 34 dias kkk
@GersonSena
@GersonSena 6 жыл бұрын
Quem sabe um datalogger em nuvem... vou pesquisar...
@InterneteCoisas
@InterneteCoisas 6 жыл бұрын
Gerson, são 10.000 gravações para cada posição da flash! Considerando um SPIFFS de 256kb por exemplo, isso é bastante espaço...
@InterneteCoisas
@InterneteCoisas 6 жыл бұрын
Olha esse: thingspeak.com/ Gratuito e muito bom, já utilizo há bastante tempo.
@wilsonpahl8370
@wilsonpahl8370 6 жыл бұрын
Bom dia mestre! Estou fazendo testes com uma placa nova para mim, que é o ESP8266 Nodemcu, então configurei o Arduino IDE para ele. Só que tenho um outro projeto em andamento com uma placa Arduino Mini Pro, então preciso do Arduino IDE funcionando da forma anterior também. Saberia me dizer como ter dois Arduino IDE na mesma máquina (Windows 10) ao mesmo tempo? Seriam duas instâncias do Arduino IDE, cada uma configurada com uma placa diferente. Agradeço desde já por alguma orientação neste sentido. Abraço e parabéns pelas aulas mais uma vez.
@jhana.2023
@jhana.2023 6 жыл бұрын
Fiz exatamente como vc disse. Tudo certo. Funcionou blz ! Agora uma dúvida : Fiz o upload de 5 arquivos para o esp. Na próxima vez que eu fizer outro upload para a essa placa, o que o soft .jar faz? Apaga os arquivos anteriores e faz o upload OU sobrescreve os arquivos antigos pelos novos?!?! Ótima aula. Colada no canal !
@InterneteCoisas
@InterneteCoisas 6 жыл бұрын
Olá Jhana, Sempre que você faz o upload, o que ocorre é que a ferramenta cria uma nova imagem de toda a SPIFFS e sobrescreve toda essa área na memória flash. Assim, tudo que havia antes é perdido, mesmo arquivos diferentes dos que você está enviando. É importante observar isso, pois se alguma informação presente no SPIFFS precisa ser preservada, ela deve ser resgatada antes de uma nova atualização. Como? Fazendo um sketch que leia o arquivo e mostre no monitor serial, como demonstrados nos exemplos do vídeo, ou mesmo algo mais elaborado, uma interface web, como a que adotamos para os logs do ESPRelé. Continue enviando seus comentários e sucesso com os Projetos! Abraço!
@MsMauroluis
@MsMauroluis 5 жыл бұрын
Boa tarde, sei que o vídeo é do ano passado, mas em minha busca tive acesso agora e tenho uma dúvida. Segui a risca e sempre que tento fazer upload tenho o seguinte erro "SPIFFS Upload failed!". Pode me dar uma dica?
@InterneteCoisas
@InterneteCoisas 5 жыл бұрын
Olá Mauro, Você precisa fechar o Monitor Serial ou Plotter Serial da IDE Arduino ao fazer o upload e também precisa colocar o módulo em modo de carga. Abraço!
@MsMauroluis
@MsMauroluis 5 жыл бұрын
Obrigado pela dica, mas não era nenhum desses problema. Acredito que seja algo no pc que estava usando, pois levei tudo para casa e consegui enviar sem problemas e ao testar em outra máquina na minha empresa o mesmo erro aconteceu. Como gravei tudo em casa, consegui avançar com este problema.
@InterneteCoisas
@InterneteCoisas 5 жыл бұрын
Olá Mauro, Grato pelo retorno, que ótimo teres resolvido o problema!
@rodamps7321
@rodamps7321 4 жыл бұрын
Professor, boa tarde, como faço para enviar 13 arquivos png + 2 arquivos html/css aprox. 130kb no total para dentro do nodemcu ? Obrigado.
@InterneteCoisas
@InterneteCoisas 4 жыл бұрын
Olá Marcos, Está tudo explicado no vídeo! Basta gravar os arquivos na pasta Data no seu computador, abaixo da pasta em que se encontra o Sketch, e fazer a carga para a SPIFFS através da IDE do Arduino. Abraço!
@jhana.2023
@jhana.2023 6 жыл бұрын
Boa noite, professor ! Lendo os comentários e vi q o senhor respondeu ao colega Gerson assim : ""Gerson, são 10.000 gravações para cada posição da flash! Considerando um SPIFFS de 256kb por exemplo, isso é bastante espaço..." Não entendi, prof. Como assim "por cada posição da flash" ????
@InterneteCoisas
@InterneteCoisas 6 жыл бұрын
Olá Jhana, Sr. não... Só André, por favor! :-) Pense na Flash como um SDCard, na prática são a mesma coisa. Os SDCard também tem uma vida útil, suportando cerca de 100.000 ciclos de gravação para cada posição de armazenamento. Tecnicamente a posição de armazenamento diz respeito a um bit, mas para efeitos práticos consideramos um byte, ou seja, 8 bits. Quando digo que suportam 100.000 ciclos estão tomando como média, pois há modelos com capacidade maior. Assim, um SDCard de, digamos, 1Gb, possui 1.073.741.824 (2^32) posições de armazenamento, ou bytes, sendo que cada uma delas suporta 100.000 ciclos de gravação. A restrição é para gravações, pois para leituras não há limite. Essa característica técnica chama-se "Write Endurance" e define a quantidade de vezes que cada posição, na verdade cada bit que compõem cada byte armazenado, pode ser reescrito. Outro bom exemplo são os drives SSD (Solid State Drive), que são também memórias Flash, porém otimizadas para velocidade e com um altíssimo Write Endurance, que chega a um milhão de escritas. Bom, voltando para nossos ESP8266, os modelos de Flash usados são bem mais simples, normalmente com Write Endurance em torno de 10.000. Você pode usar tranquilamente a Flash para gravar logs, por exemplo, mas lembre-se dessa expectativa de vida útil. Eu já tive problemas com um NodeMCU em que usei muita gravação de log e com o tempo começou a falhar, passando a gravar lixo. Mas isso não ocorre imediatamente e consegue-se notar as falhas quando começam a ocorrer. Pelo custo dos ESP8266, basta trocar por um novo. Espero que tenha sanado sua dúvida! Abraço!
@jhana.2023
@jhana.2023 6 жыл бұрын
Entendi, André. Então o negócio evitar o máximo gravação. Leitura está liberada. Obrigada pela resposta !
@InterneteCoisas
@InterneteCoisas 6 жыл бұрын
Isso aí Jhana!
@eugenio0612
@eugenio0612 2 жыл бұрын
Boa noite! Uma pergunta, gostaria de gravar somente 2 arquivos .mp3 na memória flash de um Nodemcu, um com tamanho de 951KB e outro com tamanho de 427 KB. Eu vi que a memória do seu Nodemcu tinha apenas 1Gb, porém no documento que você exibiu no vídeo, a memória flash podia ser 1MB ou 3 Mb, a definição do tamanho da área do SPIFFS é configurável ? Se sim, onde?
@InterneteCoisas
@InterneteCoisas 2 жыл бұрын
Olá Eugenio, Os ESP8266 NodeMCU normalmente possuem 4MB de flash. Você pode configurar o espaço da SPIFFS de 1MB a 3MB, o tamanho é configurado na IDE Arduino, meu Ferramentas (Tools) / Flash Size, ali vc escolhe o espaço reservado para a SPIFFS. Abraço!
@aplicarciencias
@aplicarciencias 6 жыл бұрын
Alguém comentou comigo que o ESP não tem memória EEPROM, e não é isso que diz a documentação (a mostrada aqui, inclusive). Afinal, o ESP tem ou não tem EEPROM? Ou tem, mas não podemos acessar? Obrigado.
@InterneteCoisas
@InterneteCoisas 6 жыл бұрын
Olá! Os ESP8266 não tem EEPROM, não como um chip dedicado; já os Arduinos, possuem um chip EEPROM. Os ESP8266, todos os modelos, possuem memória Flash, que pode ser usada para emular a funcionalidade de uma EEPROM. Veja o video: kzbin.info/www/bejne/d6aThpSEncZ1pdU Aqui apresento todos os detalhes e exemplos para acessar, lendo e gravando, dados na EEPROM emulada do ESP8266. Abraço!
@atiradordeteia-brasil_01
@atiradordeteia-brasil_01 4 жыл бұрын
Professor Andre Michelon, como eu apago os arquivos SPIFFS da memória ? Funciona se eu carregar uma pasta com o nome "Data" vazia ?
@InterneteCoisas
@InterneteCoisas 4 жыл бұрын
Olá Atirador, Correto, basta fazer a carga da pasta vazia. A IDE vai solicitar uma confirmação de que você está subindo uma imagem vazia, confirme e toda a SPIFFS será apagada. Abraço!
@wilsonpahl8370
@wilsonpahl8370 6 жыл бұрын
Olá. Já me veio a resposta com uma referência a "Portable IDE". Parece ser o caminho...
@InterneteCoisas
@InterneteCoisas 6 жыл бұрын
Olá Wilson! Vc mesmo respondeu no comentário anterior. Basta abrir mais IDEs, uma para cada placa, configurada individualmente. Como cada placa (Arduino, ESP8266...) instancia uma nova porta serial, basta selecionar a porta correta na IDE e a placa. Funciona perfeitamente. 👍🏻👍🏻👍🏻 Abraço!
@adapso3010
@adapso3010 6 жыл бұрын
Olá, já venho usando o recurso de SPIFFS em outros projetos, recentemente comecei a usar um novo lote de ESP 01 que não estão aceitando gravar a SPIFFS. Você já se deparou com algo parecido? Tem alguma dica? Eu já tentei formatar antes de usar com o linha SPIFFS.format(); mas não resolveu.
@InterneteCoisas
@InterneteCoisas 6 жыл бұрын
Olá Adauto, Não cheguei a ter esse tipo de problema... Mas segue alguma sugestões para você verificar e tentar resolver o problema: - se utilizar um ESP8266 de outro lote funciona? talvez haja mesmo algum problema com esse lote novo. - na IDE, verifique a opção Flash Size se está selecionada uma opção com tamanho para o SPIFFS, não pode ser zero. - o sketch utilizado já funcionou em outro ESP8266? - tente carregar o sketch em um NodeMCU. - a memória do ESP8266 corresponde à opção selecionada na IDE? - você testou o tamanho real da memória flash desse novo lote? Por exemplo, os modelos 01 antigos possuiam 512kb e não 1Mb de flash. Espero que essas sugestões te ajude na investigação e continue enviando seus comentários. Abraço!
@adapso3010
@adapso3010 6 жыл бұрын
@@InterneteCoisas Olá eu ja tentei de tudo até mesmo suas sugestões, apenas meus ESPs antigos estão gravando corretamente na memória, todos novos estão com problemas, já são mais de 20 com problemas.
@InterneteCoisas
@InterneteCoisas 6 жыл бұрын
Adauto, Fiquei curioso com o que pode estar ocorrendo. Se quiser, me envie telas dos erros que ocorrem, talvez possa te auxiliar. Tente rodar essas linhas em um Sketch, para confirmar o tamanho da memória Flash: Serial.println("getFlashChipSize [" + String(ESP.getFlashChipSize()) + "]"); Serial.println("getFlashChipRealSize [" + String(ESP.getFlashChipRealSize()) + "]"); O erro ocorre quando tenta inicializar a SPIFFS via Sketch ou quando faz a carga de algum arquivo via IDE?
@adapso3010
@adapso3010 6 жыл бұрын
@@InterneteCoisas Não ocorre erros durante a gravação do Sketch, tudo ocorre normalmente. O problema é na hora que o Esp está plugado no Hardware que criei. O meu código grava via interface web um token na memória do ESP e enquanto ele está ligado fica tudo bem porém quando ele reinicia ele perde esta informação da memória. Descobri em um fórum gringo no ano passado que o problema está no chip do ESP por algum motivo os chineses resolveram mudar de fabricante e começaram a usar do fabricante PUYA, então fujam de ESP que usem este fabricante no chip. Tenho outras unidades de outros fabricantes que funcionam perfeitamente.
@InterneteCoisas
@InterneteCoisas 6 жыл бұрын
Olá Adauto, Vocês está gravando esse dado na memória via EEPROM? Lembre que ficam armazenados na memória RAM! Somente após o comando EEPROM.commit() os dados vão para a flash! Se esse é o caso, sugiro que assista o vídeo no Canal sobre o uso da EEPROM com ESP8266: kzbin.info/www/bejne/d6aThpSEncZ1pdU Abraço!
@mauricioalmeida7706
@mauricioalmeida7706 5 жыл бұрын
Bom dia, antes de tudo, parabéns pelo canal de altíssima qualidade e ótimos conteúdos. Baseado neste vídeo consegui utilizar o spiffs, cheguei a fazer uma serie de gravações neste sistema de arquivos, mas chegou um momento que a IDE do arduino informa que o sistema de arquivo está "cheio". Tentei limpar a memória fazendo o carregamento de uma pasta "data" vazia. Mas mesmo assim quando tento carregar novo arquivos, a mensagem de memória cheia ainda persiste. Teria alguma dica ou alguma forma alternativa para limpar a memória para poder carregar novos arquivos? Abaixo são as mensagens que a IDE do arduino exibe ao tentar carregar novos arquivos. Desde já obrigado, grande abraço. SPIFFS Create Failed! [SPIFFS] data : C:\xampp\htdocs\alarme1.0\Sirene odemcuv3\data [SPIFFS] size : 3052 [SPIFFS] page : 256 [SPIFFS] block : 8192 /index.css /index.html /teste.pdf SPIFFS_write error(-10001): File system is full. error adding file! SPIFFS Create Failed!
@InterneteCoisas
@InterneteCoisas 5 жыл бұрын
Olá Maurício, Obrigado pelo feedback! Verifique na IDE do Arduino a quantidade de memória configurada para o módulo e quanto dessa memória foi destinada à SPIFFS. Por exemplo, os NodeMCU normalmente possuem 4MB e por padrão a SPIFFS é configurada para 1MB. Modelos de ESP8266 genéricos por padrão possuem 1MB e a SPIFFS é configurada para zero. Basta ajustar isso na IDE, de acordo com sua Placa. Continue acompanhando o Canal! Abraço!
@JardelSG
@JardelSG 6 жыл бұрын
esta biblioteca serve para o ESP32?
@InterneteCoisas
@InterneteCoisas 6 жыл бұрын
Olá Jardel, Quando você trabalha com o ESP32 na IDE do Arduino, existe uma biblioteca SPIFFS equivalente, inclusive com as mesmas sintaxes e funcionalidades, para o ESP32, mas não é a mesma biblioteca utilizada no ESP8266. Abraço!
@MsMauroluis
@MsMauroluis 5 жыл бұрын
Tenho outra dúvida. Tem como fazer edição nos arquivos depois de enviados? Sei que é possível substituí-los, isto é tranquilo, mas gostaria de criar um arquivo com campos como: usuario1 = fulano, usuario2 = beltrano, usuário3 = ceclano. Então gostaria de alterar apenas o nome do segundo usuário sem ter de apagar todo o arquivo, apenas faria um formulário de config e alteraria os campos e enviar. Sabe algum lugar que tenha um script que possa me auxiliar? desde já obrigado pelos vídeos. um abraço
@InterneteCoisas
@InterneteCoisas 5 жыл бұрын
Mauro, Quando vc altera o arquivo, precisa obrigatoriamente regrava-lo. Faço a seguinte sugestão: crie o arquivo com um conteúdo em JSON, assim vc pode lê-lo e manipular facilmente em memória todos os dados, e depois, grave o arquivo novamente. Me parece uma opção simples e que vai funcionar. Abraço!
@maiquelkappel7745
@maiquelkappel7745 5 жыл бұрын
Boa tarde, é possível salvar um arquivo pdf na memória flash do esp8266 e abri-lo em um navegador de internet utilizando esse recurso?
@InterneteCoisas
@InterneteCoisas 5 жыл бұрын
Olá Maiquel, Sim, qualquer arquivo armazenado na SPIFSS pode ser enviado em uma requisição via HTTP, basta você efetuar a programação no ESP8266. Segue um exemplo básico: File file = SPIFFS.open(F("/Arquivo.pdf"), "r"); if (file) { server.streamFile(file, F("application/pdf")); file.close(); } else { server.send(500, F("text/plain"), F("ERROR 500")); } Procure no Canal, há outros exemplos. Abraço!
Como configurar a Rede Wifi (SSID e Senha) no ESP32 e ESP8266
5:39
Crescer Indústria de Automação
Рет қаралды 12 М.
小丑女COCO的审判。#天使 #小丑 #超人不会飞
00:53
超人不会飞
Рет қаралды 16 МЛН
99.9% IMPOSSIBLE
00:24
STORROR
Рет қаралды 31 МЛН
ESP32 ESP8266 - Carga de Sketch e SPIFFS via OTA - IeC115
28:00
Internet e Coisas
Рет қаралды 10 М.
#121 SPIFFS and JSON to save configurations on an ESP8266
11:30
Andreas Spiess
Рет қаралды 113 М.
ESP32 ESP8266 Armazenando Configuração com JSON e SPIFFS - IeC103
24:26
Internet e Coisas
Рет қаралды 10 М.
ESP32 + LITTLEFS: Salve todos seus dados na memória interna
17:12
Drive Automação e Tecnologia
Рет қаралды 7 М.
ESP8266 Data e Hora via Servidor NTP - IeC11
8:23
Internet e Coisas
Рет қаралды 9 М.
ESP8266 Modo Soft AP com Portal Cativo - Internet e Coisas #18
15:02
Internet e Coisas
Рет қаралды 5 М.
SERIE ESP32 #17: SPIFFS GUARDAR ARCHIVOS EN MEMORIA FLASH ESP32
19:48
ESP8266 e ESP32 com WiFiManager - Pt1
19:20
Fernando K Tecnologia
Рет қаралды 63 М.
小丑女COCO的审判。#天使 #小丑 #超人不会飞
00:53
超人不会飞
Рет қаралды 16 МЛН