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

#c# #.net #point-of-sale #opos

#c# #.net #точка продажи #opos

Вопрос:

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

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

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

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

Сканер, который я хочу использовать, указывает только, что его можно настроить с помощью virtual com или использовать в качестве клавиатуры с помощью драйвера USB plug and play. Но как вы можете настроить сканер, из которого он будет использоваться PosExplorer ? Из фрагментов, которые я прочитал, это выглядит как pos.для net требуется service object or 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 создавать, какие свойства и т. Д.

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

Ответ №1:

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

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

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

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


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

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

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

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

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

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

Комментарии:

1. Спасибо за эти разъяснения. У меня нет опыта управления устройствами ввода-вывода, но я быстро учусь. Однако я немного озадачен тем, какова дополнительная ценность upos. Из примера контроллера службы похоже, что мы напрямую взаимодействуем с устройством как с hid. Можете ли вы даже знать, как кодировать / декодировать сообщения для взаимодействия с устройством без документации поставщика? Если это стандартные сообщения, не должен ли быть более простой способ получить поддержку устройств?. Итак, какова ценность upos, если вам нужно создавать мини-«драйверы» / «абстракции» для 90% существующих устройств?