СоХабр закрыт.

С 13.05.2019 изменения постов больше не отслеживаются, и новые посты не сохраняются.

H Облачный терминал сбора данных в черновиках

Есть такой класс промышленных устройств «терминалы сбора данных», сокращенно ТСД. Используются в торговле, логистике, на производстве для повышения производительности труда. Работают не сами по себе, а в тесной интеграции с товароучетными, ERP или WMS системами.
Часто эта самая интеграция даже самого простого ТСД (или особенно самого простого) даже в типовую 1С требует исполнения танца с бубнами той или иной степени сложности: установка драйверов, настройка портов, прописывание IP адресов и т.п.
Я же, как мне кажется, придумал простой и быстрый способ интеграции ТСД практически в любую бизнес-систему, хоть в stand-alone, хоть в облачную.

Начнем с небольшого экскурса в историю. ТСД появились в бизнесе практически сразу после сканеров штрих-кода, задолго до массового распространения микрокомпьютеров. Выглядели они как коробочки с батарейками, без окон и дверей с одним или двумя RS-232 портами. В один из портов втыкался сканер штрих-кода, другим (или тем же) они подключались к компьютеру. Затем они стали оснащаться собственным ЖК-дисплеем, клавиатурой, сканер переместился внутрь. В таком виде, практически без изменений эти устройства дожили и до наших дней, обосновавшись в нижнем ценовом сегменте. Типичные представители: ChiperLab и Opticon.

image

С ними все понятно, возможностей не так много, интерфейсы примитивные, без драйверов и танцев с бубном не обойтись никак.

С появлением на рынке первых PDA устройств производители промышленной электроники не остались в стороне и подхватили эту волну. Появились ТСД с операционной системой и большим по тем временам выбором интерфейсов: RS-232 и IrDA. Так родился на свет легендарный Psion Workabout.

image

И где-то примерно ближе к середине нулевых рынок наводнили устройства на платформе WinCE, там уже было все, и Bluetooth и WIFi и GSM а позже и 3G. Они живы до сих пор, даже выпускаются новые.
Ну и разумеется Android не мог не проникнуть в этот сегмент, современные ТСД выпускаются именно на нем.

image

Не смотря на то, что эти платформы обладают огромными возможностями, концептуально их интеграция с товароучетными системами делается точно так же, как и с безОСными ТСД.

Так вот собственно риторический вопрос: Почему настройка и подключение современных ТСД к бэк-офисным системам мало чем отличается от подключения их самых первых предков? По-прежнему надо устанавливать какой-то мутный софт от широко известных в узких кругах разработчиков. Особенно доставляет, когда этот софт работает по ActiveX. По-прежнему надо прописывать какие-то порты, не COM конечно же, TCP/IP, но сути это не меняет. Как бы для «безОСных» ТСД это простительно, хотите задёшево — страдайте, но вот Android… Зачем танцевать с бубнами вокруг Android'а?

Идея в том, что бы не настраивать ничего. Достал из коробки и сразу начал работать. Везде, и в stand-alone и в облаке, и в Windows и в Linux и даже в macOS, и в терминальных сессиях и в браузерах.

Реализация следующая. Для удобства работы ТСД ему надо передать базу товаров, что бы при работе оператор видел не только значения штрих-кодов, но и соответствующие им человеко-читаемые наименования. Товароучетная система подготавливает эти данные в определенном формате и по REST API отправляет в облако. В ответ от облака получает QR-код, который надо показать на экране пользователю ТСД. Сканируем этот код, и база летит из облака в ТСД.
Облако тут для удобства, что бы свести к минимуму пользовательские настройки stand-alone систем. Если платформа товароучетной системы позволяет публиковать веб-сервисы, можно обойтись и без посредника, возможно, в облачных системах надо делать именно так, дабы из облака в облако не переливать.

Обратите внимание, от пользователя не требовалось ни одной настройки, ни в ТСД ни в товароучетной системе. Мне кажется это очень просто и удобно.

Собрали данные на ТСД, как передать их обратно? Принцип схож, товароучетная система инициирует обмен, запрашивая у облака новый сеанс передачи. В ответ облако возвращает QR-код и сеансовый ключ для того, что бы забрать данные. QR-код надо показать пользователю ТСД, он его отсканирует, ТСД отправит собранные данные в облако, а товароучетная система по ранее полученному сеансовому ключу их оттуда заберет для последующей обработки.

И это всё! Долой порты и сокеты! Долой файлы обмена! И особенно долой ActiveX! Да здравствует REST API, товарищи!

Если кто желает интегрировать к себе такое в тиражное или облачное решение — милости просим.

Ну и в заключении ссылки на работающие прототипы.

Мобильное приложение для Android. Работает на смартфоне с софтовым сканером на камере и с аппаратным HID, это может быть внешний USB, подключенный через OTG переходник, или же встроенный в некоторые модели промышленных ТСД.
Оно, кстати, еще работает как беспроводной сканер штрих-кода через Bluetooth RFCOMM, не требующий установки всякого сомнительного софта на PC.



Веб сервис интеграции на GitHub, описание REST API там же в Wiki. Забираете, разворачиваете у себя, интегрируете.

Этот веб-сервис трудится у меня в облаке, обеспечивая обмен с типовыми конфигурациями 1С. Облако расширяемо не только на типовые и не только на 1С.

комментарии (1)

0
bobnadyl ,  
а не смотрели решение для тсд от Cleverence?