Jak otevřít pokladní zásuvku přímo z webového prohlížeče.


V průběhu času, větším rozšiřováním internetových technologií, se objevují aplikace pokladních systémů, které "běží" jako webová aplikace. Jinak řečeno uživatelé se pomocí webového prohlížeče připojují na webové stránky "nějakého" serveru, kde ovládají pokladní software obdobně jako třeba své účty v bance, email na google atd... Tento přístup není v řežii přímého přístupu k perifériím tak jako je to v případě klasických spouštěných pokladní aplikací přímo na daném systému, jako je například MONEY, Pohoda a mnohé další. Laicky řečeno pracuje se vlastně někde na nějakém jiném počítači a tomu se dávají pouze povely a zpětná vazba je tak jen na obrazovce. Periférie jako pokladní zásuvka, čtečka čárových kódů (v režimu jiném než emulace klávesnice), zákaznický displej atd... jsou pro aplikaci (server) v podstatě přímo nedostupné. Je tedy nutno použít jiné než přímé přístupy k těmto perifériím. Pokusíme se zde uvést několik příkladů jak přistoupit k pokladní zásuvce resp. jak jí otevřít přímo na místě, kde je spuštěn webový prohlížeč tj. na pokladně samotné či fyzicky blízko ní.

a) otevření z Internet Exploreru - pomocí ActiveX

Prvním příkladem je využití technologie ActiveX společnosti Microsoft resp. její implementace firmou StrokeScribe. Spočívá v instalaci balíčku StrokeReader ActiveX pro ovládání sériového portu právě přes ActiveX a její následné využití v Internet Exploreru verze 10 a 11. Je třeba dodat, že funguje jen v těch prohlížečích, jenž umožňují spouštět ActiveX tzn. Internet Explorer v10 a v11, kterým je tato technologie "domovská". Ostatní prohlížeče tuto možnost většinou nedávají, ale lze doinstalováním různých rozšíření ActiveX pouštět i v nich. Návodů jak se to dělá najdete na internetu spousty. Nám je znám např. produkt IETab, který rozšíří Google Chrome - http://www.ietab.net/ atd...

Na těchto webových stránkách najdete download příslušného balíčku StrokeReader ActiveX, který je pro základní vyzkoušení zdarma (v angličtině):
https://strokescribe.com/en/serial-port-download.html

O tom jak to celé uvést v činnost a jaký HTML kód je třeba, aby to fungovalo najdete na tomto odkazu (opět pouze v angličtině):
https://strokescribe.com/en/serial-port-internet-explorer.html

Pro jednoduchost stačí stáhnout a nainstalovat výše uvedený balíček, dále vytvořit patřičný kód do svých webový stránek s kódem a ty si otevřít z webového prohlížeče. Na vyzkoušení jsme pro Vás připravili zkušební HTML kód (ZIP ke stažení), který otevírá zásuvku po stisku tlačítka. Tento kód lze libovolně modifikovat pro potřebu Vaší aplikace, je pouze nutné správně vyplnit číslo sériového portu sériového nebo USB adaptéru Virtuos. V našem příkladu je použit port číslo 11 (COM11).

Viz tento řádek HTML kódu:   port.Port=11; // TADY JE NUTNO VYPLNIT ČÍSLO SÉRIOVÉHO PORTU KDE JE PŘIPOJEN ADAPTÉR!!

b) otevření z Chrome - pomocí tzv. Chrome Packaged App

Prohlížeč  od společnosti Google Chrome nabízí otevřené prostředí na ovládání nejen periférií, ale defacto všeho co se jen dá. Celé toto prostředí se jmenuje Chrome Package App a jedná se o různé balíčky včetně podrobné dokumentace, které si můžete sami upravovat a vkládat do svých aplikací. Nebudeme se zde rozepisovat do podrobností co a jak neb je to na delší psaní, pouze uvedeme jeden takový příklad, který si budeme demonstarovat jak otveřít zásuvku, přímo z Chrome.

Stačí pouze navštívit stránku aplikace Serial Monitor v Google Obchodu a nainstalovat si jí ho Vašeho prohlížeče. Následně jí spustit a vyberat příslušné číslo sériového portu, kde máte připopjený adaptér, v našem příkladu opět COM11 a dát Connect:

