Připojení RFID čtečky k webové aplikaci rubrika: Programování: Jiné
Mám informační systém s webovým GUI. Potřebuji na klientské straně připojit RFID čtečku tak, abych byl schopný do aplikace načíst ID uživatelské karty. V principu ani nemusí jít o RFID, ale obecně nějaké externí vstupní zařízení (třeba čtečka čárových kódů apod.)
Hlavně mi jde o dva případy užití:
- Registrace nového uživatele (uživatel sekretářce nadiktuje údaje a „pípne“ si kartou).
- Vyhledávání uživatelů na základě přiložení karty (uživatel přijde k sekretářce s nějakým požadavkem a „pípne“ si kartou, sekretářce se automaticky otevře uživatelský profil v aplikaci).
Nejjednodušší je mít RFID čtečku, která se chová jako klávesnice. Toto řešení má ale nevýhodu v tom, že prohlížeč s otevřenou aplikací, potažmo nějaké vstupní pole v aplikaci, musí mít focus. V případě (1) to nevadí, ale v případě (2) už je to dost nepohodlné.
Mám k dispozici RFID čtečku s USB rozhraním a k ní DLL knihovnu, takže můžu vytvořit v podstatě libovolnou aplikaci, kterou si klient nainstaluje. Jak ale vyřešit vlastní propojení s webovou aplikací?
Nejde mi teď ani o konkrétní implementaci, ale spíš o princip. Existuje nějaké obecné řešení? Jak to třeba řeší různé skladové nebo inventarizační systémy, které potřebují číst RFID/čárové kódy (pokud mají webové GUI)?
Pokud máte nějaké dll, které umí s čtečkou pracovat, tak bych se vykašlal na nějaké java aplety nebo active x a zvolil jedno z následujících řešení:
-
pokud klient používá firefox, nebo ještě lépe chrome, tak můžete vytvořit plugin, který "nějakým" způsobem přečte data co vrátíte v nějaké jiné aplikaci pracující s dll
- jako mnohem lepší řešení bych viděl vytvořit jednoduchý servřík třeba v c++ s blocking sockets, který přečte http request a vrátí response. Na parsování http hlavičky nepotřebujete nutně nějaké znalosti rfc, když to bude jednoúčelné. Má to pak jednoznačnou výhodu, že nepotřebujete žádné další balasty okolo a vše může fungovat přes ajax ve všech prhlížečích. Zase s tou nevýhodou, že se musíte dotazovat poměrně často. Tenhle problém by zase mohly řešit websockets.
Pro zobrazení všech 7 odpovědí se prosím přihlaste:
Nebo se přihlaste jménem a heslem: