4.13. Global Auto Starter¶
Информация актуальна для версии Global Auto Starter 1.1.
Global Auto Starter - Приложение, позволяющее запускать клиент Global с помощью RFID-меток.
4.13.1. Введение¶
При прикладывании RFID-метки к подключенному считывателю, приложение осуществляет автоматический запуск клиента Global, с авторизацией в системе под именем пользователя, ассоциированного с приложенной RFID-меткой.
Автоматически запускается только один клиент, непосредственно при прикладывании метки. Если требуется запуск дополнительных клиентов, все дополнительные экземпляры следует запускать используя пунт меню клиента Global “Файл -> Регистрация -> Новое приложение”. Новые приложения авторизуются также как и то из которого запускаются.
Одновременная работа нескольких клиентов с использованием разных RFID-меток не поддерживается.
При удалении RFID-метки, авторизованные ею клиенты Global завершает свою работу. При этом будут утрачены ещё не сохранённые в Global изменения, так как авторизация дискредитируется.
4.13.2. Требования¶
Клиент Global 5.10.0 ms3, либо выше.
Совместимый RFID-считыватель. Поддерживается работа со считывателями IronLogic. Гарантирована совместимость с Z-2 (мод. RD_ALL)/Z-2 USB, с остальными моделями работа не тестировалась.
Note
При использовании считывателей, с которыми работа не тестировалась и при возникновении проблем при установке соединения со считывателем, рекомендуется ознакомится с актуальной документацией к вашему устройству. Возможно проблема разрешится внесением правок в настройки группы “Com Port”.
Настроенная авторизация в базе данных, через одного прокси-пользователя для всех пользователей с RFID-метками. Настройка прокси-пользователей описана в документации к базе данных, например для версии Oracle 10g тут.
Также в базе должен присутствовать метод, возвращающий имя пользователя по RFID-метке -
BTK.BTS_RfidPKG.GetUsernameByKey
.begin :sUserName := BTK.BTS_RfidPKG.GetUsernameByKey(:sRfidKey); end
4.13.3. Установка¶
- Скопировать файлы Global Auto Starter в каталог, из которого они будут запускаться.
- Указать в настройках путь к исполняемому файлу клиента Global, имя порта считывателя, имя базы данных, имя и зашифрованный пароль прокси-пользователя, схему подключения к базе.
- При необходимости, настроить автозапуск.
4.13.4. Настройки¶
Для настройки используется конфигурационный файл settings.ini
, расположенный в одном каталоге с исполняемым файлом.
Все настройки применяются только в момент запуска приложения.
После внесения изменений в настройки, приложение требуется перезапустить.
Attention
Файл должен быть сохранён в кодировке utf-8.
Группа “General”
-
GlobalClientBinPath
¶
Путь к исполняемому файлу клиента Global. Версия клиента должна поддерживать работу с Global Auto Starter.
-
AppDataPath
¶
Путь к служебным каталогам приложения. По умолчанию используется значение -
%AppData%\GlobalAutoStarter\
.Warning
Для корректной работы, у запущенного приложения должны имется права на запись в данном каталоге.
Группа “Com Port”
Большая часть настроек этой группы предназначена для конфигурирования подключения к считывателю и тут не описывается.
Это настройки: BaudRate
, ByteSize
, CtsFlowControl
и DsrFlowControl
.
Их значения должны быть установлены согласно спецификации используемого считывателя.
-
PortName
¶
Имя порта к которому подключен считыватель.
-
AutoDetectComPort
¶
Автоматический поиск порта устройства. Если заданы настройки ComInfoRequest и ComInfoAnswer, устройство будет определёно на их основе. В противном случае приложение попытается подключться к первому доступному порту.
-
ComInfoRequest
¶
Строка, которую нужно передать на устройство, чтобы оно вернуло информацию о себе.
-
ComInfoAnswer
¶
Строка, которую нужно найти в полученной инфрмации об устройстве.
-
CardInsertMsgRegEx
¶
Регулярное выражение, описывающее формат данных, которые передаёт считыватель при установке RFID-метки. В выражении должна присутствовать именованная группа
cNumber
, содержащая номер RFID-метки.
-
CardRemoveMsgRegEx
¶
Регулярное выражение, описывающее формат данных, которые передаёт считыватель при удалении RFID-метки.
-
EndOfLine
¶
Признак конца строки. Один или несколько символов в виде Hex.
-
StopBits
¶
Количество стоп-битов.
Возможные значения:
- ONESTOPBIT
- Один стоп-бит.
- ONE5STOPBITS
- Полтора стоп-бита.
- TWOSTOPBITS
- Два стоп-бита.
-
Parity
¶
Бит четности
Возможные значения:
- NOPARITY
- Контроль четности не осуществляется.
- ODDPARITY
- Устанавливает бит четности так, чтобы число установленных битов всегда было нечетным.
- EVENPARITY
- Устанавливает бит четности так, чтобы число установленных битов всегда было четным.
- MARKPARITY
- Оставляет бит четности равным 1.
- SPACEPARITY
- Оставляет бит четности равным 0.
Группа “DB”
-
DBName
¶
Имя базы данных, к которой будет производится подключение.
-
DBSchema
¶
Схема подключения к базе данных.
-
ProxyUserName
¶
Имя прокси-пользователя, под которым будет производится подключение к базе данных. Также под прокси-пользователем, из базы данных, запрашивается имя пользователя, ассоциированного с RFID-меткой. Под пользователем ассоциированным с RFID-меткой осуществляется авторизация в Global.
-
ProxyUserPassword
¶
Пароль прокси-пользователя, в зашифрованном виде. О том как зашифровать пароль указано в разделе Параметры запуска.
Группа “HTTP”
-
Port
¶
Порт HTTP-сервера для связи Global Auto Starter с запущенными им клиентами Global.
[General]
GlobalClientBinPath=C:\Global\Global.exe
AppDataPath=%AppData%\GlobalAutoStarter\
[COM Port]
PortName=COM1
AutoDetectComPort=0
ComInfoRequest=i
ComInfoAnswer=USB Z-2 ADAPTER
BaudRate=9600
ByteSize=8
Parity=NOPARITY
StopBits=ONESTOPBIT
CtsFlowControl=0
DsrFlowControl=0
CardInsertMsgRegEx=[\w\W]*\[[\w\W]*\] (?'cNumber'[0-9\.\,]*)
CardRemoveMsgRegEx=No card
EndOfLine=0D000A00
[DB]
DBName=DataBase1
DBSchema=btk
ProxyUserName=ProxyUser1
ProxyUserPassword=07001D0447003C0024002D0005000A046D00570461007E004E00340405044304
[HTTP]
Port=8879
4.13.5. Параметры запуска¶
-<имя параметра>[:<значение>]
-
encpass
¶
Зашифровать пароль. Приложение зашифровывает указанный пароль и возвращает в консоль, после чего завершается. Используется для того чтобы получить значение пароля, которое можно безопасно хранить в конфигурационном файле.
4.13.6. Настройка автозапуска при работе под Linux¶
Автозапуск в Linux осуществляется с помощью systemd
.
[Unit]
Description=Global Auto Starter Service
After=display-manager.service
[Service]
Type=simple
Environment="WINEPREFIX=/home/user/win32"
Environment="PROG=C:\\RFID\\GlobalAutoStarter.exe"
ExecStart=wine ${PROG}
Restart=always
RestartSec=10
[Install]
WantedBy=graphical.target
В параметре After
необходимо указать свой сервис менеджера экрана.
4.13.7. Служебные каталоги¶
Во время работы, приложение создаёт различные служебные файлы. Хранятся они в служебных каталогах.
По умолчанию, служебные каталоги создаются в директории - %AppData%\GlobalAutoStarter\
.
Указать свою директорию, для служебных каталогов, можно с помощью настройки AppDataPath
.
Логирование
При каждом запуске, приложение создаёт новый файл логирования, в подкаталоге “logs”. Имя файла содержит время запуска, поэтому каждому запуску соответствует свой собственный файл с логами. В файлах логирования содержится информация о событиях происходящих в приложении, в том числе информация о возникающих ошибках. Анализ файлов логирования позволяет определять и решать проблемы, возникающие в работе приложения.
Отчёты об ошибках
При возникновении ошибок, нарушающих работу приложения, в подкаталоге “bugreports” создаётся файл с отчётом об ошибке. Имя файла содержит время запуска. Отчёты об ошибках содержат подробную информацию о состоянии приложения в момент возникновения ошибки. Для анализа отчётов об ошибках их требуется передавать разработчикам.