Программа HUB-C2000PP для работы с прибором С2000-ПП

FORUM_NAME: Программное обеспечение для систем безопасности
Описание: Программное обеспечение для систем безопасности
Модератор: Модераторы

Уважаемые пользователи! В связи с отсутствием возможности оплачивать хостинг сайта и отсутствием материальной помощи от пользователей, Форум вынужден будет прекратить работу с Марта месяца 2024 года!.


Phoenix M
Автор темы
Аватара
Phoenix M
Автор темы
Возраст: 42
Репутация: 108
Сообщения: 579
Зарегистрирован: 21.09.2012
С нами: 11 лет 6 месяцев
Профессия: Проектировщик
Откуда: Пятигорск

Непрочитанное сообщение #1 Phoenix » 08.10.2021, 02:30

Разработал программу для опроса прибора С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:
Вложения
1.png
2.png
3.png
4.png
5.png

Phoenix M
Автор темы
Аватара
Phoenix M
Автор темы
Возраст: 42
Репутация: 108
Сообщения: 579
Зарегистрирован: 21.09.2012
С нами: 11 лет 6 месяцев
Профессия: Проектировщик
Откуда: Пятигорск

Непрочитанное сообщение #2 Phoenix » 11.10.2021, 08:17

Снял три видео с Orange PI Zero LTS с разными преобразователями RS485. В зависимости от преобразователя разное энергопотребление. На видео видно как быстро загружается Orange, смотрите на включение красного светодиода рядом с микросхемой памяти. По включению светодиода на самом преобразователе можно судить о начале опроса С2000-ПП, тоже очень быстро.

С преобразователем TTL to RS485 - ~0,55 Вт
С преобразователем USB-RS485 на микросхеме CP2102 - ~0,67 Вт
С преобразователем USB-RS485 на микросхеме XR21B1411 - ~0,72 Вт

Phoenix M
Автор темы
Аватара
Phoenix M
Автор темы
Возраст: 42
Репутация: 108
Сообщения: 579
Зарегистрирован: 21.09.2012
С нами: 11 лет 6 месяцев
Профессия: Проектировщик
Откуда: Пятигорск

Непрочитанное сообщение #3 Phoenix » 15.11.2021, 00:28

Программа обновлена. Версия 1.1.0. Устранены небольшие ошибки, доработан телеграм в части авторизации.
Серверное ПО теперь может выполнять сценарий на JavaScript. Это позволяет реализовать реакцию на изменения состояний шлейфов/разделов/реле. Например сценарий может включить реле при тревоге в разделе. Сценарий настраивается в клиентском ПО на вкладке «Сценарии», там же есть шаблон с закомментированными (отключенными) командами. Сценарий начинает выполнятся сразу после нажатия на кнопку «Сохранить».
4.png

Phoenix M
Автор темы
Аватара
Phoenix M
Автор темы
Возраст: 42
Репутация: 108
Сообщения: 579
Зарегистрирован: 21.09.2012
С нами: 11 лет 6 месяцев
Профессия: Проектировщик
Откуда: Пятигорск

Непрочитанное сообщение #4 Phoenix » 05.12.2021, 14:49

Третьего декабря Telegram сделал сюрприз в виде отключения всех клиентов у которых отсутствует 133 слой API (появился в сентябре). Я обновил telegram.exe в архивах с программой, больше ничего не изменилось. Наверно в дальнейшем добавлю Telegram бота помимо Telegram клиента чтобы подстраховаться от таких сюрпризов.

AEA
AEA
Репутация: 2
Сообщения: 37
Зарегистрирован: 14.03.2014
С нами: 10 лет
Профессия: Монтаж, наладка, ТО

Непрочитанное сообщение #5 AEA » 14.12.2021, 15:21

Работает без обновления. Версия для оранж-пи. Не трогать?

DruG
Активный участник
Активный участник
DruG
Активный участник
Активный участник
Репутация: 140
Сообщения: 1723
Зарегистрирован: 03.03.2016
С нами: 8 лет
Профессия: безобразнорабочий

Непрочитанное сообщение #6 DruG » 14.12.2021, 16:15

следовать старому народному правилу - работает, не трогай :hi_hi_hi:
видимо в используемой библиотеке уже тогда было добавлено всё что нужно, а может такие клиенты не попадают под новые условия - здесь нету отображения каналов.

Phoenix M
Автор темы
Аватара
Phoenix M
Автор темы
Возраст: 42
Репутация: 108
Сообщения: 579
Зарегистрирован: 21.09.2012
С нами: 11 лет 6 месяцев
Профессия: Проектировщик
Откуда: Пятигорск

