Здравствуйте!
В скрипте происходит чтение параметров датчика:
data = read_word(BMP280) # это из библиотеки smbus
Если датчик через какое-то время не отвечает (отвалился), тут все виснет.
Сейчас решаю это так: параллельно запускается еще один скрипт - watchdog, который контролирует завершение первого скрипта, и если он не завершился через какое-то время, просто “убивает” его.
На мой взгляд это очень коряво. Тем более датчиков очень много и придется “сторожить” каждого.
В поисковиках нашел предложение использовать subprocess с параметром timeout. Но не понял, как это будет выглядеть в моем случае. Прошу пример кода.
Спасибо.