WeMosD1R1 зависает в неопределенный момент.

SergeiL
SergeiL аватар
Offline
Зарегистрирован: 05.11.2018

Да тут, с большой вероятностью, ошибка программная.

Переходите к варианту предложенному bwn

bwn пишет:

Переходите к следующему этапу - оставляем один модуль, тестируем, подключаем следующий, и смотрим на котором заколбасит. Это опять, не рецепт, а метода. Результат не гарантируется.

P/S И схему со скетчем все таки приложите.

Dimych70
Offline
Зарегистрирован: 03.02.2022

Уже так делал. Колбасит на любом, если хоть один подключен.

brokly
brokly аватар
Offline
Зарегистрирован: 08.02.2014

Это точно программная ошибка. Попробуйте костылить - контролировать зависание i2c и ресетить ее. Что за библиотека у вас работает с I2c. Поройте инет на тему как обрабатывать критические секции в RTOS. Наверняка у вас какая нибудь ардуиновская библа, плохо адаптированная под ESP. И зависимые блоки операций на шине i2c прерываются другим потоком и шина виснет.

bwn
Offline
Зарегистрирован: 25.08.2014

Dimych70 пишет:

Уже так делал. Колбасит на любом, если хоть один подключен.

Попробуйте напрямую через Wire, она честнее будет чем все остальные надстройки. И в чем цель такого частого считывания данных, 30с-минута вполне нормальный интервал.

Dimych70
Offline
Зарегистрирован: 03.02.2022

bwn пишет:

Dimych70 пишет:

Уже так делал. Колбасит на любом, если хоть один подключен.

Попробуйте напрямую через Wire, она честнее будет чем все остальные надстройки. И в чем цель такого частого считывания данных, 30с-минута вполне нормальный интервал.

Да я с удовольствием. Пытаюсь разобраться, но для меня сложновато. Например для RTC у меня получилось надергать из библиотеки только нужные мне шаги и работает уже везде у меня. Тут тоже пытаюсь, может и смогу.

По поводу зачем так часто? Ну чисто для красоты. Понятно скажем в файл у меня идет запись раз в 10 минут. А тут просто чтобы красиво график бежал на экране каждую секунду. Собственно вроде я уже подобрал интервал при котором не зависает. Все данные у меня как и ранее снимаются раз в секунду, а с AHT10 раз в 3 секунды. Со вчерашнего дня работает и не зависло.

SergeiL
SergeiL аватар
Offline
Зарегистрирован: 05.11.2018

Dimych70 пишет:
Собственно вроде я уже подобрал интервал при котором не зависает. Все данные у меня как и ранее снимаются раз в секунду, а с AHT10 раз в 3 секунды. Со вчерашнего дня работает и не зависло.

Возможно это снизит частоту возникновения проблемы, но не устранит ошибку приводящую к ее возникновению.

Нужно искать или программную или алгоритмическую ошибку. Только после этого можно быть уверенным в надежности устройства :-( . 

Dimych70
Offline
Зарегистрирован: 03.02.2022

SergeiL пишет:

Dimych70 пишет:
Собственно вроде я уже подобрал интервал при котором не зависает. Все данные у меня как и ранее снимаются раз в секунду, а с AHT10 раз в 3 секунды. Со вчерашнего дня работает и не зависло.

Возможно это снизит частоту возникновения проблемы, но не устранит ошибку приводящую к ее возникновению.

Нужно искать или программную или алгоритмическую ошибку. Только после этого можно быть уверенным в надежности устройства :-( . 

Да я не знаю где ошибку искать. Код я выше привел, который выдает ошибку. Ну точнее если его отключить, то ошибки не возникает. Где в нем ошибка - не знаю. Точно такой же код ну с некоторыми свойственными другой библиотеке терминами, работает с датчиками на BME280 и никаких ошибок не выдает. Так же я пару дней тестировал, когда поставил интервал 10 минут. Тоже проблем не было. Вчера просто начал увеличивать интервал и вот на 3 секундах до сих пор не подвисло. Конечно я еще погоняю, спешить мне не куда, китайцы категорически отказываются высылать мне светодиодные матрицы. Уже второй продавец 5 дней не отправляет и молчит.

Dimych70
Offline
Зарегистрирован: 03.02.2022

По результатам тестирования несколько дней наверное буду менять датчики на другие.