Непрочитанное сообщение #7 Phoenix » 14.12.2021, 19:28

Не понимаю по какому принципу телеграм блокирует не обновлённых клиентов. У меня не работало, поэтому выпустил обновление.

os_12
os_12
Репутация: 0
Сообщения: 9
Зарегистрирован: 28.04.2022
С нами: 1 год 11 месяцев
Профессия: инженер

Непрочитанное сообщение #8 os_12 » 28.04.2022, 15:32

Добрый день, можно сборку HUB-C2000PP_linux64 под убунту (Armbian 20.02.1 armv7l) ?
И можно чуток подробнее, как сконфигурировать БД и запустить демона на orange pi lite?
У меня 2 файла, vconf - выдает 2 строчки и все, а vlog - ошибку на пустую БД
Спасибо
Вложения
Снимок.PNG

Phoenix M
Автор темы
Аватара
Phoenix M
Автор темы
Возраст: 42
Репутация: 108
Сообщения: 579
Зарегистрирован: 21.09.2012
С нами: 11 лет 6 месяцев
Профессия: Проектировщик
Откуда: Пятигорск

Непрочитанное сообщение #9 Phoenix » 28.04.2022, 17:27

Добрый день.
Vlog и vconf это другая программа.
В архиве HUB-C2000PP для Orange не исполняемый файл, а образ для microSD карты. Программа настраивается по сети в графическом конфигураторе.

os_12
os_12
Репутация: 0
Сообщения: 9
Зарегистрирован: 28.04.2022
С нами: 1 год 11 месяцев
Профессия: инженер

Непрочитанное сообщение #10 os_12 » 28.04.2022, 17:44

Да, это все так, просто я собрал все в кучу, тк пробовал все сразу.

Первый вопрос про демона и конфиг БД, как сконфигурировать базу?

Второй вопрос про link/http%253A%252F%252Farm-skif.ru%252Fdownload%252FHUB-C2000PP%252FHUB-C2000PP_linux64.7z
на моей архитектуре не запускается, можно ли сборку по неё?

Архив HUB-C2000PP для Orange пока не использовал, тк мне это не совсем подходит!

Спасибо

Phoenix M
Автор темы
Аватара
Phoenix M
Автор темы
Возраст: 42
Репутация: 108
Сообщения: 579
Зарегистрирован: 21.09.2012
С нами: 11 лет 6 месяцев
Профессия: Проектировщик
Откуда: Пятигорск

Непрочитанное сообщение #11 Phoenix » 28.04.2022, 18:27

Запишите образ для Orange на microSD карту и скопируйте с нее исполняемый файл /opt/HUB-C2PP/HUB-C2PP
Потом попробуйте запустить его в консоли Armbian, увидите каких зависимостей нет. Скорее всего нужно доустановить libqt5serialport5, libqt5qml5, libqt5Core5a.

Как запустить демона не знаю, можно взять какой-нибудь готовый скрипт из Armbian и поправить его для запуска бинарника HUB-C2PP. Это обычный исполняемый фал, никаких параметров запуска нет.

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

os_12
os_12
Репутация: 0
Сообщения: 9
Зарегистрирован: 28.04.2022
С нами: 1 год 11 месяцев
Профессия: инженер

Непрочитанное сообщение #12 os_12 » 28.04.2022, 19:59

Хорошо, спасибо за ответы, отпишусь в теме!

Phoenix M
Автор темы
Аватара
Phoenix M
Автор темы
Возраст: 42
Репутация: 108
Сообщения: 579
Зарегистрирован: 21.09.2012
С нами: 11 лет 6 месяцев
Профессия: Проектировщик
Откуда: Пятигорск

Непрочитанное сообщение #13 Phoenix » 29.04.2022, 22:18

Вспомнил, что образ для Orange я собрал со стандартной библиотекой Си musl вместо Glibc, так что не заработает. Я в течении месяца планирую выпустить новую версию, соберу и для Armbian.

os_12
os_12
Репутация: 0
Сообщения: 9
Зарегистрирован: 28.04.2022
С нами: 1 год 11 месяцев
Профессия: инженер

Непрочитанное сообщение #14 os_12 » 30.04.2022, 16:59

Хорошо, буду ждать, программу, верней клиент-сервис на винде пробовал, 100% под мои задачи, на данный момент есть несколько orange pi и с2000пп, очень хотелось бы подружить их и слать события из Орион во внешний мир.

На винде удобно, но в плане энергопотребления держать постоянный включенный ПК или даже ноутбук - не очень.

