Jste zde

LAN software utility pro OS Android - 2. TCP terminály

Každý servisní či vývojový elektrotechnik potřebuje ke své práci určité pomůcky. Ten, kdo provozuje, testuje či kontroluje funkci moderních elektronických systémů, se obvykle neobejde bez softwarové utility typu TCP/IP terminál umožňující zkontrolovat samotnou datovou strukturu přenášených dat zařízení či simulovat chování cílové jednotky. TCP/IP terminály na PC jsou běžnou záležitostí, ale stejně dobře lze využít i moderní chytré telefony či tablety.

Pro operační systém Android je k dispozici opravdu dostatečná nabídka softwarových utilit . Pokud "zabrousíte" do androidového softwarového obchodu "Google Play" a do vyhledávání zde zadáte "TCP terminal", naleznete k volnému stažení hned několik prográmků. Ne všechny však nabízejí stejné funkce, stejné možnosti a hlavně spolehlivost běhu aplikace. Rozhodně ne každá běží tak, jak by člověk předpokládal.

Software TCP Client

Na začátek jsem si vybral hned z mého pohledu jednoho ze spoluvítězů mého souboje. Prográmek TCP Client od jihokorejské společnosti Sollae, kterou z článků HW serveru můžete znát z výrobků typu převodníky RS-232/485 na LAN či WiFi (WLAN), prostě vždy dělá, co od něj člověk v každé chvíli očekává, jeho běh se nijak neseká ani nezamrzá. Ovládání je intuitivní a přehledné. Prostě je zde patrné, že za vývojem stojí firma a ně nějaký amatérský programátor. I přesto je zdarma ke stažení androidového softwarového obchodu "Google Play".

Po poklepání na ikonu, kterou mimo jiné lze mezi ostatními programy snadno identifikovat, se téměř okamžitě otevře úvodní okno, které narozdíl od ostatních programů, slouží "jen" pro výběr TCP serveru, ke kterému se má program v podobě TCP klienta připojit. Zde je totiž první výborná vychytávka, kterou často nemají ani podobné PC programy. Tedy je zde možné si vytvořit i obsáhlý seznam různých IP adres s TCP porty pojmenované vlastním zvoleným jménem pro snadnou identifikaci, ze kterých si následně vždy po zapnutí programu snadno rychle vyberete příslušný komunikační protějšek. V případě, že se tedy opakovaně připojujete ke stejnému zařízení, je to vynikající úspora času, než při každém zapnutí programu znovu a znovu parametry zadávat, jak to bývá u většiny ostatních TCP terminálů. Nová položka se do seznamu pak přidá otevřením zadávacího okna klepnutím na "+" v horním pravém rohu okna.

Ťuknutím na požadovaný TCP server, se pak přejde již do samotného komunikačního okna, které je pak velmi jednoduché. Prostě jde jen o černou plochu určenou pro zobrazování přijatých dat doplněnou jen horním "pruhem" zobrazujícím IP adresu a TCP port cílovéh jednotky (TCP serveru) a spodní řádky s tlačítkem "Send" určené pro napsání ASCII textu vysílané zpráv. A to je vše. Základním tlačítkem "Menu" na telefonu lze pak vyvolat nabídku umožňující měnit velikost fontů vypisovaných přijatých dat, vymazat vypisovací plochu a pak v nabídce "Settings" zvolit, zda se za vysílaným textem tlačítkem "Send" má automaticky doplňovat příkaz odřádkování či odstránkování (volba: CR, LF, CRLF, none).

Pokud se připojení k TCP serveru zdaří, tak se na ploše nápis "Connecting..." přepíše na "Connected", pokud se připojení na vzdálený TCP server z nějakého důvodu nepodaří, vypíše se "Fail to connect".

Závěr tedy zní: Program TCP Client funguje výborně, stabilně a spolehlivě. Pokud je WiFi komunikace správně nastavená a funkční a když je TCP server zadaných parametrů skutečně dostupný, připojení a komunikace se vždy podaří. Dle mého názoru má jen následující tři nevýhody: cílové zařízení musí být typ TCP server, po odeslání zadaného vysílaného textu se kolonka vymaže a je nutné další vysílaný text znovu napsat (velmi otravuje při opakovaném odesílání) a pak podpora jen ASCII dat s nemožností přepnout alespoň zobrazení příjmu na zobrazení hexa čísel. 

