ESP8266, периодически отсутствует доступ на запись в файловую систему

У меня есть проект ESP8266, который считывает мое потребление газа. Аппаратное обеспечение и проект работают удовлетворительно. Время от времени ESP8266 больше не может выполнять запись в свою файловую систему и, следовательно, не может сохранять какие-либо данные. Как только я снова загружаю полные данные и скетч на устройство, оно работает в течение нескольких месяцев. После этого ошибка повторялась снова и снова. Что бы это могло быть?

Затем ESP8266 выдает ошибку "Исключение". К сожалению, мне пока не удалось найти причину ошибки, почему это всегда происходит.

У кого-нибудь есть совет, как я могу изолировать проблему?

https://github.com/HomeAutoUser/ESP-Gaszaehler-GZ16/tree/pre-release_v1.91

, 👍2

Обсуждение

что это за то, что вы пишете? файлы конфигурации или журналов? если вы загружаете данные, содержат ли они файлы с зарегистрированными данными? разве файловая система просто не переполнена?, @Juraj

делает https://github.com/me-no-dev/EspExceptionDecoder дать вам еще какую-нибудь информацию о том, что взрывается? Исправляет ли это перезагрузка один раз в день?, @dandavis

Я полагаю, что связь разорвана. Также может быть, что флэш-память модуля изнашивается, хотя я не уверен, как повторная загрузка исправит это, если это так., @RDragonrydr

Теперь ссылка исправлена., @user11528497


1 ответ


1

Я столкнулся с той же проблемой с моим детектором утечки воды, основанным на esp8266. Это было вызвано утечкой памяти в двоичных файлах ESP, поэтому я обновил его до версии 2.6.3

Итак, вы можете попробовать записать (распечатать в последовательный) объем свободной памяти:

extern "C" 
{
    #include "user_interface.h"
}
uint32_t free = system_get_free_heap_size();
,

Спасибо за ответ. Теперь у меня проблема в том, что он может быть скомпилирован с ядром 2.5.2, но не с ядром 2.6.3. Я добавил приведенный выше код. Внезапно переменная не должна быть объявлена. статус выхода 1 StaticRequestHandler не был объявлен, @user11528497

Строка 'extern "C" { #включить "user_interface.h" }' уже находится в коде., @user11528497

утечка памяти произошла с WiFiClient в версии 2.4.1 2 года назад, @Juraj

@Juraj, хорошо, итак, есть еще какие-нибудь идеи?, @gbg