wdtmon4
Программа для настройки и работы с USB Watchog Pro2
Внимание: программа находится в стадии beta-тестирования, если вы заметите неправильное поведение программы, пожалуйста сообщите в ТП или на main@open-dev.ru
wdtmon4 включает многие возможности из wdtmon3 и wdtmon3-mini
и добавляет ещё
Фунционал
Самые значимые особенности
  • 1
    Консольная программа
    Программа запускается из консоли, что позволяет её использовать также в ОС без графического интерфейса и удобно ставить в автозагрузку.
  • 2
    Можно запускать как службу в Windows
    Как службу в Windows можно запускать только программы без графического интерфейса.
  • 3
    Встроенный веб-сервер
    Для того, чтобы увидеть интерфейс программы, нужно открыть адрес http://localhost:8000 в web-браузере.
    С другого компьютера этой локальной сети можно открыть по адресу http://<ip_компьютера>:8000
  • 4
    Встроенный монитор загрузки
    Встроенный монитор для контроля загруженности системы через web-интерфейс.
  • 5
    Встроенный облачный клиент
    Встроенный клиент для работы с нашей новой облачной системой connect.unitx.pro
  • 6
    Встроенный монитор процесса
    Позволяет перезагружаться при "падении" процесса.
  • 7
    Встроенный монитор сетевого адреса
    Позволяет перезагружаться при пропажи сети или конкретного узла.
  • 8
    Изменение настроек сторожевого таймера
    Чтение-запись настроек устройства
Перед работой в Windows7 понадобится установить драйвер CDC.
В Windows 8, Windows 10, Linux, macOS установка драйвера не требуется.
Работа в ОС ниже Windows7 не поддерживается.
Установка и работа
1
Скачайте подходящую версию под свою ОС.
2
Узнайте номер COM-порта (для win-систем) или имя устройства (для *nix) своего сторожевого таймера. Для старых Win-систем может понадобится установка драйвера.
3
В консоли перейдите в папку с программой и запустите её в формате wdtmon... /dev/ttyACM0
Где wdtmon... - название вашего исполняемого файла (в зависимости от платформы),
/dev/ttyACM0 - название файла устройства или, например, COM3 для Windows.
В *nix системах убедитесь, что у пользователя, запускающего программу, достаточно прав для открытия файла устройства.
Пример: |
На этом всё: у сторожевого таймера должен периодически мигать зелёный светодиод. Если больше ничего не требуется, остальное можно пропустить.
4
Если вам нужен интерфейс для настроек или контроля, то добавьте дополнительно параметр -w
Возможно, в вашей ОС также понадобятся дополнительные права/разрешения для открытия вебсервера.
Откройте web-браузер с адресом http://localhost:8000
Если всё прошло нормально, вы должны увидеть такую страницу:
5
Перед вами страница управления. На ней можно увидеть версию устройства, его состояние. Время работы программы. Температуру термодатчика (если он установлен).
В правом верхнем углу можно увидеть клавиши ручного управления:
Reset — кнопка для отправки команды «Перезагрузка» на USB WatchDog
Power — кнопка для отправки команды «Жесткая перезагрузка» на USB WatchDog
Off — кнопка для отправки команды «Выключить ПК» на USB WatchDog
6
Блок ниже позволяет вносить некоторые коррективы в алгоритм работы сторожевого таймера.
Логика работы приложения
Приложение периодически отправляет на USB WatchDog Pro2 сигнал сброса таймера:
1. "Монитор ip адреса" выключен, "Монитор процесса" выключен:
сигнал отправляется раз в 2 секунды
2. "Монитор ip адреса" включен, "Монитор процесса" выключен:
раз в 2 секунды на заданный адрес отправляется ping-запрос, сигнал на устройство отправляется только если ping-запрос успешен.
3. "Монитор ip адреса" выключен, "Монитор процесса" включен:
раз в 2 секунды проверяется активность заданного процесса, сигнал на устройство отправляется только если процесс активен.
4. "Монитор ip адреса" включен, "Монитор процесса" включен:
раз в 2 секунды на заданный адрес отправляется ping-запрос и проверяется активность заданного процесса, сигнал на устройство отправляется только если ping-запрос успешен и процесс активен.
7
Блок управления светодиодом позволяет выключить мигание зелёного светодиода.
8
Кнопка "Пауза" позволяет временно остановить сторожевой таймер. Например, чтобы можно было запустить обновление ОС.
9
Ссылка "Монитор" позволяет открыть страницу на которой можно получить некоторые сведения о загруженности системы.
10
Раздел "Настройки" позволяет производить чтение-запись параметров устройства. Данные параметры хранятся в его энергонезависимой памяти. В большинстве случаев изменение настроек не требуется.
Данный раздел позволяет изменить значения периодов нажатия-ожидания кнопок Power и Reset, а также отключать данные каналы.
Параметр "Ограничение перезагрузок" заставит сторожевой таймер перестать перезагружать ПК после N неудачных попыток. 0 - пытаться бесконечно.
Параметр "Порог температуры" - выключит ПК при достижении заданной температуры термодатчика (если он установлен).
11
Раздел "Connect" позволяет настроить клиента нашего облачного сервиса Connect.UnitX
Сторожевой таймер может передавать в сервис данные о включениях и о значениях термодатчика (если он установлен). Для регистрации не нужно никаких персональных данных. Вы получаете токен, который используется как логин/пароль/идентификатор пользователя.
12
Чтобы сервис передавал данные в облако, программа должна быть запущена с дополнительным параметром -c. При этом web-интерфейс может быть как включен, так и выключен.
13
Настройки (для платных тарифов):
Имя устройства - имя, как устройство будет отображаться в сервисе.
Оповещения - включить уведомление в Telegram, при переходе через значение "Значение" параметра "Источник".
Источник - для сторожевого таймера может быть источник "загрузка" или "температура"
Значение - для источника "загрузка" 1 - работа, 2 была перезагрузка; для "температура" - градусы.
Период - через какие промежутки времени отправлять в облако данные, в минутах.

В бесплатном тарифе облака можно смотреть только текущие значения.
В платном тарифе: хранение данных и оповещения.

14
При нажатии на ссылку Аккаунт можно перейти на экран своего аккаунта в сервисе.
15
В платном тарифе можно посмотреть историю работы устройства
Частые вопросы
Ограничение количества попыток перезапуска сторожевым таймеров.
По-умолчанию, сторожевой таймер пытается перезагрузить пк неограниченное количество раз подряд. Если требуется ограничить максимальное количество последовательных попыток перезапуска, необходимо выставить значение параметра Reset Counter отличным от нуля (1-15). Например, при установке значения 10, сторожевой таймер повторит 10 циклов перезагрузки ПК (Reset+Power), выключит машину и остановится в ожидании команды (с постоянным частым миганием красного светодиода). Каждая из попыток выполнить Reset или Power идут за одну, т.е. при установленных 10 попытках - это будет 5 попыток Reset и 5 Power. Если один из каналов отключен, например, активирован только Power, то это будет 10 попыток выполнить перезагрузку, методом нажатия на Power подряд.

Когда сторожевой таймер отработает заданное количество попыток перезапуска, он перейдет в режим ожидания с миганием красного светодиода до получения первой команды от программы или скрипта!
Ссылки
На полезные ресурсы
  • 1
    Исходный код
    Код выложен в репозитории.
    Проект состоит из двух частей: web-сервера на go и frontend на React.