A po té vložíte do řádku Input např. číslo 1 (adaptérům Virtuos stačí libovolný ASCI znak) a stisknete Send:

Zásuvka by se měla otevřít. Tento příklad je podrobně rozepsán na GitHub stránkách autora této aplikace a lze jej tak využít do Vašich aplikací.

c) otevření přímo přes TCPIP

Třetím způsobem jak otevřít zásuvku přímo z prohlížeče je využití speciálního Ehernetového TCPIP adaptéru Virtuos (cenu a dostupnost žádejte na mailu obchod@tpc.cz). Jedná se o hardwarové řešení, které ovšem vyžaduje také určitou změnu přístupu k pokladní zásuvce v příslušném pokladním programu.

          

Ehthenet adaptér je samostané zařízení, který má na sobě tři konektory:

a) RJ12 6P6C - jedná se o standartní "telefonní" konektor obdobný konektorům s 24V ovládáním pokladních zásuvek jako je u většiny pokladních zásvuvek nebo u sériových či USB zásuvek Virtuos. Sem připojíte kabel od pokladní zásvuky,  u pokladních zásuvek Virtuos osazených rozhranním Virtuos tj. konektorem RJ50 10P10C se bude jednat o kabel EKA05112.
b)  RJ45 - konektor pro připojení do sítě ethernet mající na sobě dvě LED diody signalizující link (připojení k rozbočovači) a aktivitu.
c) USB typ B - který slouží pouze jako napájecí a je nutné do něj připojit obyčejný USB kabel, který je dodáván spolu s adaptérem. Na druhé straně jej zapojíte do volného USB portu pokladního systému případně do napájecího USB adaptéru.

Před zapojením k síti ethernet je nutno ještě nastavit tomuto adaptéru pevnou IP adresu a číslo PORTu pomocí jednoduchého prográmku spuštěného z příkazové řádky. Po dobu konfigurace doporučujeme být připojen k adaptéru přímo kabelem bez dalšího rozbočovače.
Takto zapojený a nakonfigurovaný adaptér pracuje již zcela samostatně, připojen k rozbočovači bez nutnosti připojení k počítači. Má tak své IP a port, který je volně přistupný bez autorizace a lze posláním dat právě na tento port zásuvku otevřít. Tj. například příkazem TELNET ip_adresa port a následným posláním libolných dat (tj. např číslo 1 + ENTER) dojde k otevření zásuvky. 

Toto hardwarové řešení tedy vyžaduje ještě změnu způsobu komunikace se zásuvkou a to zasílání dat místo na sériový port na TCPIP port IP adresy zařízení. Z praxe víme, že mnoho programů díky podobnosti této komunikace, tuto možnost nabízejí již teď, případně změna je velmi snadná. V případě ovládání přes webový prohlížeč je nutné serveru přímým spojením, VPN sítí či směrováním portů.,umožnit volnému přístupu k tomuto adaptéru, navíc je třeba myslet na to, že každý přistupující přes web musí mít svou vlastní IP konfiguraci pro každý adaptér.

Na speciální přání je možné dodat i verzi s ovladači pro Windows s emulací seriového portu. Tj. adaptér se bude tvářit jako další sériový port serveru. Toto řešení není nutné ani doporučované, stačí přímá komunikace na port, popsaná výše.

Ethernet adaptér tak umožňuje zcela nové možnosti komunikace mezi parifériemi napříš různými druhy spojení mezi serverem a klientem. Toto příkladové řešení je možné podobně implementovat i pro zákaznické displeje či jiné sériově orientované pokladní periférie. Máme ve stádiu testů i přípravy produktů i různé další možnosti, jako je komunikace přes wifi či bluetooth. V případě zájmu o další řešení nás kontaktujte na poštovní adrese virtuos@virtuos.cz.


Zajisté existují další způsoby jak otevřít zásuvku pomocí prohlížeče, naším záměrem bylo naznačit jak je možné toto řešit a pokud máte další způsoby, přivítáme jejich popis na naší emailové adreser virtuos@virtuos.cz a rádi je zde zvěřejníme.