2012-03-15 40 views
4

我们正在设计一个Windows机器的自助服务亭,允许客户通过触摸屏网站在线订购,通过连接的芯片和卡读卡器付款,然后打印订单号码与收据打印机。与设备交互的信息亭浏览器软件

本质上,我们正在寻找允许网站与设备上安装的硬件进行通信的自助服务终端软件。如果这是不可能的,任何人都可以提出不同的解决方法?使用网站进行订购是不可协商的。

+0

您是否找到任何解决方案?你是如何最终设计架构的? – 2013-05-01 09:22:17

回答

1

在处理过这种情况下的几个项目之后,我可以立即告诉您,从网络客户端与硬件进行通信不会发生。

即使现在,在HTML5最初发布的两年之后,仍然存在一些硬件元素,这些元素从来不会直接来自HTML和/或JavaScript代码。

但是....这并不是说,这是不可能做到

这只是意味着你有你的工作等着你。

首先,每个售货亭都必须安装它,它是自己的个人网络服务器或一些描述。

我并不是说你绝对必须拥有Apache,IIS,Nginx或以前安装过的东西(尽管它确实使事情变得更容易),但是你必须在平台上安装某种本地二进制文件与硬件交谈的能力。

我在.NET中工作很多,所以在过去我选择运行一个Windows服务应用程序,然后使用类似NancyFX的方式公开一组json端点。

该服务将在后台运行,监听某个已定义的套接字。

该服务还可以负责提供实际的HTML代码亭页面太(但是,这会更容易些,他们服务过像Nginx的静态服务器)

的HTML后来干脆一直使用jQuery, Knockout,Angular或任何其他框架,这些框架将允许它调用这些Json端点来控制各种硬件位。

许多硬件,如芯片&针脚垫,读卡器,收据打印机都是通过串行端口控制的,所以一旦您有协议指南,就与实际设备通话,通常很容易。

我知道你提到HTML位是不可协商的,但对于它的价值来说,像Silverlight和Flash这样的技术仍然是黄金时段。

大部分Iv'e所从事的工作,都有一个相当平庸的PC内部构建,安装了基于Windows服务器的操作系统,运行IIS的副本以及一系列针对硬件运行的服务应用程序。然后,IIS提供一个HTML页面,该页面启动基于Silverlight的全屏触摸式UI,然后可以通过RPC和/或WCF直接与服务对话。

事情的整个方案工作得很好。

如果你在一个* nix系统上工作,那么你可能想在服务层上的守护进程上编写一堆,而使用mod mono的apache应该允许你执行在非.NET上运行的.NET UI平台。

1

kiosk浏览器锁定软件KioWare最近通过将他们的软件与ChipDNA(CreditCall支付网关提供的API)集成在32个国家,增加了对芯片和PIN设备的支持。