PERCO
11 мая 2025 г.Около 2 минGateACS
Интерфейс взаимодействия с PERCo
Функциональность
- Мониторинг прохождения через точку по входу/выходу;
- Передача событий о субъекте при проходе точки;
- Передача событий СКУД Perco
Установка модуля:
Создать директорию /opt/perco-gate и поместить в нее perco-gate.jar, application.yml
mkdir /opt/perco-gate
cp perco-gate.jar /opt/perco-gate
cp application.yml /opt/perco-gate
Создать директорию для логов:
mkdir -p /var/log/perco-gate
Настроить к ней путь в конфиге application.yml:
logging:
path: /var/log/perco-gate
Создать символьную ссылку в директории /etc/init.d
cd /etc/init.d
chmod +x /opt/perco-gate/perco-gate.jar
ln -s /opt/perco-gate/perco-gate.jar perco-gate
Перечитать список сервисов linux
systemctl daemon-reload
Запуск и остановку сервиса можно осуществлять стандартынми командами, модуль работает только в режиме 2
service perco-gate start
service perco-gate status
service perco-gate stop
либо
java -jar perco-gate.jar
Ограничение памяти в качестве демона
Для установки лимитов памяти нужно создать в директории perco-gate.jar файл конфигурации perco-gate.conf
и задать в нем нужные лимиты, например:
JAVA_OPTS="-Xms100m -Xmx300m"
Описание устройства
Типовое устройство:
Название | тип | Коммент |
---|---|---|
direct_in | импульс | количество входов через точку |
direct_out | Импульс | количество выходов через точку |
fio | строка | ФИО субъекта |
eventID | мгн. значение | Идентификатор события PERCo по устройству доступа |
Дополнительные параметры заводятся согласно правилам, при объявлении событий с обязательным значением value
Настройка модуля
spring:
application:
name: perco-gate
main:
web-application-type: none
allow-circular-references: true
# console | file профили логирования (см. конфиг logback-spring.xml)
profiles:
active: console
jackson:
serialization:
write-dates-as-timestamps: true
logging:
level:
root: ERROR
stat: INFO
ru.inspark: DEBUG
perco:
server:
url: http://127.0.0.1/api
login: user
password: password
# Часовой пояс (смещение в часах от UTC) в котором ищет события PERCo
# (выдает в событии два времени локальное и UTC в разных атрибутах, но ищет только по локальному)
timezone: 3
# Настройки на платформу Inspark
rest:
# адрес rest сервисов инстанса Inspark
url: http://localhost:8080/sem-restservices/
# пользователь Inspark от которого выполняется подключение к сервисам
user: user
# пароль для user
password: password
extSystemId: PERCO
artemis:
# адрес jms сервиса инстанса Inspark
url: tcp://localhost:61616
# пользователь для подключения к сервису
user: artemis
# пароль для user
password: artemis
# настройки очередей (см. имена свойств и дефолты в lib-gate)
queue:
measure:
destination: jms.queue.Measure
event:
destination: jms.queue.Event
# Настройка стандартных топиков каналов устройства PERCo в Semnext, будут передаваться для настроенных событий
channels:
fio: fio # Инфо об объекте
eventId: event # Идентификатор события PERCo по устройству оступа
events:
refs:
# сопоставление событий в сообщениях событий в PERCo идентификаторам событий sem-next
- # тип события в PERCo
percoEventId: 106 #FireAlarm of
# Идентификатор события в Semnext
semEventId: 5050
# Шаблон текста события, поддерживаются подстановки
# $ACCESS_DEVICE - наименование УСТРОЙСТВА доступа PERCo
# $ZONE_IN - зона со стороны входа
# $ZONE_OUT - зона со стороны выхода
# $FIO - фио связанного с событием
semEventMessageTemplate: Взлом устройства $ACCESS_DEVICE
# Топик канала устройства PERCo для поиска измеряемого параметра которому отправить значение по событию
semChannel:
# значение отправляемое по событию
value: 1
- .......
Полный список event событий см. в файле application.yml в поставке модуля.
Настройка в платформе
- Создать ТК, в схемы подключения включить устройство perco с типом подключения GATE.
- Подключить ТК к объекту.
- Создать Провайдера (например ID = PERCO).
- Запрашиваются в PERCO идентификаторы точек прохода.
- В Секции Устройства внешней системы зарегистрировать ID точек прохода.
- Связать каждую точку прохода с экземпляром устройства платформы.
- Запустить perco-gate.