Embeddedesp8266

Reparar o SPIFFS no ESP8266 com MicroPython

MQTT no ESP8266 | webserver com micropython

Não é uma solução mágica, mas é melhor do que fazer o flashing outra vez.

Estou com 2 ESP8266 que ficam ligados 24×7 e em um deles em determinados períodos o sistema de arquivos corrompe. Já fiz alguns flashings, então decidi dar uma pesquisada para ver se tinha outra forma de amenizar o problema. Tem, mas não é tão simples nem tão legal.

Faça backup dos seus arquivos

Do mesmo modo que em seu computador pessoal, faça backup dos arquivos do ESP8266. Utilize o WEBREPL para essa tarefa. Se não conhece ainda ou se não lembra como usa, vou deixar as dicas.

WEBREPL





Você precisará habilitar o serviço no ESP8266 e fazer o download do client. Para habilitá-lo no ESP8266, simplesmente faça a conexão serial e digite:

Em seguida ao prompt, digite “E” e então digite uma senha. Por fim, você será questionado sobre o reset. Confirme com “y”.

Pegue o client nesse endereço do github. Após baixá-lo, bastará copiar os arquivos contidos na flash do ESP8266. Para saber quais são, na conexão serial digite:

No client, utilize algo como:

Esse comando copia o arquivo boot.py para o diretório atual. Faça isso para todos os arquivos, criando um diretório para armazená-los.

Sistema de arquivos corrompido

Quando seu sistema de arquivos corromper, mais nada será executado, porque não há mais arquivos para executar, porém o sistema todo estará funcionando. Quando seu sistema de arquivos estiver corrompido, você deverá ver algo assim ao tentar listar a flash:

Sistema de arquivos corrompido
Sistema de arquivos corrompido

Parecido com o comportamento dos mount points do Linux, você pode montar e desmontar a flash:

Ele deverá retornar uma mensagem parecida com essa:

The FAT filesystem starting at sector 144 with size 875 sectors appears to
be corrupted. If you had important data there, you may want to make a flash
snapshot to try to recover it. Otherwise, perform factory reprogramming
of MicroPython firmware (completely erase flash, followed by firmware
programming).

Só que isso permanecerá em um loop, portanto interrompa com Ctrl+C.

Para formatar e montar o sistema de arquivos , use esses comandos:

Nesse ponto você já deve ter o sistema de arquivos devidamente funcional, mas ainda não pode reiniciar o ESP8266 porque não tem o arquivo de boot. Nesse momento, você deve criá-lo, ainda que depois você o substitua pelo arquivo boot.py que você fez download:

Agora você já pode fazer um reset do ESP8266:

Após o reset o sistema deve voltar a funcionar normalmente, mas no meu caso eu cometi um erro de identação no boot.py e o webrepl não iniciou. Nesse caso, inicie-o manualmente:

Como eu já tinha uma série de arquivos no sistema de arquivos do ESP8266 (e como uso Linux), fiz um loop no shell para copiar os arquivos com o webrepl_cli:

Desse modo, só tive que digitar a senha a cada arquivo em linha de transferência. No meu caso, ainda tinha o umqtt (que é um diretório) a ser transferido. Primeiro criei o diretório remoto, entrei no diretório local e transferi com quase o mesmo comando. Primeiro na conexão serial:

Depois, a tranferência a partir do computador:

Pronto para o reset:

E tudo estará funcionando novamente!

Inscreva-se no nosso newsletter, alí em cima à direita e receba novos posts por email.

Siga-nos no Do bit Ao Byte no Facebook.

Prefere twitter? @DobitAoByte.

Inscreva-se no nosso canal Do bit Ao Byte Brasil no YouTube.

Nossos grupos:

Arduino BR – https://www.facebook.com/groups/microcontroladorarduinobr/
Raspberry Pi BR – https://www.facebook.com/groups/raspberrybr/
Orange Pi BR – https://www.facebook.com/groups/OrangePiBR/
Odroid BR – https://www.facebook.com/groups/odroidBR/
Sistemas Embarcados BR – https://www.facebook.com/groups/SistemasEmbarcadosBR/
MIPS BR – https://www.facebook.com/groups/MIPSBR/
Do bit Ao Byte – https://www.facebook.com/groups/dobitaobyte/

Projetos Arduino e Eletrônica – https://www.facebook.com/groups/projetosarduinoeletronica/

ESP8266 BR – https://www.facebook.com/groups/ESP8266BR/

Próximo post a caminho!

 

One comment

Comments are closed.

%d blogueiros gostam disto: