MojAndroid

Prednedávnom som dostal ponuku naprogramovať Android aplikáciu na bezdrôtové ovládanie traktora. Mnohí z vás si teraz predstavia, ako som sedel niekde v traktore a programoval mobilnú aplikáciu. Ale nebolo to celkom tak. Viac sa dozviete v nasledujúcich riadkoch.

Jedného dňa sa mi ozvala firma EnergyApp, či by som pre nich nespravil mobilnú aplikáciu. Aj keď väčšinou nerobím Android aplikácie na zákazku, len tak zo zvedavosti som sa spýtal o čo by išlo. Odpoveď znela: “Chceme ovládať traktor z tabletu pomocou mobilnej aplikácie.” Vtedy mi na chvíľu prebehlo hlavou, že ak spravím chybu v programe, bude ujo traktorista zapadnutý niekde v jarku poriadne nadávať na programátora, ktorý aplikáciu naprogramoval (chybička sa predsa len občas objaví :).

Ale ako vyštudovaný automatizér som neodolal a “výzvu” prijal. Tiež som nevedel, ako bude vlastne celý vývoj prebiehať, lebo aj pre mňa bol takýto typ aplikácie “novinkou”. Aplikácia mala byť hotová do dvoch týždňov. Preto som si najskôr potreboval vyskúšať niektoré technológie, s ktorými som ešte nemal skúsenosť. Chcel som si byť istý, že na mňa pri vývoji aplikácie nebudú čakať žiadne prekvapenia.

Aplikácia mala komunikovať s traktorom bezdrôtovo pomocou technológie Bluetooth. S bezdrôtovou Bluetooth komunikáciou som nemal žiadne skúsenosti, preto som si najprv potreboval vytvoriť prototyp bezdrôtovej komunikácie tabletu a zariadenia. V šuflíku som našiel zopár zariadení s ktorými som mohol Bluetooth komunikáciu otestovať.

V priemyselných aplikáciách sa ešte dosť často používa sériový port (RS-232). Pamätám si na časy, keď bol sériový port v každom počítači, ale dnes sa dá zohnať už väčšinou iba ako prevodník na USB port.

Tu nastal prvý problém. Bluetooth komunikáciu som testoval na štyroch zariadeniach, z toho na jednom komunikácia nefungovala vôbec, na druhom občas a na ostatných všetko fungovalo správne. Pravdepodobne mali niektoré zariadenia chybu vo firmvéri a s tým sa v podstate nedalo nič robiť, jedine čakať, kedy výrobcovia túto chybu opravia. So zádavateľom sme sa dohodli, že aplikáciu budeme prevádzkovať len na podporovaných telefónoch/tabletoch. Teraz som už vedel že Bluetooth komunikáciu mám vyriešenú a ďalej to už bude viac-menej štandardná práca pre Android programátora.

K dispozícii som dostal softvérový emulátor zariadenia s ktorým som mal komunikovať a na ktorom som si mohol testovať funkcie stroja. Takže samotné zariadenie som nemal k dispozícii ani som nemal k nemu prístup. Komunikácia so zariadením prebiehala pomocou ASCII protokolu, ale to už sú technické detaily, ktoré nie sú veľmi zaujímavé.

Následne som dostal návrh obrazoviek ako má aplikácia vyzerať (musím povedať že sa často nestretávam s tak precízne vypracovaným zadaním). Priemyselné aplikácie s ktorými som sa doteraz stretol, mali jednu spoločnú črtu. Nevyzerali veľmi vábne a to hlavne preto, lebo aplikácia v priemysle musí v prvom rade spoľahlivo fungovať a na dizajn / vizualizáciu sa nekladie až taký dôraz. Ale myslím, že v tomto prípade sa dizajn aplikácie celkom vydaril, je jednoduchý a prehľadný.

Aplikácia bola priebežne vyvíjaná a testovaná u mňa na počítači. Keď sme sa dostali do stavu beta testovania, bola aplikácia zaslaná do laboratórneho testu. A keď aj v laboratóriu všetky testy prešli, tak sa mohla aplikácia vyskúšať aj na reálnom zariadení.

Po dvoch týždňoch bola aplikácia naprogramovaná, otestovaná a odovzdaná. A ja som vlastne ani nevidel stroj, ktorý sa mal pomocou mojej aplikácie ovládať (čo mi bolo trochu aj ľúto).

Po pár týždňoch mi prišiel tento obrázok a ja som konečne mal možnosť vidieť, pre aké zariadenie som mobilnú aplikáciu vyvinul. Nakoniec sa neovládal priamo traktor, ale prídavné ťažné zariadenie k traktoru (ospravedlňujem sa za moju terminológiu, nie som odborník na poľnohospodárske stroje :).

Takže takto vznikla aplikácia na ovládanie poľnohospodárskeho zariadenia. Pomaly prichádza doba, keď sa budú dať pomocou tabletu ovládať aj poriadne veľké “hračky” :)

18.9.2014

Pravidlá diskusie

Portál MojAndroid.sk si vyhradzuje právo zmazať neslušné, rasistické a vulgárne príspevky, ako aj osobné útoky na redakciu, či diskutérov v komentároch pod článkom bez ďalšieho upozornenia. V prípade uverejňovania odkazov na externé stránky, je komentár automaticky preposlaný do redakcie na schválenie.

+