Что такое Watchdog и его применение при потере связи на Raspberry Pi

19 марта 2019, 21:45

Предостережение

Перед тем как выполнять действия, описание в этой статье, пожалуйста прочтите мнение редакции в конце.

Watchdog расшифровывается как сторожевой таймер. Основная его функция - перезапуск системы в определённых случаях, таких как: зависание системы, повышенная температура, пропадание связи и т.д. Бывает аппаратный, программный и программно-аппаратный.

Меня заинтересовала прежде всего такая функция, как перезапускать систему при отсутствии связи с роутером. Почему прежде всего именно эта функция?

У меня часто отключают свет в квартире, а при подаче питания вновь часто отваливается HomeBridge на  микроконтроллере Raspberry Pi 3 (далее малинка). Лечится это перезагрузкой самой малинки. Причина до конца не выяснена, но думаю мой роутер запускается позже чем сама малинка. Проведя эксперимент с выключением роутера во время работы малинки, я убедился что HomeBridge перестает функционировать. Вы можете проверить сами и написать в комментариях как решили данную проблему. Может быть проблема могла решиться заданием статического IP на самой малинке, но я это не проверял.

На малинке установлен образ с Node 10 по статье нашего коллеги. Малинка подключена к роутеру с помощью кабеля и её IP зарезервирован как статический адрес на роутере. 

Так вот для решения проблем с пропаданием питания, благодаря советам нашего сообщества, я решил установить Watchdog. Как готовое решение  я взял статью,  которая полностью соответствовала моим запросам.

Заходим на малинку по SSH и устанавливаем демон Watchdog  командой:

sudo apt-get install watchdog

Далее делаем бэкап конфигурационного файла, если что-то пойдет не так и для отказа от работы Watchdog, если нет больше необходимости.

sudo cp /etc/watchdog.conf /etc/watchdog.conf.backup

Далееи редактируем файл конфигурации /etc/watchdog.conf

sudo nano /etc/watchdog.conf

В файле конфигурации необходимо раскомментировать ниже приведенные строки и задать Ваши параметры

# Watchdog ping: если не отвечает, то перезагрузка:

ping= 192.168.0.1 # IP моего роутера

interface= eth0     # используем wlan0 для Wi-Fi

ping-count = 5       # ping 5 раз

# Смена интервала по умолчанию с 1 секунды на 20:

interval = 20          # проверка watchdog каждые 20 секунд

Далее перегружаемся

sudo reboot

Теперь при отсутствии пинга 5 раз каждые 20 секунд (через 100. секунд) малинка будет перегружаться. Конечно интервал и количество пингов можно изменить в зависимости от задач, а так же при необходимо сменить IP на внешний (8.8.8.8 для примера) для проверки работоспособности интернета (хотя зачем это в моем случае).

Ложка дёгтя

Надо помнить, что при потере связи с указанным IP адресом малинка будет постоянно перегружаться и если Вы этого не хотите, то надо вернуть старый файл конфигурации (мы его специально сохраняли). Делается это командой

sudo cp /etc/watchdog.conf.backup /etc/watchdog.conf

Далее перегружаемся

sudo reboot

Я тестировал работу Watchdog , описанную в статье, отключая роутер на интервал более заданного и малинка перегружалась. При отключении роутера на меньшее время HomeBridge всё равно не запускался, так что Watchdog оказался бесполезен для решения конкретно моей задачи. Возможно что Watchdog контроля связи будет особенно полезен для тех кто использует Wi-Fi подключение. Как это повлияет на работоспособность малинки при длительном отсутствии связи (умер роутер) я не знаю. Рекомендую иметь рабочий бэкап прежде чем что либо устанавливать.

Как я уже писал выше Watchdog может перегружать малинку и по другим событиям, но это уже другая, не мене интересная тема., которую я продолжу изучать. Для желающих разобраться ниже ссылки на инструкции по Watchdog.

Ссылки на статьи по Watchdog: инструкция по Watchdog, файл конфигурации watchdog.conf

Прикольная картинка взята здесь

Мнение редакции

Мы считаем действия, описанные в статье слишком кардинальными, и избыточными. Необходимо более детально разбираться в корне проблемы а не перезагружать всю систему при каждом чихе. В данной проблеме вполне возможно помог бы рестарт сервиса бриджа или переподключение сетевого интерфейса.


Все новости мира умных домов - t.me/SprutAI_News

Остались вопросы? Мы в Telegram - t.me/soprut

  1. Александр Жабунин (OXOTH1K)

    Надеюсь автор найдет истиную причину и устранит ее менее кардинальным способом, но все равно спасибо за статью!

    • Евгений Лузин (EvLuz)
      Евгений Лузин (EvLuz) 3 месяца назад

      Гитхаб для бриджа содержит болле 1000 сообщений, попробую выудить всю полезную информацию, но похоже моя проблема уже сдвинулась, если уже не решилась и конечно без перезагрузки малинки.

  2. (anton.n.kiselev)
    (anton.n.kiselev) отредактировано 3 месяца назад

    Установил бридж как сервис, при зависании сам перезапускает. А вообще, может тогда подумать о бесперебойнике раз такие жесткие проблемы с электричеством? Или как вариант управляемая розетка с внешнего сервера (евелинк или сяоми например). Но статья интересная 👍

  3. Евгений Лузин (EvLuz)
    Евгений Лузин (EvLuz) 3 месяца назад

    Чаще всего бридж не виснет, причем через web ui можно управлять, отваливается та часть, которая отвечает за связь с программой Дом. Я уже накопил часть информации и думаю выложу в блог. На Гитхабе по бриджу более 1000 запросов, хочу найти всё по моей теме и предложить действия.

К списку статей

Похожие статьи

15 ноября 2018, 13:11
Xiaomi Mi Remote 360 добавляем Apple HomeKit
04 сентября 2018, 12:14
Интеграция RGB ленты на ESP8266 с прошивкой tasmota в систему HomeBridge (HomeKit)
15 ноября 2018, 09:42
Способы автоматизации механических ворот
15 июня 2018, 12:13
Охранная система в гараж на ESP8266 с интеграцией в Apple HomeKit
28 августа 2018, 09:48
От голого Raspbian до веб-интерфейса homebridge за четыре команды в терминале.
14 ноября 2018, 06:43
Плагин для интеграции в Athom Homey дочерних zigbee-устройств, подключенных на координаторы deCONZ - RaspBee или ConBee.
25 ноября 2018, 18:23
Умное зеркало добавляем модули Airplay и Google Calendar
04 апреля 2019, 17:48
Расскажу о том за ~1 час перевезти УД с 2мя USB стиками с Raspberry PI на Synology NAS.
03 октября 2018, 22:03
Как собрать и настроить Hyperion Ambilight - адаптивную подсветку ТВ.
29 декабря 2018, 07:22
Ну что, в канун Нового года. Предлагаю небольшой провокационный список. Не надо его рассматривать как руководство к действию - это мои "мысли на тему". Позитива не ждите, но может кто-то сделает ответочку в позитивном стиле.