Разработал программу для опроса прибора С2000-ПП. Программа интересна тем, что может работать на одноплатных компьютерах
Orange Pi Zero,
Orange Pi Zero3,
Jethub H1.
Возможности по опросу и управлению С2000-ПП: журнал событий, состояния шлейфов/разделов, постановка/снятие шлейфов/разделов, управление реле, АЦП (температура, влажность, СО), напряжение и ток РИП, показания счетчиков С2000-АСРх.
Реализован запрос состояний шлейфов в зависимости от возникающих событий, что уменьшает время обновления состояний шлейфов и разделов. Важной особенностью программы является то, что для опроса состояний шлейфов и значений АЦП программа опирается на конфигурацию прибора, что исключает опрос не сконфигурированных шлейфов. Реализованы очереди с разными приоритетами опроса, что уменьшает время реакции на команды пользователя (постановка/снятие, управление реле).
Программа может отправлять тревоги на электронную почту (SMTP), отправлять SMS при помощи GSM модема, Telegram (отображение и управление).
Поддержка Telegram реализована не при помощи бота, а при помощи полноценного Telegram-клиента, это имеет как преимущества, так и недостатки: более стабильная работа при возможных блокировках, проще настроить, но требуется телефонный номер и желательно не тот же самый на какой будут отправляться сообщения, т.к. сообщения самому себе приходят без всплывающих уведомлений. В версии 2.0 был реализован Telegram бот, т.к. Telegram начел менять протокол и отключать не обновленных клиентов.
Программа клиент-серверная, т.е. серверная часть без графического интерфейса может быть запущена на одном компьютере, а клиентская на другом. Серверная часть конфигурируется по сети. Обмен данными по сети зашифрован при помощи алгоритма шифрования ГОСТ Р 34.12-2015 (Кузнечик).
Программа кроссплатформенная, есть сборки для Windows и Linux. Есть так же образ microSD карты с серверной частью для одноплатного компьютера Orange Pi Zero LTS. Есть функция поиска серверов в локальной сети широковещательными пакетами UDP, особенно это актуально для одноплатных компьютеров.
15.11.2021: Серверное ПО теперь может выполнять сценарий на JavaScript. Это позволяет реализовать реакцию на изменения состояний шлейфов/разделов/реле. Например сценарий может включить реле при тревоге в разделе. Сценарий настраивается в клиентском ПО на вкладке «Сценарии», там же есть шаблон с закомментированными (отключенными) командами. Сценарий начинает выполнятся сразу после нажатия на кнопку «Сохранить».
Скачать для:
Windows,
Linux64,
Orande Pi Zero,
Orande Pi Zero3,
JetHub H1,
Docker,
Инструкция для сборки из исходников.
Исходные тексты программы открыты под лицензией
Unlicense (Общественное достояние, можно использовать код без ограничений). Некоторые файлы под другими лицензиями, например шифрование, смотрите внимательно какая лицензия в каждом файле.
Клиент Telegram оформлен в виде отедльного исполняемого файла, и основан на библиотеке TDLib, у нее лицензия Boost. Все программы можно собрать в Qt Creator и Qt 5 либо Qt 6.
Внешний вид программы в Linux: