Využití Adobe Flash pro řízení systémů připojených k PC Adobe Flash je znám jako nástroj pro tvorbu interaktivních multimediálních animací. Je vhodný pro tvorbu systémů komunikujících se servery, s databázemi i jinými systémy. Mohou se v něm vytvářet i kvalitní desktop aplikace. Všechny Flash aplikace mohou mít implementován vysoký podíl vnitřní inteligence. Flash aplikace mezi sebou komunikují obvykle prostřednictvím serverů. Pokud je spuštěno více různých desktop i web-based Flash aplikací na jednom počítači, mohou spolu komunikovat přímo bez účasti serveru. Flash aplikace mohou komunikovat i s prostředím, ve kterém běží. To poskytuje velmi zajímavé a užitečné možnosti pro její využití. Měřící systém Měřící systém řízený počítačem se skládá ze dvou částí - softwarové a hardwarové. Obr. 1 Základní blokové schéma měřícího systému Na PC nebo serveru běží softwarová (dále již jen SW) část aplikace (program, EXE) která prostřednictvím API (Application Programming Interface) systému, nebo specielních driverů komunikuje s připojeným hardwarem. Hardwarová (dále již jen HW) část měřícího systému bývá realizován na speciální PC kartě, nebo je externím zařízením připojeným přes některé ze standardních portů. SW části měřících systémů vytvářené ve Visual Basic nebo C++ Obr. 2 Blokové schéma systému vytvořeného ve Visual Basic s Flash grafickým interface
Přesto, že je sběrnice RS232C (COM port počítače) již dost stará a relativně pomalá, přesto je pro své některé výhodné vlastnosti stále často využívaná. Pro připojení přes USB, Bluetooth i infraport lze využít právě tento způsob komunikace, protože všechna uvedená rozhraní mohou v režimu RS232C pracovat. Nainstalujeme tato rozhraní jako virtuální COM port a pak již využíváme API COM portů. Obvykle jsou pro vytvoření grafického rozhraní SW části ve VisualBasicu nebo C++ využívány běžné komponenty. Používání například různých animovaných schémat a nestandardních tlačítek je již poměrně složité a pracné, nebo vyžaduje speciální knihovny. Vlastní realizace grafické podoby je v rukách programátora. Při použití Flash animací na místě grafického rozhraní ponechá grafikovi plnou volnost při jeho tvorbě. Grafik může celé rozhraní dokonce vytvořit sám. Programátor aplikace využije Shockwave Flash object, který zobrazí grafický interface - Flash animaci. Prostřednictvím tohoto objektu je snadné předávání dat mezi Flash animací a vlastním systémem. Již delší dobu se tímto způsobem řešení zabývám. Tento způsob řízení byl letos použit mým studentem pro řízení a zobrazování stavu čítače připojeného k PC prostřednictvím USB portu. Měřící systém celý vytvořený v programu Flash s využitím MDM Zinc MDM Zinc je skvělý nástroj pro tvorbu off-line aplikací. Aplikace jsou vytvářené přímo ve Flash a MDM Zinc mu dodává další velmi užitečné třídy nejen pro komunikaci s HW počítače. I ve Flash existuje přímo nástroj pro vytváření desktop aplikací. Jmenuje se AIR. Ten však neumí pracovat s COM porty. Kompletní SW část systému můžeme tedy celou vytvořit i ve Flash. Vzdálené řízení aplikace připojené k měřícímu systému V současné době většina vzdálených měřících a řídících systémů (vzdálených laboratoří) běží na serverech, ke kterým se připojují klientské aplikace. Z těchto klientských aplikací lze řídit měřící systémy i sbírat naměřená data. Tyto systémy jsou obvykle vytvořeny v systému Java. Máme-li na klientském počítači měřící a řídící systém, který řídíme programem Flash, získáme naprosto nové možnosti. Například vzájemnou komunikaci mezi jednotlivými Flash aplikacemi běžícími na klientském počítači bez nutnosti propojení přes server. Fantastické je, že takto lze propojit komunikačními kanály webové aplikace, které mají přístup na server s dektop aplikacemi, které mají přístup k hardware klientského počítače. Dokonce prostřednictvím socket serverů lze takto propojit i různé klienty. I ty, kteří jsou spuštěny na stejné platformě, tedy například Flash aplikace s aplikacemi běžícími na platformě Java či Silverlight.
Obr. 3 Příklad vzájemného propojení Flash aplikací Moje interaktivní multimediální výukové prostředí Výše uvedené principy se využívají jak pro tvorbu řídících systémů pro běžné měřící a řídící aplikace. Velké výhody však přináší i do oblasti tvorby různých simulátorů a emulátorů apod. Interaktivní animace, simulace a různé didaktické hry ve spojení s možnostmi Flash přináší do výuky zcela nový rozměr. Přímým propojením Flash animací na reálné systémy a možnost vzájemné spolupráce více uživatelů při práci s těmito systémy, otevírá novou ne příliš probádanou cestu k novým velmi zajímavým výukovým oporám. Na základě zásad pro tvorbu distančních studijních opor a s ohledem na výše uvedené možnosti, vyvíjím systém, který jsem nazval Moje interaktivní multimediální výukové prostředí (My Interactive Multimedia Learning Environment) dále již jen MyIMLE. Tento systém by měl být dostatečně dynamický a otevřený pro rozšiřování i do oblastí, které vzhledem k rychlosti rozvoje nových technologií se dají jen těžko odhadnout. Jednou jeho velmi důležitou větví by měl být i směr k mobilním interaktivním multimediálním výukovým systémům. Obr. 4 Základní blokové schéma propojení systémů k MyIMLE
MyIMLE komunikuje s připojeným hardwarem prostřednictvím SW connection modulu nazvaného MyCOMPort. Komunikační modul umožňuje připojení více aplikací ke COM portu. Všechny připojené aplikace mohou modul požádat o přenos dat z/do COM portu. Mohou však také posílat data pouze do COM portu, ale z portu je může přijímat jen jedna aplikace, nebo může stejná data přijímat více aplikací současně. Aplikacemi mohou být kromě MyIMLE například osciloskop zobrazující průběh měřených hodnot, modul pro zápis dat do databáze, řídící modul aplikace, který umožní řídit HW systém například prostřednictvím joysticku. Aplikací může být také modul, který bude realizovat automatické řízení a sběr dat HW systému. Tyto aplikace mohou však podle potřeby i přímo komunikovat s Flash aplikacemi uvnitř MyIMLE. Možností je mnoho. Na MyCOMPort se zobrazuje seznam připojených aplikací, informace o připojeném COM portu i o tom, které aplikace vysílají a přijímají data z/do COM portu. Tento seznam může být také od modulu vyžádán připojenou aplikací, která pro to má oprávnění. Spojení modulu MyCOMPort s aplikací může iniciovat modul, nebo aplikace. Nastavení činnosti modulu MyCOMPort může být manuální, nebo automatické pomocí konfiguračního souboru. Konfigurační soubor může libovolně upravit činnost komunikačního modulu, omezit připojené aplikace, nastavit jejich režim činnosti apod. Není-li konfigurační soubor k dispozici, pracuje modul v plném režimu. Veškeré komunikace mezi aplikacemi a modulem pracují v režimu hand shaking (jsou vzájemně potvrzovány). Pokud jde o připojený HW systém ke COM portu, pak jeho komunikace s modulem MyCOMPort probíhá také v režimu hand shaking. Ukažme si to na příkladu připojení HW k MyCOMPort. Hw systém po připojení k PC a zapnutí napájení vyšle svou identifikaci do COM portu a čeká na odpověď z COM portu, přesněji na připojovací sekvenci modulu MyCOMPort. Je-li modul MyCOMPortu v provozu, odpoví svou identifikací jako potvrzení navázání komunikace. Pokud v provozu ještě není, pak neodpoví a HW systém přejde do režimu čekání na připojení. Obr. 5 Základní blokové schéma propojení systémů k MyCOMPort
Když se MyCOMPort spustí, může pomocí konfiguračního souboru poznat, kde má být připojený HW systém, může automaticky oskenovat přítomné COM porty a do všech vyslat inicializační sekvenci pro připojení HW systému. Podle toho, z kterého COM portu přijde odpověď od HW systému, přes ten bude nadále probíhat komunikace. Popřípadě po spuštění požádá modul uživatele o manuální nastavení čísla COM portu, kde se HW systém nachází. Na inicializační sekvenci modulu HW systém odpoví svou identifikací a MyCOMPort i HW systém je připraven k činnosti. Je-li MyCOMPort modul spojen s HW systémem, informuje o tom všechny aplikace, které mají nastaven požadavek na příjem dat z COM portu, nebo aplikace, které jsou specifikovány v konfiguračním souboru. Závěr Shrnuli jsme si základní možnosti využití Flash animací pro řízení HW systémů připojených k PC. Flash přináší mnoho zajímavých možností do konstrukce těchto systémů. Jistě existuje i celá řada jiných řešení a nelze říct, že některý způsob je špatný a jiný naopak skvělý. Nejde zde o jejich srovnání, jde však o nástin možností. Jednu velkou výhodu oproti ostatním systémům však Flash má a tou je bezesporu možnost plného začlenění grafiků a animátorů přímo do vývoje těchto systémů. To jistě ocení tvůrci interaktivních studijních opor, didaktických her i velmi progresivních grafických rozhraní pro řízení elektronických systémů. Příspěvek je výsledkem řešení projektu číslo /MUNI/41/010/2009/, Možnosti propojení Flash animací s měřícími systémy pro podporu výuky, financovaného v r. 2009 Pedagogickou fakultou MU. References [1] ActionScript Native Bridge [online]. 22.7.2009 [cit. 2009-22-07]. Dostupný z WWW: <http://code.google.com/p/actionscript-native-bridge/>. [2] Stuchlíková, Ľubica - Gron, Michal: Aktívna spoluúčasť študentov pri tvorbe interaktívnych e-learning materiálov v rámci inovácie vzdelávania. In: Konkurenceschopnost jako produkt inovací v celožinotním vzdělávaní : Mezinárodní vědecká konference. Ostrava, Czech Republic, 2.-6.10.2007. - Ostrava : VŠB - TU Ostrava, 2007. - CD-Rom. [3] Michalko Miroslav, Bača Ján, Jakab František, Biňas Miroslav: Video Streaming Challenges in Mobile Networks, Proceedings of CSE 2008 International Scientific Conference on Computer Science and Engineering, Stará Lesná, The High Tatras, Slovakia, September 24-26, 2008, Košice, elfa s.r.o., 2008, pp. 176-183, ISBN 978-80-8086-092-9