Mobilní aplikace jako nástroj pro řízení firmy
Mobilní aplikace nemusí být jen pro zákazníky. Stále více firem je využívá ke zjednodušení interních procesů, komunikace se...
Vývoj mobilní aplikace pro prodej zboží v terénu přišel s požadavkem tisknout účtenky. Hledali jsme tedy způsob, jak vytisknout z hybridní aplikace definovanou šablonu. Chtěli jsme tiskárnu, která se připojuje přes Bluetooth a která spolupracuje s iPadem, na kterém naše aplikace funguje.
Dotaz do komunity, hleadání na Alze. Tiskárny EPSON jsou prý spolehlivé, avšak nejsou v nabídce. Alza nabízí značku Cashino. Tisknou na termopapír, mají možnost připojení přes wifi, infrared a bluetooth. Z diskuse pod produkty bylo vidět, že je nějaký problém s podporou iOS.
Na technické podpoře firmy Expro Mobil s.r.o., která tiskárny dováží, jsme se dozvěděli, že s iOS problém není, jen je třeba objednat ten správný typ, případně si nechat vyměnit čip, výměna stojí 200,- Kč.
Tiskárnu jsme objednali, konkrétně typ PTP-III BT4 se šířkou 80mm v Bluetooth verzi pro iOS. Tiskárna má připojení přes infraport, Bluetooth a USB.

Na první pohled bylo jasné, proč je třeba jiný HW pro iOS – poslední verze produktů Apple podporují pouze Bluetooth verze 4, klasický BT verze 2 s iPhone nefunguje. Na Androidu starý Bluetooth stále funguje.
Ani na iPadu ani na iPhone nebyla tiskárna v nastavení Bluetooth iPadu vidět. Až pomocí speciální aplikace LightBlue Explorer (https://itunes.apple.com/us/app/lightblue-explorer-bluetooth/id557428110?mt=8) bylo vidět, že je všechno v pořádku, ukázala se tiskárna i služby, které nabízí.
Další krok bylo připojit se a vytisknout něco z Cordovy. Pomohl plugin Bluetooth LE: https://github.com/randdusing/cordova-plugin-bluetoothle , který má poměrně dobrou dokumentaci, takže zde nebudeme rozebírat detaily, které jsou napsané tam.
Výsledná funkční sekvence kroků je:
Poslat na tiskárnu samotný řetězec „Hello world“ nevystiskne nic. Na začátku tisku je potřeba poslat inicializační řetězec ESC @, třeba takto: „\x1b@Write Hello World\r\n“.
Ovládání tiskárny a formátování textu se provádí přes ESC POS sekvence. Pro první pokusy s ESC POS a pro vyvíjení šablony je výhodné si tiskárnu připojit přes USB a posílat do ní data přímo. Na OS X je třeba doinstalovat ovladač pro PL2303, v linuxu je přístupná ihned na ttyUSB:
> echo -n -e "\x1B@ahoj\n" > /dev/ttyUSB0
Formátování textu – velikost a typ písma, zarovnání, … se provádí pomocí ESC POS sekvencí. Např. pro vytisknutí textu tučně: „\x1B!\x08text\x1B!\x00“. Vytvořili jsme jednoduchý překladač podmnožiny HTML tagů do ESC POS sekvencí a šablonu účtenky spáchali v HTML.
Kódování češtiny: tiskárna nepodporuje UTF-8, pouze vybrané kódové stránky, např. win 1250.
Obrázky: je možné vytisknout obrázek a funguje to. Protože ale na účtenkách tiskneme stále dokola jeden stejný obrázek – logo, je možné si ho uložit do NV paměti a při tisku se na něj odkázat – je to rychlejší, není třeba vždy posílat tisková data.
V pondělí začíná pilotní provoz v terénu.
Ještě odkaz do githubu na testovací aplikaci: https://github.com/inited/tisk-cashino
To zajímavé je v souboru www/app/services/print.service.js a bluetooth.service.js
Detail vlastní aplikace: Firmu jsme zbavili papírů a zrychlili prodej zboží
Diskuse k článku na Facebooku.
Jaroslav je certifikovaný architekt (TOGAF) s 25+ lety praxe v IT. Díky tomu mají naše mobilní aplikace vysokou technickou úroveň a jsou postavené na spolehlivých technologiích. Své zkušenosti získával na projektech v zahraničí (Velká Británie, Malta) a vedle INITED působí jako konzultant Adobe Experience Manager, AEM.
Mobilní aplikace nemusí být jen pro zákazníky. Stále více firem je využívá ke zjednodušení interních procesů, komunikace se...
Zaplatíte milion, uběhnou dva roky a aplikace stále není venku. Nevíte, v jaké je fázi, nevidíte průběžné výstupy...
Kolik stojí mobilní aplikace? Jaké má mít funkce? A co vás čeká po jejím spuštění? V podcastu odpovídáme...
Splash screen je první dojem, který si uživatelé z vaší aplikace odnesou. Komplexní průvodce od historie přes technické detaily implementace na iOS a Android až...
Pokud se 10 lidí zeptáte, jaký je největší trend v oblasti mobilních aplikací, s největší pravděpodobností vám všichni odpoví stejně – umělá inteligence. Velká popularita...
Aby práce na mobilní aplikaci běžely plynule a bez zbytečných potíží, je potřeba pečlivé projektové vedení. A za to je v INITED už od roku...