Software TermTCP

Prográmek TermTCP V1.0 má také výraznou spouštěcí ikonu a po zapnutí zobrazené základní a jediné okno programu vypadá velmi kvalitně. Ani nevadí, že se zobrazuje jen v režimu na šířku displeje. V levé části se nachází plocha po výpis přijímaných dat, pod ním řádek pro zadání vysílaných dat (standardně ASCII textu), vedle obou pak zaškrtávací políčko pro přepnutím na zobrazení přijímaných i vysílaných dat v hexadecimálním tvaru, vedle pak ještě zaškrtnutí automatického přidání CRLF příkazu k vysílaným datům. Úplně vpravo dole se pak nachází tlačítko "Send" pro odeslání dat a zcela nahoře pak kolonky pro zadání parametrů vzdáleného cílového TCP serveru, tedy IP adresy a TCP portu. Tlačítko "Clear" pak maže výpisovou přijímací plochu. Tedy velmi dobře provedené ovládání a navíc proti výše uvedenému programu TCP Client má ono přepnutí do hexadecimálního zobrazení dat.

Proč tedy nejde o vítěze mého testu? Protože jeho funkce je velmi nespolehlivá, tedy alespoň na mém telefonu. Hlavně je velmi problematické navázání komunikace se vzdáleným TCP serverem. Přesněji řečeno, navázat spojení tlačítkem "Listen" ještě obvykle fungovalo, ale z nějakého důvodu nebyl zablokován režim vysílání, konkrétně tlačítko "Send" zůstalo šedivé a nešlo tedy zmačknout. Někdy však po opakovaném připojování a odpojování tlačítek "Listen" vyskočila dost nesrozumitelná anglická hláška "Error .........java" s odpovědí "Ano" či "Ne" (viz obrázek níže). Zde když se ťuklo na "Ano", obvykle vše se najednou rozběhlo a celá komunikace zcela bez problému pracovala, tedy příjem i odesílání dat. Ovšem dokud však došlo k zamrznutí programu, což se mi také několikrát přihodilo. Když se toto stalo, telefon nešel ovládat, ale po cca 1 min ponechání svému osudu OS Android naštěstí vždy inteligentně aplikaci sám ukončil...

Závěr tedy zní: velmi dobrý TCP terminál typu klient, jen kdyby pracoval jak má. Když programátor problémy opraví, bude to kandidát na vítězství v oblasti TCP terminálů poskytovaných zdarma.

Software uConnect TCP/IP Terminal

Jako "druhého spoluvítěze" tohoto testu lze stanovit program "uConnect TCP/IP Terminal", který poskytuje nejvíce možností nastavení vysílání a přijmu. Nevýrazná ikona, která se v adresáři mezi ostatními Android programy poměrně špatně hledá, spustí opět pouze jedno hlavní okno, které je však přehledné a nabízí až nečekaně mnoho funkcí. Program tedy pracuje jako TCP Client a je nutné zadat IP adresu a TCP port serveru do políček v žlutém rámečku. Bohužel Client i server musí pracovat na stejném TCP portu. Navázání či odpojení komunikace se pak v tomto programu provádí přes tlačítko "Connect" a "Disconnect" schované pod Android tlačítkem "Menu".

Pod zadáním IP adresy se pak nachází pole zadání vysílaných dat, přičemž v okně vedle lze zvolit zda v podobě ASCII znaků či hexa čísel a navic níže i nastavením automatického ukončení dat CR/LF nebo LF/CR příkazem. Ručně pak lze dále vložit příkazy CR, LF, Tab či ESC. To se mi moc líbí...

V oblasti příjmu pak lze opět nechat výpis v podobě ASCII znaků či přepnout na hexadecimální režim. Navíc je možné spustit příjem jen 7bitového ASCII režimu, což žádný jiný TCP terminál v tomto testu nenabízí.

Závěr: Tento program je spolu se softwarem "TCP Client" spoluvítězem tohoto testu. Sice neposkytuje možnost vytvoření seznamu serverů, ale jako jediný má možnost volby hexidecimálního režimu vysílání i příjmu, i rychlého vkládání ASCII příkazů CR, ESC apod. Jedinou funkční nevýhodou je běh pouze v režimu TCP klient a ne také TCP server. Samostatné absolutní vítězství v testu mu bohužel uniklo z důvodu občasného "zamrznutí" programu, i když ne moc časté...

