Настройка сканера проводится по следующему сценарию:
Необходимо сбросить сканер на заводские настройки:
- настроить на линейный штрих код;
- настроить на PDF-417;
- настроить на Datamatrix.
Варианты подключения сканера:
1. Провести эмуляцию COM-порта для сканера.
- Для этого необходимо установить утилиту qrcodereader.exe
Утилиту можно запускать как приложение или службу
Запуски приложения производится запуском файла qrcodereader.exe на рабочем месте.
Настройка запуска службы
Windows
- Скачать актуальную версию qrcodereader.exe и положить в рабочую директорию, например C:\Program Files\qrcodereader\
- Скачать утилиту nssm (https://nssm.cc/download )
Распаковать архив с утилитой. Запустить консоль CMD.exe от администратора. В консоли перейти в директорию утилиты командой cd, далее перейти в директорию согласно вашей архитектуре ОС. (/win32 или /win64)
Пример:
C:\Users\PC>cd d:\ D:\>cd\nssm-2.24\win64 Выполнить в консоли команду
nssm install QrcodeReaderService
, где QrcodeReaderService - наименование создаваемой службы. Появится окно настроек создаваемой службы.
Появится окно настроек создаваемой службы. В поле Path выбрать путь до утилиты qrcodereader. По умолчанию служба будет запускаться вместе с операционной системой.
Перейти в список служб windows и найти созданную службу по указанному имени. Вызвать контекстное меню службы по правому клику мыши и выбрать “Запустить".
- Указать в настройках веб аптеки:
– режим работы – COM;
– адрес демона – http://localhost:8101 ;
– наименование порта – (COM1).
Настройка сканера штрих кода
2. Перевести сканер в режим эмуляции клавиатуры (по инструкции сканера). Для этого необходимо:
- запрограммировать сканер на спец. символы (F7, F8, например) для суффикса и префикса;
- указать в настройках веб аптеки: «Режим работы» – эмуляция клавиатуры;
Перевод сканера в режим эмуляции клавиатуры
- отсканировать qr-код – подтянутся суффикс и префикс. После чего следует сохранить настройки.
Linux (ubuntu-образные)
Для облегчения настройки сервиса под линукс написан скрипт qrcodereader_install.sh
- Скачать скрипт
- Скачать актуальную версию qrcodereader.jar. На данный момент это qrcodereader-0.0.11-SNAPSHOT.jar. Если версия отличается, нужно будет поправить в скрипте значение переменной qrcodereader.
- Положить скрипт и jar-файл в одну папку.
- Открыть консоль, перейти в папку со скриптом и джаркой.
Добавить скрипту право на исполнение командой
chmod
+x .
/qrcodereader_install
.sh
- Перед запуском скрипта нужно подключить сканер к компьютеру или переподключить, если он уже был подключен. Это нужно для того, чтобы скрипт нашел последнее подключенное к системе устройство.
После того, как сканер подключен и определился, запускаем скрипт командой
sudo
.
/qrcodereader_install
.sh
Вводим пароль.
Видим сообщения:
Обнаружено последнее подключенное к компьютеру устройство: Путь к устройству: ttyACM0 Серийный номер устройства: 14142B30FC Для подтверждения выбора устройства введите нажмите клавишу y.
Если устройство то, что нам нужно, жмём "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.
Переподключаем сканер, идём в браузер 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.