Как настроить сканер Newland NLS-HR32-BT для передачи символа GS и интеграции с 1С и браузером

Практический кейс: от настройки до кастомного драйвера


В современных системах учёта, особенно в ритейле и логистике, всё чаще возникает задача — передавать не просто текст, а специальные управляющие символы, такие как GS (Group Separator, ASCII 29). Именно с такой задачей недавно столкнулся при работе со сканером Newland NLS-HR32-BT — устройством, популярным в сфере автоматизации, но не всегда простым в тонкой настройке.

Цель была чёткой:
✅ Настроить сканер так, чтобы при считывании штрих-кода в текстовое поле браузера корректно передавался символ GS.
✅ Обеспечить совместимость с , работающей через удалённый рабочий стол (RDP).
✅ Упростить работу оператора: не зависеть от раскладки клавиатуры, минимизировать действия.

Вот как это было реализовано.


Шаг 1. Выбор режима работы сканера

Сканер Newland NLS-HR32-BT поддерживает несколько режимов передачи данных:

  • USB HID-клавиатура — данные вводятся как нажатия клавиш.

  • COM-порт (виртуальный последовательный порт) — данные передаются как поток байт.

Для передачи нестандартных символов, таких как GS, режим HID-клавиатура не подходит — большинство клавиатурных драйверов не умеют передавать управляющие символы напрямую.
Поэтому был выбран режим COM-порта.

Для переключения использовался специальный штрих-код из документации Newland, активирующий режим Virtual COM Port (VCP). После его сканирования сканер перезагружается и подключается как COM-устройство.


Шаг 2. Установка драйверов и настройка COM-порта

Для работы в режиме COM требуется установка драйвера USB-to-Serial Converter.
Попытка использовать драйверы с сайта saby.ru оказалась частично неудачной — они установились, но не обеспечили стабильного соединения.
Решение было найдено на ресурсе scancode.ru, где представлены точные коды настройки сканеров Newland, включая:

  • Переключение в COM-режим

  • Включение передачи символа GS как 0x1D

Драйвер с saby.ru в итоге всё же пригодился — он оказался совместим с системой, и после установки появился виртуальный COM5.


Шаг 3. Борьба за COM-порт

На этом этапе возникла неожиданная проблема:
После подключения сканера COM5 мгновенно захватывался какой-то фоновой программой. Предположительно — клиентом удалённого рабочего стола, который перехватывает COM-порты для перенаправления устройств.

Решение:
Перезагрузка ПК с подключённым сканером.
После перезагрузки порт стал доступен, и данные начали поступать.


Шаг 4. Разработка кастомного драйвера LKS.exe

Стандартные средства не позволяют гибко обрабатывать поток данных и эмулировать сложные действия. Поэтому была использована собственная программа — LKS.exe, разработанная для подобных задач.

Возможности LKS.exe:

  • Чтение данных с COM-порта в реальном времени

  • Фильтрация и обработка байтов, включая символ GS (0x1D)

  • Передача данных в активное окно как текстовый ввод

  • Эмуляция нажатий клавиш, включая F8 — критично для 1С

Программа была доработана для:

  • Автоматического распознавания формата данных

  • Безопасной передачи GS без потерь

  • Поддержки двух режимов:

    • Режим браузера — ввод строки с GS

    • Режим 1С — ввод + эмуляция F8 для подтверждения


 

Результат

  • Символ GS передаётся корректно — проверка марки в ЧЗ проходит без ошибок.

  • 1С принимает данные — F8 эмулируется, документы оформляются.

  • Не нужно следить за раскладкой — программа работает независимо от языка.

  • Минимум действий оператора — выбор нужного режима работы,  дальше — автоматика.


Выводы и рекомендации

  1. Newland NLS-HR32-BT — мощный сканер, но для сложных задач требует ручной настройки.

  2. COM-режим — лучший выбор для передачи управляющих символов.

  3. scancode.ru — ценный ресурс для поиска точных кодов настройки.

  4. Кастомные драйверы позволяют достичь уровня автоматизации, недоступного стандартными средствами.


Итог:
Этот кейс показывает, как даже «простое» подключение сканера может превратиться в задачу интеграции нескольких систем.
Ключ к успеху — глубокое понимание протоколов, умение работать с низкоуровневыми интерфейсами и готовность писать свои инструменты, когда стандартные решения не справляются.

А ещё — никогда не недооценивайте силу перезагрузки