Software TCP Texter

Program "TCP Texter" se hned po spuštění na první pohled představuje jako celkem primitivní nástroj, který však prokazuje kvalitní služby. Pracuje jako TCP klient, tedy je nutné v horní části okna zadat parametry cílového TCP serveru (IP adresu a TCP port) a pak vlastním TCP port. Navázání komunikace se zde provede tlačítkem "Bind/Release Port". Pak už jen do políčka "type text to send here" stačí napsat vysílaný ASCII text a vyslat tlačítkem "Send" nebo v okně pod ním přijímat zprávy od serveru. Prostě velmi jednoduché, nic víc a nic míň. Možná mi jen chybí možnost zapnout alespoň v příjmu zobrazení v hexadecimálním režimu.

Závěr: Velmi jednoduchý, ale velmi přehledný a slušně fungující prográmek, který prakticky ničím nenadchne, ale také ani ničím neurazí.

Software TCP Socket

Program s názvem "TCP Socket" také patří k těm, které mě zklamaly. Na první pohled jednoduchý prográmek, který po zapnutí výraznou a snadno mezi ostatními programy viditelnou ikonou zobrazí jen jednu základní obrazovku. Ta je pak dvěma záložkami rozdělena na funkci Client a Server. Rozdíl je v obou v tom, že v režimu "Client" se zobrazí položka zadání IP adresy serveru, zatímco v režimu "Server" se zadává jen TCP port, na kterém zařízení čeká na příchod dat od klientů. Navázání komunikace se pak provede tlačítkem "Connect". Poté lze buď jednorázově nebo automaticky opakovaně vyslat ASCII text zadaný políčka "Command line..." tlačítkem "Send" nebo zatržením políčka "Continued to send every 5 secs.". V položce "TCP Socket" by se pak měla vypisovat přijatá data.

Velký zápor tohoto programu je však velmi špatná funkce. Nejen, že měl tendenci často zamrzat tak, že telefon se stával chvílemi zcela neovladatelný (naštěstí vždy po chvilce OS Android nabídnul vypnutí programu funkcí KILL), ale také v běžícím režimu nedělal, co měl. Sice umožňoval odesílat ASCII zprávy do zařízení pracující jako TCP server i TCP client, ale již prostě nezobrazoval žádná přijatá data (nebo možná je vůbec nepřijímal). A to ani v režimu "Server", kdy zařízení na data čeká. Že chyba není v telefonu, ale v programu, jasně prokázalo hned následné zapnutí jiného výše uvedeného programu, který se stejným nastavením bezchybně pracoval.

Závěr: Program TCP Socket aktuálně nedoporučuji. Možná špatně pracoval jen na mém telefonu, ale dle mého názoru by měl správný program pracovat správně na každém zařízení, pro které je určen (lze na něm spustit). Možná v budoucnu se dočká opravy, ale zatím je prakticky nepoužitelný. I když koncepce režimu "Client" a "Server" v jednom programu není špatná.

  

Bohužel i v režimu "Server" program TCP Socket jen vysílá, ale nezobrazuje žádná přijatá data.

Závěr

V oblasti programů typu "TCP terminály" lze najít v Google Play obchodě poměrně široké množství. Ne všechny jsou však plně funkční a ne zcela při běhu stabilní. Některé, i když je jich spíše menšina, však fungují velmi dobře a lze je bez problémů používat i na pracovní úrovni, například v případě vývojáře či servisního technika. V tomto testu byly jasným vítězem programy Sollae TCP Client a uConnect  TCP/IP Terminal. Volba mezi nimi záleží jen na prioritách daného použití. Mimochodem není bez zajímavosti, že za oběma softwary stojí firmy vyrábějící různý IT / LAN hardware (komunikační převodníky, redukce, routery apod.). To je asi důvod, proč jsou z pohledu funkčnosti nejlepší a hlavně lépe odladěné. z toho se dá odvodit pravidlo, že vždy je jistější stahovat software, který podporuje nějaký konkrétní výrobce hardwaru.

Odkazy:

Hodnocení článku: