#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% существующих устройств?