3. ОБРАЩЕНИЕ К ПРОГРАММНОМУ КОМПЛЕКСУ
3.1. Управление программным комплексом
3.1.1. Взаимодействие прикладного ПО осуществляется по протоколу HTTP/JSON.
3.1.1.1. Под процессами в данном документе понимаются следующие действия выполняемые ПК «ЦТЛ.БИОД»:
1) управление освещением;
2) управление калитками.
3.1.1.2. При старте любого процесса ПК «ЦТЛ.БИОД» формирует уникальный идентификатор, который передаётся во всех сообщениях, имеющих отношение к данному процессу.
3.1.1.3. Любой процесс начинается с сообщения о начале процесса, внутри которого передаётся идентификатор процесса и заканчивается сообщением об окончании процесса, в котором сообщается о статусе выполненного процесса: процесс выполнен без ошибок или передаются возникшие при выполнении процесса ошибки.
3.1.1.4. После сообщения об окончания процесса все данные, хранящиеся в ПК «ЦТЛ.БИОД», относящиеся к данному процессу из ПК, удаляются.
3.1.1.5. В промежутке между началом и окончанием процесса ПК «ЦТЛ.БИОД» можно запросить о текущем статусе процесса передав уникальный идентификатор. В ответ 11110 должно вернуть текущий статус или ошибку о том, что процесс не найден.
3.1.1.6. Идентификатор процесса далее по документу поименован как processID.
3.1.1.7. Все процессы должны происходить в рамках сеанса обслуживания одного субъекта. В начале регистрации в ПК «ЦТЛ.БИОД» передаётся идентификатор прохода, после окончания регистрации передаётся соответствующая команда.
3.1.1.8. Если в ПК «ЦТЛ.БИОД» нет активного идентификатора прохода, то никакие новые процессы не начинаются. ПК «ЦТЛ.БИОД» возвращает ошибку.
3.1.1.9. Идентификатор прохода далее по документу поименован как passID
3.1.2. Настройка параметров информационного взаимодействия через конфигурационный файл
3.1.2.1. Конфигурационный файл представляет собой простую структуру «ключ-значение» с описанием каждого параметра непосредственно в нем. Для изменения параметров информационного взаимодействия, необходимо отредактировать данные в этом файле текстовым редактором. Пример стандартного конфигурационного файла информационного взаимодействия:
[Gates]
enable=true
timeout=10
orphan_baud_rate=9600
acms_card_id_pattem=" [A-Za-zO-9] {6,256} " acms_card_id_mathing_lsb_min=24 Gatel/SN=000011
Gate 1 /wicket 1 /index=0
Gate 1 /w icket 1 /end_s witch_index=0
Gate 1 /wicket 1 /reversed=false
Gate2/SN=301156
Gate2/wicket 1 /index=0
Gate2/wicket 1 / end_switch_index=O
Gate2/wicketl/reversed=false
[Main]
AutoScan=true
CtrlPanelTab=O
FS_Cache=/var/run/ssm-arm/cache
KeepCache=true
V isualDebug=false
Protocol_level=3
Protocoljath=/var/log/ssm-arm
[Mise]
DisplayHttpHeaders=true
[Network]
InPort=8080
OutUrl=http://localhost:3000/biodendpoint
3.1.3. Настройка параметров управления калитками через конфигурационный файл
3.1.3.1. Настройка параметров управления калитками производится в файле /usr/local/share/ssm-arm/ssm.ini. Пример стандартного конфигурационного файла управления калитками:
[Gates]
enable=true
timeout=10
orphan_baud_rate=9600
acms_card_id_pattem=" [A-Za-zO-9] {6,256}" acms_card_id_mathing_lsb_min=24
Gatel/SN=000011
Gate 1 /w icket 1 /index=0
Gate 1 /wicket 1 /end_s witch_index=0
Gate 1 /wicket 1 /reversed=false
Gate 1 /wicket2/index= 1
Gate 1 /wicket2/end_s witch_index=0
Gate 1 /wicket2/reversed=false
Gate2/SN=301156
Gate2/wicket 1 /index=0
Gate2/wicket 1 / end_switch_index=O
Gate2/wicket 1 /reversed=false
Gate2/wicket2/index=2
Gate2/wicket2/end_switch_index=0
Gate2/wicket2/reversed=false
4. ВХОДНЫЕ И ВЫХОДНЫЕ ДАННЫЕ
4.1. Описание методов API
4.1.1. Общие сведения
4.1.1.1. Запрос к процессам ПК производится посредством метода POST, с отправкой JSON-сообщения, содержащего команду и параметры.
4.1.1.2. Логика запроса к API, на примере инструмента curl:
curl —header "Content-Type: application/json" \
—request POST \
—url 'http://localhost:8080'\
—data' {"getStatus": { }}'
Ответ:
{"getStatus": {"Error":"","OutURL":"localhost","ReadError":"","Status":"Success","passI
D":"0","processID":"0"}}
Error - информация о возникших ошибках;
OutURL - URL который будет вызываться для доставки сообщений от 11110.
Замещает значение из конфигурационного файла;
ReadError - Дублирует значение ХХХ.Еггог;
Status - Возможные значения: Success - при отсутствии ошибок; Error - при наличии ошибок;
passID - идентификатор прохода;
processID - уникальный идентификатор процесса
4.1.2. Запрос параметров информационного взаимодействия с помощью тестового приложения
4.1.2.1. Запрос инициализации текущих процессов в ПК