Как настроить оборудование для точек продаж в Microsoft pos.net для брендов, которые не предоставляют SDK/драйвер

Это общий вопрос о том, можно ли и как настроить периферийное устройство точки продаж для работы в pos4.net (точка продажи Microsoft для .net framework). Короче говоря, мне не совсем понятно, если и как можно самостоятельно настроить оборудование без специальных драйверов, предлагаемых данным производителем.

Чтобы дать некоторый контекст о моем вопросе. Я изучаю пару периферийных устройств (точнее, сканеров), которые мне понадобятся для взаимодействия с кодом С#. Я относительно новичок в этом, но, насколько я понимаю, на первый взгляд, pos4.net кажется реализацией .net спецификации upos, уровнем абстракции для упрощения совместимости.

Точно так же есть jpos, если люди хотят взаимодействовать с java, а opos кажется устаревшим стандартом. Что на самом деле меня смущает, так это то, что есть пара сканеров менее известных брендов (например, NADAMOO), и их совместимость не так уж непрозрачна для меня.

По моему собственному опыту, прежде чем PosExplorer распознал сканер HoneyWell и принтер Epson, их нужно было настроить и установить программное обеспечение, предоставленное соответствующими поставщиками. Это работает хорошо, однако у этих менее известных брендов, похоже, нет веб-сайта или загружаемых драйверов, и это действительно озадачивает, можно ли к ним подключиться.

Сканер, который я хочу использовать, только заявляет, что его можно настроить с помощью виртуального ком-ма или работать как клавиатура с помощью USB-драйвера plug and play. Но как настроить сканер для использования из PosExplorer? Из кусочков, которые я читал, кажется, что pos.net требует service object или opos driver. Первый выглядит просто как xml в файле?

Поэтому, если поставщик не предоставляет какое-либо устанавливаемое программное обеспечение/драйвер, могу ли я поддерживать периферийные устройства, вручную создавая xml, или требуется нечто большее, чем просто это.

<ServiceObject Type="Scanner" Name="HoneywellScannerSO">
<Device HardwarePath="COM1"></Device>
<Device HardwarePath="" HardwareId=""></Device>
<Device HardwarePath="COM6"></Device>
<Device HardwarePath="COM5"></Device>
<Device HardwarePath="COM7"><LogicalName Name="genisis" /></Device>
<Device HardwarePath="COM8"><LogicalName Name="Scanner1234" /></Device>
<Device HardwarePath="COM10"></Device>
<Device HardwarePath="COM11"></Device>
<Device HardwarePath="LPT1"></Device>
</ServiceObject>

XML для сканера на основе com не выглядит таким пугающим. Но я не уверен, что это правильный путь, и есть ли что-то еще? И мне также любопытно, как это будет распространяться на более сложное оборудование, как вы вообще узнаете, какой XML создавать, какие свойства и т. д.

Кто-нибудь может объяснить, как люди это делают?


person Lawrence Kok    schedule 25.09.2020    source источник


Ответы (1)


Если поставщик аппаратного обеспечения сканера не предоставляет сервисный объект OPOS или POS для .NET, вы должны создать его самостоятельно.
Это не то, что можно использовать только путем установки и настройки файла конфигурации.

Если вы являетесь поставщиком/разработчиком приложений и не имеете опыта управления устройствами ввода-вывода, вам следует переключиться на сканер от поставщика, который поддерживает OPOS или POS для .NET, или использовать сканер в режиме эмуляции ввода с клавиатуры. Это будет хорошо.

Если у вас есть опыт управления устройствами ввода-вывода, то лучше управлять сканером напрямую из вашего приложения через COM-порт, без использования OPOS или POS для .NET.

Если у вас есть опыт управления устройствами ввода-вывода и вы планируете создавать сервисные объекты, проще всего выполнить полную установку POS for.NET, включая пакет SDK, и он будет предоставлен в виде очень простого образца. В зависимости от источника объекта службы сканера измените его для сканера, который вы хотите использовать.
Microsoft Point of Service for .NET v1.14.1 (POS для .NET)


Добавлено в ответ на комментарии:

UPOS — это стандартизация API, обеспечивающая большую мобильность и совместимость как приложений, так и устройств.

Он не может гарантировать полную совместимость разъемов, но облегчает поддержку систем от разных поставщиков, например переключение приложений между используемыми устройствами и устройствами ввода-вывода, поддерживающими несколько приложений.

А поскольку стандартизация API — это стандартизация спецификаций, а не стандартизация реализации программ или библиотек, не существует рабочей программы, которую можно было бы применить к реальным устройствам.

Это также связано с вопросами сроков и силой бизнес-требований поставщика.

Например, что касается сканеров штрих-кода, существует AIM (ISO/IEC-15424) в качестве спецификации для считывания уведомления о типе (символике) штрих-кода, но когда был создан OPOS, это не было ISO, и даже сейчас от участвующих поставщиков стандартизации .
Не поддерживается UPOS, так как для него нет запроса.

person kunif    schedule 25.09.2020
comment
Спасибо за эти разъяснения. У меня нет опыта управления устройствами ввода-вывода, но я быстро учусь. Что меня немного озадачило, так это добавленная стоимость upos. Из примера сервисного контроллера видно, что мы напрямую взаимодействуем с устройством как скрытым. Без документации поставщика вы вообще можете знать, как кодировать/декодировать сообщения для взаимодействия с устройством? Если это стандартизированные сообщения, не должен ли быть более простой способ поддержки устройств? Итак, в чем ценность upos, если вам нужно сделать мини-драйвер/абстракции для 90% устройств? - person Lawrence Kok; 27.09.2020