C# 如何在microsoft pos.net中为没有';t提供SDK/驱动程序

C# 如何在microsoft pos.net中为没有';t提供SDK/驱动程序,c#,.net,point-of-sale,opos,C#,.net,Point Of Sale,Opos,这是一个关于是否以及如何配置销售点外围设备以在pos4.net(Microsoft的.net框架销售点)中工作的一般性问题。简单地说,我不太清楚,在没有相关供应商提供的特殊驱动程序的情况下,您是否以及如何能够自行配置硬件 给我的问题提供一些背景。我正在研究一些外围设备(确切地说是扫描仪),它们需要与c代码接口。我对这一点比较陌生,但从我的理解来看,表面上看,pos4.net似乎是upos规范的.net风格的实现,一个简化兼容性的抽象层 类似地,如果人们想从java接口,也有jpos,而opos似

这是一个关于是否以及如何配置销售点外围设备以在pos4.net(Microsoft的.net框架销售点)中工作的一般性问题。简单地说,我不太清楚,在没有相关供应商提供的特殊驱动程序的情况下,您是否以及如何能够自行配置硬件

给我的问题提供一些背景。我正在研究一些外围设备(确切地说是扫描仪),它们需要与c代码接口。我对这一点比较陌生,但从我的理解来看,表面上看,
pos4.net
似乎是upos规范的.net风格的实现,一个简化兼容性的抽象层

类似地,如果人们想从java接口,也有
jpos
,而
opos
似乎是一个遗留标准。真正让我困惑的是,有一些不太知名的品牌扫描仪(比如NADAMOO),它们的兼容性对我来说并不是那么不透明

根据我自己的经验,
PosExplorer
识别出霍尼韦尔扫描仪和爱普生打印机之前,必须对它们进行配置,并安装相应供应商提供的软件。但是,这些不太知名的品牌似乎没有网站,也没有可下载的驱动程序,如果它们可以从中连接,这确实让人困惑

我只想使用的扫描仪声明它可以配置虚拟com,或者使用USB即插即用驱动程序作为键盘。但是,如何配置要从
PosExplorer
使用的扫描仪?从我读到的点点滴滴来看,pos.net似乎需要一个
服务对象
opos驱动程序
。前者似乎只是文件中的一些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>

基于com的扫描器的XML看起来没有那么吓人。但我不确定这是不是正确的方法,如果还有其他方法?我还想知道这将如何扩展到更复杂的硬件,您甚至如何知道要构造什么XML,什么属性,等等


有人能解释一下人们是怎么做的吗?

如果扫描仪硬件供应商没有提供OPOS或POS for.NET服务对象,您必须自己创建它。
它不是只能通过设置和自定义配置文件来使用的东西

如果您是应用程序供应商/开发人员,并且没有I/O设备控制经验,则应该从支持OPOS或POS for.NET的供应商处切换到扫描仪,或者在键盘输入模拟模式下使用扫描仪。那会很好的

如果您有控制I/O设备的经验,最好使用COM端口直接从应用程序控制扫描仪设备,而不使用OPOS或POS for.NET

如果您有I/O设备控制方面的经验并计划创建服务对象,最简单的方法是完成POS for.NET(包括SDK)的完整安装,并将作为一个非常简单的示例提供。根据您拥有的扫描仪服务对象的来源,针对您要使用的扫描仪对其进行修改。


在回复评论时添加:

UPOS是一种API标准化,为应用程序和设备带来更大的可移植性和互操作性

它不能保证完全的插件兼容性,但它促进了对系统的多供应商支持,例如在使用的设备和支持多个应用程序的I/O设备之间切换应用程序

由于API标准化是规范标准化,而不是程序或库实现标准化,因此没有可应用于实际设备的工作程序

它还与时间问题和供应商业务需求的强度有关

例如,关于条形码扫描仪,有AIM(ISO/IEC-15424)作为读取条形码类型(符号学)通知的规范,但在创建OPO时,它不是ISO,甚至现在也不是来自参与标准化工作的供应商。

UPOS不支持,因为没有请求。

感谢您的澄清。我没有控制I/o设备的经验,但我学得很快。但我有点困惑的是,upos的附加值是什么。从示例服务控制器来看,我们似乎直接将设备作为hid接口。如果没有供应商文档,您甚至可以知道如何编码/解码消息以与设备交互吗?如果这是标准化的消息,那么是否应该有一种更简单的方法来支持设备?。那么,如果您必须为90%的设备制作迷你“驱动程序”/“抽象”,那么upos的价值是什么呢?