Дерево страниц

Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

...

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


    Блок кода
    languageactionscript3
    {status = 1, description = "Scanner successfully enabled"}


    Блок кода
    languageactionscript3
    {status = 2, description = "Starting scanning"}


    Блок кода
    languageactionscript3
    {status = 3, description = "Scanning finish"}


    Блок кода
    languageactionscript3
    {status = 4, description = "Trustability checking started"}


    Блок кода
    languageactionscript3
    {status = 5, description = "Trustability checking finish"}


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

    Блок кода
    languageactionscript3
    {
     "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":"57142997545555555555",
     "ft_Date_of_Birth_VISUAL":"0301.1101.19941990",
     "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":"57145555",
     "ft_Fathers_Name(1049)_VISUAL":"АНДРЕЕВИЧ",
     "ft_Fathers_Name_VISUAL":"ANDREEVICH",
     "ft_Authority_RUS(1049)_VISUAL":"Пермский край",
     "ft_Booklet_Number_VISUAL":"299754555555",
     "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 секунд, то необходимо перезагрузить сканер по питанию. После успешного выполнения будет получено сообщение следующего вида:

    Блок кода
    languageactionscript3
    {status = 311, description = "Zombie thread finished"}


  3. deleteScans - удаляет полученные сканы из файловой системы (потребуется для 152 ФЗ). После успешного выполнения вернет:

    Блок кода
    languageactionscript3
    {status = 303, description = "Files deleted"}


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

    Блок кода
    languageactionscript3
    {"status":614,"description":"Power disabled -> 00 00 55 \r\n<- 01 A0 A0 \r\n"}


    Блок кода
    languageactionscript3
    {"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

    или с помощью консольного клиента wsdump.py

    View file
    namewsdump.py
    height150


    Порядок проверки через wsdump.py

    1. Загрузить wsdump.py в домашную папку пользователя promobot на роботе

    2. Подключиться к роботу по ssh

    3. Выполнить sudo pip3 install websocket-client

    4. Выполнить python3 wsdump.py ws://192.168.250.91:5680

    5. Отправить команду "scan"

    6. Успешное выполнение команды при сканировании без документа на сканере показано ниже на скриншоте

    sudo pip3

    4install websocket-clientsudo pip3 install websocket-client



    Информация

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

    View file
    nameProgrammers Guide (ru).pdf
    height150



    Информация

    Сканер может быть подключен тремя способами:

    1. Реле
    2. Отдельная USB плата
    3. Win хаб мейна
    Для каждого типа подключения используется свой JS-модуль сканирования


...