我们正在为 Windows 机器设计一个自助服务亭,允许客户通过触摸屏网站在线订购,通过附带的芯片和密码读卡器付款,然后使用收据打印机打印订单号。
本质上,我们正在寻找允许网站与设备上安装的硬件进行通信的信息亭软件。如果那不可能,有人可以建议用不同的方法解决这个问题吗?使用网站订购是不可协商的。
我们正在为 Windows 机器设计一个自助服务亭,允许客户通过触摸屏网站在线订购,通过附带的芯片和密码读卡器付款,然后使用收据打印机打印订单号。
本质上,我们正在寻找允许网站与设备上安装的硬件进行通信的信息亭软件。如果那不可能,有人可以建议用不同的方法解决这个问题吗?使用网站订购是不可协商的。
KioWare 是一款自助服务终端浏览器锁定软件,最近通过将其软件与 CreditCall 支付网关提供的 API 芯片 DNA 集成,在 32 个国家/地区增加了对芯片和 PIN 设备的支持。
在为这种场景完成了多个项目之后,我可以立即告诉您,从纯 Web 客户端与硬件进行通信是不会发生的。
即使是现在,在最初发布在 HTML5 的辉煌岁月之后的 2 年,仍然有一些硬件元素永远不会直接从 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。
我用过KioWare,效果很好。