d2fa64ecbc958277a63e48050ae2d1aa86766800
Серійний релеювальник Heartbeat
Цей репозиторій містить невеликий Python‑скрипт, який слухає серійний порт,
шукає JSON‑heartbeat повідомлення та відповідає {"hb": 2} на {"hb": 1}.
Його можна запускати як звичайну програму або як сервіс systemd із підтримкою
watchdog.
Вимоги
- Python 3.10+
pyserialsdnotify(необов’язково, але потрібен для інтеграції з systemd)
Встановіть залежності в оточення:
python3 -m venv .venv
. .venv/bin/activate
pip install -r requirements.txt
Ручний запуск
python3 serial_heartbeat.py --port /dev/ttyUSB0 --baudrate 115200 --log-level DEBUG
Аргументи:
--port(обов’язково): шлях до серійного пристрою (наприклад,/dev/ttyUSB0).--baudrate: за замовчуванням 9600.--log-level: будь-який рівеньlogging, типовоINFO.
Сервіс systemd
- Скопіюйте
serial-heartbeat.serviceв/etc/systemd/system/serial-heartbeat.service. - Відкоригуйте шляхи, швидкість та пристрій за потреби.
- Перезавантажте systemd і увімкніть сервіс:
sudo systemctl daemon-reload
sudo systemctl enable --now serial-heartbeat
Сервіс використовує Type=notify, тож systemd очікує сигнал готовності і
контролює watchdog з таймаутом 20 секунд.
Розробка
python3 -m py_compile serial_heartbeat.py— швидка перевірка синтаксису.- Увімкніть рівень журналювання DEBUG, щоб переглядати JSON‑трафік у серійному каналі.
Description
Languages
Python
100%