Есть один датчик температуры, подключенный по 1wire к самому контроллеру. Питание на контроллер подается по PoE.
Датчик работает от нескольких часов до 3-х дней и потом перестает передавать показания. Отключение/включение питания на 5Vout не помогает. Отваливается одинаково стабильно что на W1, что на W2.
Помогает только физическое отключение/подключение проводка питания.
Подскажите, как-то можно наладить чтобы датчик работал без сбоев?
Некоторые датчики защелкивают линию данных, притягивая ее к Gnd и не отпускают. Для борьбы с подобным поведением мы добавили несколько фиксао в в ядро, так что если релиз на контроллере устаревший - имеет смысл его обновить, кстати.
Проверил напряжение на шине данных в “отвалившемся” состоянии, 4.888 вольт. Отключил, подключил питание. Те же 4.888 вольт, только теперь показания поехали передаваться в топики, как бы заработало на какое-то время.
Обновления все поставил (перед этим ставил пару недель назад).
Так, уже лучше, датчик не впадает в защелкивание.
Но все равно - перестает отвечать, ядро пытается три раза с промежутком в 10 секунд его начать опрашивать - не получает ответа и прекращает.
Я не думаю что тут можно бороться программно, практика показывает что эффективнее - просто сменить датчик.