Либо запускать на тонком клиенте, либо на малинке/оранджПай. К чему я веду, было бы удобно и практично, если бы были сборки под разные архитектуры, как с графическим интерфейсом так и без него ( в моем случае платка с hdmi и это удобно ), чтоб каждый мог запустить сервер на своем железе.

еще раз спасибо за софт

os_12
os_12
Репутация: 0
Сообщения: 9
Зарегистрирован: 28.04.2022
С нами: 1 год 11 месяцев
Профессия: инженер

Непрочитанное сообщение #15 os_12 » 07.05.2022, 14:12

Смотрю бот для ПП-шки работает, работа идет?

Phoenix M
Автор темы
Аватара
Phoenix M
Автор темы
Возраст: 42
Репутация: 108
Сообщения: 579
Зарегистрирован: 21.09.2012
С нами: 11 лет 6 месяцев
Профессия: Проектировщик
Откуда: Пятигорск

Непрочитанное сообщение #16 Phoenix » 07.05.2022, 15:01

Идет. Не все еще протестировал и не собрал под все платформы.

os_12
os_12
Репутация: 0
Сообщения: 9
Зарегистрирован: 28.04.2022
С нами: 1 год 11 месяцев
Профессия: инженер

Непрочитанное сообщение #17 os_12 » 10.05.2022, 17:39

Если дело дойдет до релиза, просьба не собирать в целый образ системы! Тк уже устройство функционирует и накатывать новый образ никак не хотелось... :co_ol:

Phoenix M
Автор темы
Аватара
Phoenix M
Автор темы
Возраст: 42
Репутация: 108
Сообщения: 579
Зарегистрирован: 21.09.2012
С нами: 11 лет 6 месяцев
Профессия: Проектировщик
Откуда: Пятигорск

Непрочитанное сообщение #18 Phoenix » 11.05.2022, 14:39

Сборка будет для: Win x86-64, Linux x86-64, образ для Orange PI Zero/PC, отдельно исполняемый файл сервера для Armbian Orange PI Zero/PC (скорее всего заработает и на других armv7), инструкция как собрать программу из исходников на любом Linux любой архитектуры :) там всего 2 команды, только установить нужные зависимости. Думаю уже на этих выходных.

Образ для Orange PI Zero хорош простотой установки. Еще он загружается за 3,5 секунды, что на порядок быстрее чем Armbian.

os_12
os_12
Репутация: 0
Сообщения: 9
Зарегистрирован: 28.04.2022
С нами: 1 год 11 месяцев
Профессия: инженер

Непрочитанное сообщение #19 os_12 » 11.05.2022, 17:31

Хорошо, ждём и будем пробовать!

Phoenix M
Автор темы
Аватара
Phoenix M
Автор темы
Возраст: 42
Репутация: 108
Сообщения: 579
Зарегистрирован: 21.09.2012
С нами: 11 лет 6 месяцев
Профессия: Проектировщик
Откуда: Пятигорск

Непрочитанное сообщение #20 Phoenix » 14.05.2022, 20:54

Версия 2.0:
  • Переработан Telegram. Теперь это именно бот, а не клинт. Поэтому нужен не телефонный номер как ранее, а токен бота, который нужно получить у бота BotFather.
  • В Telegram добавлено удобное меню, управление реле и отображение АЦП. Доработан фильтр зон, можно запретить управление зоной (постановка/снятие) при разрешённом отображении состояния.
  • На вкладку «C2000-ПП» добавлена панель «Коды пользователей», в которой можно задать ФИО для ключа/кода. Это позволяет выводить ФИО в журнале событий. Эта панель изначально выключена, включается галочкой «Показать панель кодов пользователей»
  • Добавлена возможность загрузить из конфигурации Pprog описания шлейфов/реле/разделов/приборов/ключей. Так же эти описания можно сохранить/загрузить в обычный файл.
  • В сценарии добавлена возможность получать и отправлять UDP пакеты. Добавлена программа udp.exe, при помощи которой можно отправить в сценарий данные, например так: «udp 127.0.0.1 10000 текст». Это можно использовать для управления при помощи Алисы.
  • Добавлен исполняемый файл сервера для Armbian 22.02.2 Orangepipc, а так же инструкция по сборке программы из исходных кодов в дистрибутивах GNU/Linux.
Ссылки для скачивания в первом сообщении. В связи с переработкой Telegram, конфигурация версии 2 несовместима с версией 1. Программу нужно настраивать с нуля, а не переносить конфигурацию из прошлой версии. Вот как выглядит Telegram бот:

telegram_bot.png


  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Программное обеспечение для систем безопасности»

Кто сейчас на форуме (по активности за 5 минут)

Сейчас этот раздел просматривают: 6 гостей

forum-bolid.ru : Отказ от ответственности