Варианты подключения сканера:

1. Провести эмуляцию COM-порта для сканера.

  • Для этого необходимо установить утилиту qrcodereader.exe

Утилиту можно запускать как приложение или службу

Запуски приложения производится запуском файла qrcodereader.exe на рабочем месте.

Установить компонент JRE (Java Runtime Environment) версии 8.0.2310.11. 

Java_Runtime_Environment_(64bit)_v8_Update_231.exe


Настройка запуска службы:

Windows

  1. Скачать актуальную версию qrcodereader.exe и положить в рабочую директорию, например C:\Program Files\qrcodereader\
  2. Скачать утилиту nssm (https://nssm.cc/download )
  3. Распаковать архив с утилитой. Запустить консоль CMD.exe от администратора. В консоли перейти в директорию утилиты командой cd, далее перейти в директорию согласно вашей архитектуре ОС. (/win32 или /win64)

    Пример:

    C:\Users\PC>cd /d d:\
    D:\>cd\nssm-2.24\win64
  4. Выполнить в консоли команду

    nssm install QrcodeReaderService

    , где QrcodeReaderService - наименование создаваемой службы. Появится окно настроек создаваемой службы.

  5. Появится окно настроек создаваемой службы. В поле Path выбрать путь до утилиты qrcodereader. По умолчанию служба будет запускаться вместе с операционной системой.

  6. Перейти в список служб windows и найти созданную службу по указанному имени. Вызвать контекстное меню службы по правому клику мыши и выбрать “Запустить".

Настройка сканера в приложении коммерческой аптеки.

Подключение сканера с типом "COM".

  • Перейти в настройки сканера приложения коммерческой аптеки:
  • Выбрать тип подключения сканера – COM;
  • В поле "Адрес демона" – ввести http://localhost:8101 ;
  • В поле "Номер порта" выбрать нужный порт.

Настройка сканера штрихкода с типом подключения "COM"

Подключение сканера с типом "USB".

  • Перейти в настройки сканера приложения коммерческой аптеки:
    • Выбрать тип подключения сканера – USB;
    • Запрограммировать сканер на спец. символы (F7, F8, например) для суффикса и префикса;


Настройка сканера штрихкода с типом подключения "USB"

  • Нажать на кнопку "Тест DataMatrix" и отсканировать qr-код – подтянутся суффикс и префикс. После чего следует сохранить настройки.

Проверка работы сканера

Linux (ubuntu-образные)

Для облегчения настройки сервиса под Linux написан скрипт qrcodereader_install.sh

  1. Скачать скрипт 
  2. Скачать актуальную версию qrcodereader.jar. На данный момент это qrcodereader-0.0.11-SNAPSHOT.jar. Если версия отличается, нужно будет поправить в скрипте значение переменной qrcodereader. 
  3. Положить скрипт и jar-файл в одну папку.
  4. Открыть консоль, перейти в папку со скриптом и джаркой.
  5. Добавить скрипту право на исполнение командой

    chmod +x ./qrcodereader_install.sh

  6. Перед запуском скрипта нужно подключить сканер к компьютеру или переподключить, если он уже был подключен. Это нужно для того, чтобы скрипт нашел последнее подключенное к системе устройство.
  7. После того, как сканер подключен и определился, запускаем скрипт командой 

    sudo ./qrcodereader_install.sh

  8. Вводим пароль.

  9. Видим сообщения:

    Обнаружено последнее подключенное к компьютеру устройство: 
    
    	Путь к устройству:  ttyACM0 
    	Серийный номер устройства:  14142B30FC
    
    Для подтверждения выбора устройства введите нажмите клавишу y.
  10. Если устройство то, что нам нужно, жмём "y".  После чего видим:


    Добавлено правило udev 98-COM.rules
    
    
    
    Отправлена команда на перечитывание правил udev, для корректного назначения прав необходимо переподключить сканер к компьютеру.
    
    
    
    Создана служба QRCodereader service (/etc/systemd/system/qrcodereader.service)
    Created symlink /etc/systemd/system/multi-user.target.wants/qrcodereader.service → /etc/systemd/system/qrcodereader.service.
    Служба будет запускаться при старте системы в многопользовательском режиме.
    Служба запущена, состояние active.
  11. Переподключаем сканер, идём в браузер http://localhost:8101/getQRBytes на сканирование, сканируем полис и видим примерно такую картину:

Примечания.

Если сканер не обнаружатся открыть файл /etc/systemd/system/qrcodereader.service и прописать порт

  • Если служба qrcodereader была настроена и запущена ранее, для применения изменений нужно её перезапустить командой
systemctl restart qrcodereader
  • Если переменная среды java пуста, будет предпринята попытка установить пакет openjdk-8-jre.
  • В целях безопасности сервис запускается от имени пользователя jvmapps и группы appmgr.
  • В некоторых случаях сразу после установки сканер не подхватывается демоном,  помогает перезапуск демона и отключение/подключение сканера. Но можно попробовать ребут.

Интересное.

Список устройств USB можно посмотреть командой lsusb. Найти сканер легче всего, если посмотреть список устройств до подключения сканера и после подключения.

bird@birdmint ~/Документы/qrcodereader $ lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 1a2c:2c27 China Resource Semico Co., Ltd 
Bus 001 Device 020: ID 1a2c:0044 China Resource Semico Co., Ltd 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub


bird@birdmint ~/Документы/qrcodereader $ lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 1a2c:2c27 China Resource Semico Co., Ltd 
Bus 001 Device 020: ID 1a2c:0044 China Resource Semico Co., Ltd 
Bus 001 Device 024: ID 1eab:0d10
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

В этом случае добавилось устройство сканера Newland FM-420.

Или 

bird@birdmint ~/Документы/qrcodereader $ lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 1a2c:2c27 China Resource Semico Co., Ltd 
Bus 001 Device 020: ID 1a2c:0044 China Resource Semico Co., Ltd 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub


bird@birdmint ~/Документы/qrcodereader $ lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 1a2c:2c27 China Resource Semico Co., Ltd 
Bus 001 Device 020: ID 1a2c:0044 China Resource Semico Co., Ltd 
Bus 001 Device 021: ID 0c2e:090a Metrologic Instruments
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

В этом случае добавилось устройство сканера Metrologic Xenon 1900.


Для Alt.

Последняя на текущий момент сборка джарки qrcodereader-0.0.20-SNAPSHOT.jar под альтом не работает, падает при запуске из-за проблем с библиотекой jssc.
Работает 
версия qrcodereader-0.0.13-SNAPSHOT.jarДля установки службой предназначен скрипт qrcodereader_install_alt.sh.



  • Нет меток