2012-03-15 39 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設備的支持。