Дерево страниц
Перейти к концу метаданных
Переход к началу метаданных

Вы просматриваете старую версию данной страницы. Смотрите текущую версию.

Сравнить с текущим просмотр истории страницы

Версия 1 Следующий »

Для корректной работы необходимо убедиться в том, что в папке "/home/promobot/" существует папка "scans". Если она отсутствует, то необходимо ее создать под пользователем promobot.


Работа со сканером паспортов Regula осуществляется по websocket.

Подключение производится по адресу ws://192.168.250.91:5680/


При корректно подключенном устройстве после подключения по ws придет сообщение вида:

{status = -51, description = "Document not detected"}

Порядок сканирования и распознавания документов

  1. scan - запуск сканирования на устройстве. Если устройство исправно и подключено, то метод последовательно возвращает следующие статусы:

    {status = 1, description = "Scanner successfully enabled"}
    {status = 2, description = "Starting scanning"}
    {status = 3, description = "Scanning finish"}
    {status = 4, description = "Trustability checking started"}
    {status = 5, description = "Trustability checking finish"}


    При завершении всех этапов сканирования и распознавания документа, придет сообщение вида:

    {
     "Scan_White":"/home/promobot/scans/Scan_1.jpg",
     "Scan_Photo":"/home/promobot/scans/Scan_Photo.jpg",
     "ft_Issuing_State_Code_VISUAL":"RUS",
     "ft_Document_Number_VISUAL":"5714299754",
     "ft_Date_of_Birth_VISUAL":"03.11.1994",
     "ft_Place_of_Birth(1049)_VISUAL":"ГОР. ПЕРМЬ",
     "ft_Place_of_Birth_VISUAL":"GOR.PERM",
     "ft_Surname(1049)_VISUAL":"ЛАЛЕТИН",
     "ft_Surname_VISUAL":"LALETIN",
     "ft_Given_Names(1049)_VISUAL":"ДМИТРИЙ",
     "ft_Given_Names_VISUAL":"DMITRII",
     "ft_Nationality_VISUAL":"Russian Federation",
     "ft_Sex(1049)_VISUAL":"МУЖ",
     "ft_Sex_VISUAL":"M",
     "ft_Surname_And_Given_Names(1049)_VISUAL":"ЛАЛЕТИН ДМИТРИЙ АНДРЕЕВИЧ",
     "ft_Surname_And_Given_Names_VISUAL":"LALETIN DMITRII ANDREEVICH",
     "ft_Nationality_Code_VISUAL":"RUS",
     "ft_Issuing_State_Name_VISUAL":"Russian Federation",
     "ft_Document_Series_VISUAL":"5714",
     "ft_Fathers_Name(1049)_VISUAL":"АНДРЕЕВИЧ",
     "ft_Fathers_Name_VISUAL":"ANDREEVICH",
     "ft_Authority_RUS(1049)_VISUAL":"Пермский край",
     "ft_Booklet_Number_VISUAL":"299754",
     "ft_Age_VISUAL":"26",
     "status":100,
     "status_description":"finish",
     "Doc_Name":"Russian Federation - Passport (2006)",
     "Processing_Time":"03.962",
     "UV_Luminescence":"ch_Check_Error"
    }

    где

     "Scan_White" - путь до изображения с белым сканом,
     "Scan_Photo" - путь до изображения с фотографией владельца паспорта,
     "ft_Issuing_State_Code_VISUAL" - страна, в которой произведена выдача паспорта,
     "ft_Document_Number_VISUAL" - номер документа,
     "ft_Date_of_Birth_VISUAL" - дата рождения,
     "ft_Place_of_Birth(1049)_VISUAL" - место рождения,
     "ft_Place_of_Birth_VISUAL" - место рождения,
     "ft_Surname(1049)_VISUAL" - фамилия,
     "ft_Surname_VISUAL" - фамилия,
     "ft_Given_Names(1049)_VISUAL" - имя,
     "ft_Given_Names_VISUAL" - имя,
     "ft_Nationality_VISUAL" - национальность,
     "ft_Sex(1049)_VISUAL" - пол,
     "ft_Sex_VISUAL" - пол,
     "ft_Surname_And_Given_Names(1049)_VISUAL" - ФИО,
     "ft_Surname_And_Given_Names_VISUAL" - ФИО,
     "ft_Nationality_Code_VISUAL" - код страны,
     "ft_Issuing_State_Name_VISUAL" - название страны, выдавшей документ,
     "ft_Document_Series_VISUAL" - серия документа,
     "ft_Fathers_Name(1049)_VISUAL" - отчество,
     "ft_Fathers_Name_VISUAL" - отчество,
     "ft_Authority_RUS(1049)_VISUAL" - область/край,
     "ft_Booklet_Number_VISUAL" - доподлинно неизвестно,
     "ft_Age_VISUAL" - возраст,
     "status" - статус в результате сканирования и распознавания (100 - успешно, -100 - не успешно),
     "status_description" - описание статуса,
     "Doc_Name" - тип документа,
     "Processing_Time" - время, затраченное на сканирование и распознавание (в секундах),
     "UV_Luminescence" - статус проверки подлинности UV

    У возвращаемых полей могут быть 2 вида постфикса:

    _VISUAL - это поля, которые были распознаны в визуальной зоне документа

    _MRZ - это поля, которые были распознаны в машиночитаемой зоне документа

  2. killThreads - принудительное завершение потоков распознавания. Необходим для того, чтобы завершить зависшие потоки распознавания. Реализован для того, чтобы восстановить работу софта после "отпадывания сканера по питанию". Такое происходит периодически, проявляется долгим сканированием и постоянно включенными диодами освещения зоны документа. В программное реализации такое поведение легко отследить по статусам сканирования. Если статус не меняется в течение ~3 секунд, то необходимо перезагрузить сканер по питанию. После успешного выполнения будет получение сообщение следующего вида:

    {status = 311, description = "Zombie thread finished"}
  3. deleteScans - удаляет полученные сканы из файловой системы (потребуется для 152 ФЗ). После успешного выполнения вернет:

    {status = 303, description = "Files deleted"}
  4. powerReset - ребут по питанию (через плату USB). На текущий момент возможно 2 варианта ребута. Через отдельную плату с контроллером, которая подключается в материнскую плату с windows, а также с помощью выключения/включения питания на виндовом хабе мейна. При успешном выполнении вернет последовательно:

    {"status":614,"description":"Power disabled -> 00 00 55 \r\n<- 01 A0 A0 \r\n"}
    {"status":615,"description":"Power enabled -> 01 00 55 \r\n<- 01 A0 A0 \r\n"}

    Описание статусов

    Статус в JSONОписание в JSONСообщениеОписание
    1Scanner successfully enabled{status = 1, description = "Scanner successfully enabled"}Успешная инициализация сканера
    -1Scanner not connected{status = -1, description = "Scanner not connected"}Сканер не подключен
    311Zombie thread finished{status = 311, description = "Zombie thread finished"}Зависшие потоки успешно уничтожены (возвращается на killThreads)
    -71Device is inaccessible{status = -71, description = "Device is inaccessible"}Устройство недоступно. Возвращает в случае, когда сканирование производится после отвала по питанию.
    303Files deleted{status = 303, description = "Files deleted"}Файлы удалены
    51Document detected{status = 51, description = "Document detected"}Документ находится на сканере
    -51Document not detected{status = -51, description = "Document not detected"}Документ на сканере отсутствует
    2Starting scanning{status = 2, description = "Starting scanning"}Начало сканирования
    3Scanning finish{status = 3, description = "Scanning finish"}Сканирование завершено
    4Trustability checking started{status = 4, description = "Trustability checking started"}Начало проверки подлинности
    5Trustability checking finish{status = 5, description = "Trustability checking finish"}Проверка подлинности завершена
    100finishБудет содержаться в общем финальном сообщении (см. порядок сканирования и распознавания документа)Сканирование и распознавание документа успешно завершено
    -100Can't recognize fieldsБудет содержаться в общем финальном сообщенииНе удалось распознать документ и поля
    614
    Power disabled -> 00 00 55 \r\n<- 01 A0 A0 \r\n
    {"status":614,"description":"Power disabled -> 00 00 55 \r\n<- 01 A0 A0 \r\n"}
    Питание выключено
    615
    Power enabled -> 01 00 55 \r\n<- 01 A0 A0 \r\n
    {"status":615,"description":"Power enabled -> 01 00 55 \r\n<- 01 A0 A0 \r\n"}
    Питание включено


    Протестировать работу подключенного сканера можно через плагин для браузера chrome (Websocket Test Client)

    https://chrome.google.com/webstore/detail/websocket-test-client/fgponpodhbmadfljofbimhhlengambbn?hl=ru

    Расширенное описание возвращаемых полей при сканировании различных типов документов доступно в приложенном файле (стр. 114).



  • Нет меток