REST API в U‑PROX: приклади керування реле та онлайн-інтеграція
REST API в U‑PROX: приклади керування реле та онлайн-інтеграція
Діліться та зберігайте
ПЗ U-PROX (воно ж U-PROX IP , воно ж U-PROX Web) – має 2 користувацькі інтерфейси (класичний Windowsінтерфейс, та веб-інтерфейс), використовує СУБД MSSQL, та працює на сімействі ОС Windows.
Використання API – після встановлення компоненти Web-сервер, до основної компоненти – Сервер U-PROX.
Дивіться опис нижче, та “підсвічені” кольором елементи.
В описі API (нижче Блок Б.) – скористайтеся такими пунктами для налаштування власних реакцій:
Documentation\html\Authenticate.html – приклад аутентифікації і підключення до сервера
Documentation\html\EventGetList.html – приклад отримання подій і їх відображення в режимі реального часу “Soft Real-Time”
Documentation\html\DoorControl.html – приклад управління дверима
У системі U-PROX не передбачено довільного механізму реакцій. Реакції реалізуються виключно через визначені передустановки, що пов’язані або з режимом вільного проходу (тобто реле, які керують замками), або з роботою датчика дверей (активація тривожного реле).
Усі інші сценарії поведінки можуть бути реалізовані лише через API-інтеграцію, з використанням відповідного інструментарію.
Окремо існує можливість керування реле за розкладом, але це є іншим функціональним механізмом і не належить до довільних реакцій.
Для роботи з API рекомендується використовувати версію U-PROX IP не нижче v3.057.7988.iso (посилання доступне в описі API), а також скористатися наведеними нижче прикладами реалізації.
Використовуйте один із двох підходів:
АБО налаштуйте керування відповідними реле за розкладом, вказавши для них режим «Програмований», з типом дії «Старт-Стоп», «Імпульс» або «Тригер»;
АБО реалізуйте керування цими реле через API.
Наприклад, у разі настання події «вільний прохід» на певному контролері або за допомогою окремої зовнішньої команди, може бути задіяний механізм керування через API. У результаті цього активується реле контролера IP400, яке попередньо налаштоване як «програмоване», та виконує відкриття технологічного проходу.
Детальні приклади реалізації дивіться у нижченаведених описах: Блок А та Блок Б.
Блок А
Додаткові реле мають бути з типом використання “Програмований”, – для можливості їх задіяти через API для зовнішнього керування.
В описі API (нижче Блок Б.) – скористайтеся пунктом:
Documentation\html\DoorControl.html – приклад управління дверима
Який містить відповідну функцію “DeviceOutputCommand“
function DeviceOutputCommand(command, output) { if (!output) { return } // command: // DeviceOutputActivate – увімкнути релейний чи транзисторний вихід контролера // DeviceOutputDeactivate – вимкнути релейний чи транзисторний вихід контролера var url = ‘http://localhost:40001/json/’ + command var payload = { UserSID: $scope.UserSID, DeviceToken: output.DeviceToken, OutputIndex: output.DeviceIndex } $http.post(url, payload).then( LogResponse, LogError ) }
// варіанти використання виходів контролера const DOU_UNUSED = 0 // вихід не використовується const DOU_LOCK = 1 // вихід використовується для керування замком const DOU_BELL = 2 // вихід використовується для керування пристроєм прихованої індикації тривоги const DOU_ALARM = 3 // вихід використовується для керування сиреною const DOU_TURNSTILE = 4 // вихід використовується для відключення живлення турнікетів декотрих типів, та автоматичного опускання їх штанги в режимі вільного проходу const DOU_SOFTWARE_CONTROLLED = 5 // вихід під керуванням прикладного програмного забезпечення за допомогою API-запитів DeviceOutputActivate/DeviceOutputDeactivate const DOU_CARD_COLLECTOR_PASS = 6 // вихід використовується для видачі сигналу “Пропустити картку” для пристрою збору RFID-карток const DOU_CARD_COLLECTOR_GET_CARD = 7 // вихід використовується для видачі сигналу “Забрати картку” для пристрою збору RFID-карток const DOU_CARD_COLLECTOR_RETURN_CARD = 8 // вихід використовується для видачі сигналу “Повернути картку” для пристрою збору RFID-карток const DOU_TURNSTILE_EMERGENCY_EXIT = 9 // вихід використовується для переведення турнікета з імпульсним керуванням в режим вільного проходу const DOU_TURNSTILE_BLOCKING = 10 // вихід використовується для переведення турнікета з імпульсним керуванням в режим блокування
<div ng-app=”exampleApp” ng-controller=”exampleController”> <form novalidate class=”simple-form”> <label>Login: <input type=”text” ng-model=”login” /></label><br /> <label>Password: <input type=”text” ng-model=”password” /></label><br /> <div ng-if=”UserSID == ””> <hr> <label>Disconnected</label><br /> <hr> <input type=”button” ng-click=”Authenticate(login, password)” value=”Authenticate” /> </div> <div ng-if=”UserSID != ””> <hr> <label>Connected</label><br /> <hr> <label>Door: </label><select ng-model=”door” ng-options=”x.Name for x in doors” ></select><br /> <input type=”button” ng-click=”DoorCommand(‘DoorAccessIn’, door)” value=”DoorAccessIn” /><label>Unlock door for single entrance</label><br /> <input type=”button” ng-click=”DoorCommand(‘DoorAccessOut’, door)” value=”DoorAccessOut” /><label>Unlock door for single exit</label><br /> <input type=”button” ng-click=”DoorCommand(‘DoorUnlock’, door)” value=”DoorUnlock” /><label>Unlock door for multiple entrances and exits (free pass mode)</label><br /> <input type=”button” ng-click=”DoorCommand(‘DoorBlock’ , door)” value=”DoorBlock” /><label>Lock door and grant access to security service only</label><br /> <input type=”button” ng-click=”DoorCommand(‘DoorLock’, door)” value=”DoorLock” /><label>Lock door and grant access to enabled cards (default door mode)</label><br /> <hr> <label>Software controlled device output: </label><select ng-model=”output” ng-options=”GetDeviceOutputName(x) for x in outputs | softwareControlledOutputs” ></select><br /> <input type=”button” ng-click=”DeviceOutputCommand(‘DeviceOutputActivate’, output)” value=”DeviceOutputActivate” /><label>Activate software-controlled device output</label><br /> <input type=”button” ng-click=”DeviceOutputCommand(‘DeviceOutputDeactivate’, output)” value=”DeviceOutputDeactivate” /><label>Deactivate software-controlled device output</label><br /> <br /> <input type=”button” ng-click=”Logout()” value=”Logout” /> </div>988 </form>
Блок Б
Система U-Prox містить інструменти для інтеграції зі стороннім програмним забезпеченням через API з підтримкою протоколів SOAP, REST, JSON, XML.
Програмне забезпечення U-PROX є безкоштовним, як і інструментарій REST API.
Для використання REST API у ПЗ U-PROX при взаємодії зі сторонніми системами необхідно:
Встановити компоненти ПЗ U-PROX: Сервер, Клієнт, Веб-сервер, Десктоп-сервер.
Дотримуватись логіки роботи: Обладнання U-PROX ⇄ ПЗ U-PROX ⇄ Стороннє програмне забезпечення
Доступні такі варіанти взаємодії:
Двостороння інтеграція через API веб-протоколів із будь-яким іншим ПЗ (повноцінна API-інтеграція).
Експорт даних зі звітів ПЗ U-PROX стандартними засобами програми та операційної системи з подальшим імпортом у стороннє ПЗ.
Пряма вибірка даних з бази даних ПЗ U-PROX за допомогою SQL-запитів мовою Transact-SQL (T-SQL) — без необхідності авторизації з боку бази.
ПЗ “U-Prox IP” (воно ж “U-Prox WEB”) має 2 інтерфейси – класичний Windows інтерфейс, та веб-інтерфейс:
в класичному інтерфейсі експорт звітів може бути в текстовому форматі *.CSV (ручний та автоматичний експорт), та в форматі Excel (тільки ручний експорт), за умови що Excel встановлено на ПК
у веб-інтерфейсі – створення та експорт звітів вручну, у форматі *.PDF , або через API (PDF чи JSON).
Рекомендована до використання версія ПЗ v3.057.7988:
Завантажте ISO-образ 3.57.7988 версії ПЗ U-PROX, та встановіть/оновіть наявну в себе версію
Поновлювати в послідовності – Сервер, Клієнт, Веб-Сервер, Десктоп-Сервер – на сервері програми; та Клієнт і Десктоп-Сервер на віддалених клієнтських робочих місцях.
Десктоп-Сервер – там де використовується Веб-Клієнт та USB зчитувач U-PROX Desktop.
– та що вказана нижче в описі API
Оновлення сторінки в бравзері після переходу на новіші версії – “Ctrl+F5”, щоб перевантажити із очисткою кешу.
Загальний опис API
Перегляньте наявну інформацію на сторінці “API інтеграції”, нашого сайту:
U-Prox IP.v3.057.7988.iso – образ дистрибутивного диска. З цього образу необхідно встановити або оновити “U-PROX IP Сервер”, “U-PROX IP Клієнт”, “U-PROX Web Сервер” і “U-PROX Desktop Сервер”.
Documentation\AcsWebService.doc – попередня версія опису Web-сервісу, яка містить опис операцій для підключення до сервісу, отримання повідомлень про події і створення співробітників та інших операцій
Documentation\html\*.html – приклади на мові JavaScript з використанням бібліотеки AngularJS
Documentation\html\Authenticate.html – приклад аутентифікації і підключення до сервера
Documentation\html\DoorControl.html – приклад управління дверима
Documentation\html\DoorUnlockAll.html – приклад пожежного розблокування всіх дверей системи
Documentation\html\AdditionalEventFields.html – приклад отримання та створення пристроїв (контролерів), додаткових полів подій та самих подій (записів про проходи)
Documentation\html\Employees.html – приклад отримання списку пристроїв (контролерів), дверей, рівнів доступу, відділів (департаментів), співробітників (користувачів), карток, їх створення, звільнення співробітників і видалення створених об’єктів
Documentation\html\EventGetList.html – приклад отримання подій і їх відображення в режимі реального часу “Soft Real-Time”
Documentation\html\EventsReport.html – приклад отримання звіту про події у вигляді PDF і у вигляді JSON
Documentation\html\TimeAttendanceReport.html – приклад отримання звіту про відпрацьований час у вигляді PDF і у вигляді JSON
Documentation\html\Visitors.html – приклад отримання списку пристроїв, дверей, тимчасових рівнів доступу, відвідувачів, створення карток і видалення створених об’єктів
Documentation\html\js\*.js – використані бібліотеки JavaScript
Для демонстрації роботи web-додатків DoorControl.html, Employees.html, Visitors.html та ін. необхідно виконати наступні дії:
1. Завантажити образ дистрибутивного диска U-Prox IP.v3.057.7988.iso з папки в хмарі:
5. Встановити або оновити U-PROX IP Desktop Сервер.
6. Відкрити відповідний html-файл в браузері Chrome і переглянути перелік запитів та відповідей на запити.
Онлайн режим (короткий опис)
Підтримку режимів зовнішнього керування доступом контролера було додана в ПЗ “U-PROX IP” версії 3.052.6722. Необхідно, що б була встановлена така, чи більш пізня версія.
“UserSID”: 1234567890123456, // ідентифікатор сеансу, отриманий в результаті запиту Authenticate
“Token”: 12345, // токен дверей чи токен напрямку проходу (Двері – вхід, Двері – вихід), для яких подається команда
“CardCode: “1234567890” // код картки, який буде збережено в журналі для події “Вихід заборонено”
}
Онлайн режим (детальний опис)
Далі наведено додаткові відомості про режим зовнішнього керування доступом контролера U-PROX IP400 та його підтримку в програмному забезпеченні “U-Prox IP”.
Режим зовнішнього керування доступом, при якому рішення про надання доступу приймаються сервером за командою оператора, або по запиту REST API, доступний в “U-PROX IP” із версії v.3.052.6833, та в пізніших версіях.
Є два режими зовнішнього керування доступом:
1. “Оператор забороняє та дозволяє доступ” – у цьому режимі контролер передає інформацію про будь-яку піднесену картку на сервер, і надає доступ, або видає заборонний сигнал, тільки після відповіді сервера.
2. “Оператор підтверджує надання доступу – у цьому режимі піднесення забороненої карти контролер обробляє самостійно, видаючи сигнал заборони, а інформацію про піднесення дозволеної карти передає на сервер, і протягом кількох секунд чекає від сервера команди на надання чи заборону доступу. В разі відсутності такої команди, після закінчення встановленого часу, контролер надає доступ для піднесеної дозволеної карти.
Для коректної роботи другого режиму (оператор підтверджує надання доступу) необхідно наявність, чи оновлення, мікропрограми контролерів U-Prox IP400 версії не нижче 7.23/8.23 .
Налаштування режиму зовнішнього керування доступу в ПЗ “U-PROX WEB Клієнт”, що доступний за адресою http://localhost:40001/ , після встановлення ПЗ “U-PROX IP Сервер” та ПЗ “U-PROX WEB Сервер”, показано на скріншотах:
чи в класичному клієнті
чи в класичному клієнті
Після завантаження нової конфігурації в контролер, інформація про піднесення карти може бути отримана за REST API у вигляді події:
{
“Event”:[
{
“Device”:{
“Name”:”Турнікет”,
“Token”:23880
},
“Message”:{
“Code”:65555, // код події: 65554 – запит на вхід, 65555 – запит на вихід
“Name”:”Запит на вихід”,
},
“Sender”:{
“Name”:”Турнікет – вихід”,
“Token”:23902
},
“User”:{
“EmployeeNumber”:””,
“Post”:””,
“AdditionalFields”:[
],
“Name”:”Петренко”,
“Token”:6580
},
“Department”:{
“Name”:”Адміністрація”,
“Token”:6566
},
“PhotoToken”:23678,
“IconToken”:23679,
“CardCode”:”0B0016B189″,
“Issued”:”\/Date(1591793191053)\/”,
“FaceMaskDetected”:false,
“Temperature”:0,
“AdditionalFields”:[
],
“Token”:34106,
}
]
}
З прикладом отримання подій у режимі Soft Real Time можна ознайомитись у файлах Documentation\html\EventGetList.html та Documentation\html\Photoverification.html у хмарній папці з прикладами REST API:
Загальна інформація.
Електронний ключ, він же мобільний ідентифікатор, контейнером якого є застосунок "U-Prox ID", і він може бути переданий на зчитувач нашого виробництва:
через канал bluetoo...
Підтримується вся лінійка MS SQL — від 2008 R2 до актуальних версій SQL 2019/2022.
Найпростіший варіант оновлення програмних компонентів, що використовуються в системі U-Prox (з точки зору техпідт...
Загальна інформація
Електронний ключ, він же мобільний ідентифікатор, контейнером якого є застосунок "U-PROX ID", і він може бути переданий на зчитувач нашого виробництва:
через канал Blu...
Вебпортал U-Prox Installer WEB розроблено для налаштування бездротової охоронної системи U-Prox.
Призначений як для індивідуальних користувачів, так і для інженерів пультових охоронних організацій...
Остання з версій ПЗ "Золоті Ворота" серії 2.xxx:
Інструкції з інсталяції: Для версії 2.207 інструкції розміщені на інсталяційному диску/установчому пакеті, а також додатково — у каталозі "ForInsta...
Система U-PROX підтримує інтеграцію з панелями BasIP (моделі AV-07, AA-12, а також інші з серій AV, AA, BA) в актуальних версіях програмного забезпечення.
Однак через те, що мікропрограми пан...
Повідомлення про збій інсталяції зазвичай виникає через некоректні залишки попередньої інсталяції, пов’язані з діями користувача, а саме:
Видалено каталог програми разом із базами, але залишився ...
Найпоширінішими причинами, чому прилад може не додаватись до аккаунту є:
1. Пристрій додано/активовано в іншому обліковому записі U-Prox. В такому разі, необхідно визначити користувача, що активув...
Наша система підтримує інтеграцію з відеосистемами низки вендорів (Hikvision, Dahua, Tecsar, RCI, Pinetron, Partizan) на рівні отримання відеопотоку, перегляду архіву та прив’язки відео з DVR/NVR до ...
Щоб встановити пароль інженера - необхідно при вимкненому живленні замкнути (скрутити) 2 контакти зчитувача - Data0 (WD0) зелений, та Data1 (WD1) білий, після чого подати живлення на зчитувач.
...