Ovládání RC modelu pomocí Wi-fi. Pavel Valenta
|
|
- Žaneta Matějková
- před 8 lety
- Počet zobrazení:
Transkript
1 Zadání Cílem práce je návrh a implementace bezdrátového ovládání RC modelu s využitím technologie Wi-Fi. Přímé ovládání modelu bude realizováno pomocí servo motorů, řízených prostřednictvím mini-itx počítače/smartphonu s operačním systémem. Pro vzdálené ovládání se bude používat laptop, nebo jiný klient podporující Wi-Fi. Aplikace pro vzdálené ovládání bude zobrazovat provozní data získaná z modelu, jako je stav zařízení, obraz z kamery nebo informace ze systému GPS. Bezdrátový komunikační protokol musí být spolehlivý, během přenosu dat nesmí docházet ke ztrátám informací, které by model učinily neovladatelným. Celý projekt dokumentujte na volně dostupném serveru určenému pro podporu vývoje SW. i
2 ii
3 České vysoké učení technické v Praze Fakulta elektrotechnická Katedra počítačů Bakalářská práce Ovládání RC modelu pomocí Wi-fi Pavel Valenta Vedoucí práce: Ing. Martin Komárek Studijní program: Softwarové technologie a management, Bakalářský Obor: Softwarové inženýrství 23. května 2011
4 iv
5 v Poděkování Děkuji Ing. Martinovi Komárkovi za ochotu a trpělivost při vedení této práce.
6 vi
7 vii Prohlášení Prohlašuji, že jsem práci vypracoval samostatně a použil jsem pouze podklady uvedené v přiloženém seznamu. Nemám závažný důvod proti užití tohoto školního díla ve smyslu 60 Zákona č. 121/2000 Sb., o právu autorském, o právech souvisejících s právem autorským a o změně některých zákonů (autorský zákon). Obsah této práce je možné volně šířit při zachování podmínek plynoucích z licence BSD. Ve Velkých Přílepech dne
8 viii
9 Abstract This thesis deals with controlling RC models over Wi-Fi networks. It describes implementation of wireless control of an RC model and devices build within it. Communication between model and controller takes place on an computer network and is based on ISO/OSI model with the use of standard transport layer protocols. Abstrakt Bakalářská práce se zabývá ovládáním RC modelů s použitím síťové technologie Wi-Fi. Práce popisuje implementaci bezdrátového ovládání RC modelu a v něm zabudovaných zařízení. Komunikace mezi modelem a ovladačem probíhá na počítačové síti a je založená na využití ISO/OSI modelu a standardních síťových komunikačních protokolů. ix
10 x
11 Obsah 1 Úvod 1 2 Specifikace problému Historie rádiového ovládání Mechanické ovládání modelů Klasické rádiové ovládání modelů Teorie použití Wi-Fi Popis technologie Wi-Fi Přínosy Wi-Fi sítě pro ovládání modelů Model ISO/OSI Komunikační protokoly transportní vrstvy OSI Analýza Analýza požadavků Funkční požadavky Obecné požadavky Hardwarová část práce Softwarová část práce Podobné realizované projekty Analýza realizovaných řešení Analýza projektu WiFi Robot Návrh HW řešení SW řešení Architektura SW a komunikace Server Klient Funkce zajištění modelu a černé skříňky Uživatelské akce Diagram nasazení Diagramy tříd xi
12 xii OBSAH 5 Realizace Poznámky k realizaci Vývojové prostředí Nástroje Symbian C Qt framework Symbian emulátor Integrace Symbian C++ v Qt aplikacích Komunikace se zařízením Pololu Maestro Komunikační protokoly Realizace v Symbian C++ a standardním C Síťová komunikace Protokol TCP Protokol UDP Realizace v Qt Serverová aplikace Implementace Jádro Rozhraní Nasazení serverové aplikace na počítač formátu mini-itx Klientská aplikace pro systém Android Popis klientské aplikace Specifické vlastnosti systému Android Využití pohybového senzoru Grafické rozhraní Komunikace se serverovou aplikací Nasazení na reálném zařízení Testování Testování kódu Jednotkové testy Testy komponent Testování komunikace Komunikace s HW Síťová komunikace Testování reálné funkčnosti Závěr 29 8 Seznam použitých zkratek 33 9 Instalační a uživatelská příručka Serverová aplikace Předpoklady k provozu serverové aplikace Spuštění serverové aplikace a práce se zdrojovými kódy Klientská aplikace
13 OBSAH xiii Použití na reálném zařízení bez instalace Android SDK Práce se zdrojovými kódy a instalace pomocí Android SDK Obsah přiloženého CD 37
14 xiv OBSAH
15 Seznam obrázků 2.1 Grafické znázornění vrstev modelu OSI [6] Fotografie modelu z projektu WiFi Robot Diagram nasazení Diagram tříd serverové aplikace Diagram tříd klientské aplikace pro systém Android Rotační osy relativní k Zemi [24] Ovládání klientské aplikace pomocí tlačítek Ovládání klientské aplikace pomocí pohybového senzoru. Zařízení bylo v momentě zachycení tohoto obrázku nakloněno doprava a nahoru xv
16 xvi SEZNAM OBRÁZKŮ
17 Kapitola 1 Úvod Smyslem této práce je zvýšení komfortu ovládání RC modelů přesunem ovládání z hardwarových zařízení na úroveň počítačových aplikací. Motivací je vytvoření způsobu ovládání, které umožní řízení modelu z běžně dostupných zařízení s podporou Wi-Fi (například laptop nebo smartphone), bez nutnosti použití speciálního ovladače se specifickou dvojicí vysílače a přijímače. To umožní mimo jiné získat plnou kontrolu nad samotným modelem, komunikací mezi ovladačem a modelem a dále možnost použití, správy a ovládání dalších zařízení integrovaných do modelu. Do modelu bude nutné umístit počítač ve formě smartphonu nebo formátu mini-itx. Cílem práce je analyzovat možnosti využití Wi-Fi pro ovládání modelu s použitím modulů s dalšími funkcemi (například s kamerou a GPS přijímačem), navrhnout vhodné řešení tohoto problému a toto řešení implementovat. Součástí řešení je funkční aplikace pro vzdálené ovládání modelu ve verzi pro osobní počítač nebo mobilní telefon. 1
18 2 KAPITOLA 1. ÚVOD
19 Kapitola 2 Specifikace problému 2.1 Historie rádiového ovládání Bezdrátové ovládání pomocí rádiových vln je známé od roku 1897, kdy Nikola Tesla vytvořil model lodi, který ze břehu bezdrátově ovládal pomocí rádiových vln. Velkému rozvoji rádiového ovládání přispěly válečné konfliky. Technologie rádiového ovládání se využívala především ve vojenství pro řízení letové dráhy bomb, ale i pro vzdálené ovládání velkých bezposádkových strojů jako jsou tanky a lodě [1]. Rozšíření tranzistorů v šedesátých letech minulého století snížilo cenu a umožnilo širší použití technologie rádiového ovládání a zpřístupnění většinové populaci. 2.2 Mechanické ovládání modelů Přímé ovládání modelu je implementováno s použitím modelářských servo motorů - elektromotorů s možností kontroly pozice, které svým pohybem řídí pohyb přímých ovládacích prvků modelu, např. natočení kol u modelů aut nebo klapky u modelů letadel. Řízení servomotorů je typicky realizováno pomocí pulzně šířkové modulace (PWM). Servomotor přijímá pulzy s určitou šířkou a překládá je na pozici. Typicky má servomotor rozsah pohybu 90, potom šířka pulzu 1,5 ms je vždy přeložena na neutrální pozici - pozici 45. Zmenšování šířky pulzu až k 1,25 ms určuje pozici mezi 0 a 45 a naopak zvětšování šířky pulzu bude přeloženo na pozici od 45 do 90 [2]. 2.3 Klasické rádiové ovládání modelů Servomotory jsou řízeny pomocí řídícího signálu, který je možné servomotoru poslat pomocí bezdrátové dvojice vysílače a přijímače. Vysílač (vzdálený ovladač) signály pro jednotlivé servomotory zmoduluje do jediného rádiového signálu. V modelu je rádiová vlna přijata a demodulována na signály pro jednotlivé servomotory. Starý a stále běžně používaný způsob komunikace pro přenos informace z ovladače do modelu je jednoduchý přenos po rádiových vlnách s frekvencí v řádu megahertz. Typicky 3
20 4 KAPITOLA 2. SPECIFIKACE PROBLÉMU jsou to frekvence od 27 do 72 MHz [3]. Problémem je velká náchylnost k rušení více zařízení na stejné frekvenci. Moderní způsob komunikace je využití rádiových vln o frekvenci 2,4 GHz. Zvýšení frekvence přináší menší nároky na elektrickou energii a větší odolnost proti rušení od dalších vysílačů a elektromagnetického šumu z elektromotorů. Negativní vlastností vyšší frekvence je menší prostupnost pevnými objekty. Použití systému na frekvenci 2,4 GHz nabízí řešení pro problémy s rušením více modelů. Systém pracuje s kmitočtovým spektrem 2,4000 až 2,4835 GHz, rozděleným na 80 kanálů. Podle rozdílné implementace různých výrobců si systém buďto vyhradí dva kanály, hlavní a záložní, pro nerušenou komunikaci (výrobky firmy JR/Spektrum), nebo kanály trvale neblokuje a neustále mění použitý kmitočet (výrobky firmy Futaba). Teoreticky je tedy možné na frekvenci 2,4 GHz spolehlivě, a bez vzájemného rušení provozovat až 40 modelů [4]. 2.4 Teorie použití Wi-Fi Popis technologie Wi-Fi Pojem Wi-Fi se používá pro obecné označení bezdátové komunikace v lokálních počítačových sítích (standardy IEEE ). Jedná se o bezdrátový přenos na volně použitelných frekvencích 2,4 GHz a 5 GHz. Wi-Fi obstarává funkce fyzické a spojové vrstvy modelu OSI [5] Přínosy Wi-Fi sítě pro ovládání modelů Hlavním rozdílem proti klasickému rádiovému ovládání modelů je změna pohledu na zařízení z "černé skříňky", která na vstup ovladače reaguje pohybem modelu, na komunikaci pomocí počítačové sítě. Jako přijímač a vysílač slouží počítače propojené bezdrátovou sítí. Počítače nám narozdíl od jednoduchých čipů umožňují pokročilé programování a běh přijímače a vysílače jako aplikací, které mají možnost spolupracovat s dalšími hardwarovými moduly nezávisle na ovládání a bez fixace na specifický hardware. Rušení při provozu více zařízení na stejné frekvenci může být filtrováno definováním modelu, který vysílaným datům rozumí a byl spojen s vysílačem. Použití počítače v modelu je umožněno vývojem směřujícím k miniaturizaci, přijímačem může být minipočítač s nízkou spotřebou elektrické energie. V oblasti přenosu signálu Wi-Fi přináší spoustu možností pro řízení komunikace, především bezpečnosti přenosu, pomocí definovaných komunikačních protokolů a referenčního modelu ISO/OSI Model ISO/OSI Model OSI rozděluje komplexní komunikační systém do sedmi vrstev. Každá vrstva má svůj specifický úkol a nestará se o činnost ostatních vstev [6]. Klasická rádiová komunikace z pohledu OSI modelu využívá pouze fyzickou (rádiové vlny) a datovou vrstvu (zakódované ovládací signály) a komunikace probíhá pouze jedním směrem. Jednotlivé vrstvy OSI modelu jsou znázorněny na obrázku 2.1.
21 2.4. TEORIE POUŽITÍ WI-FI 5 Při použití komunikace podle tohoto modelu se řídící aplikace nemusí starat o fyzické parametry komunikace. Vysílající aplikace svá data předá do nižší vrstvy, kde dojde k postupnému zapouzdření až do vrstvy první a odeslání po médiu. Přijímající aplikace podobně dostane pouze data odeslaná vysílací aplikací, oproštěná od ostatních dat potřebných k uskutečnění fyzické komunikace. Obrázek 2.1: Grafické znázornění vrstev modelu OSI [6] Komunikační protokoly transportní vrstvy OSI Transportní (čtvrtá) vrstva OSI modelu zajišťuje vlastní přenos dat pro vyšší vrstvy. Výběr vhodného komunikačního protokolu umožnuje ovlivnit přístup ke kvalitě zprostředkovaného datového přenosu, jelikož nižší vrstvy nemají žádnou kontrolu doručení. Typickými zástupci jsou protokoly TCP a UDP. TCP protokol představuje protokol s aktivním spojením, který je díky potvrzování přijatých paketů odolný proti ztrátám při fyzickém přenosu. Vyšším vrstvám tedy neuniknou žádná data. Je vhodný pro přenosy kde je jistota doručení kritická. UDP protokol je naopak bezespojový protokol, který se nestará o stav a pořadí doručení. Hlavní využití UDP protokolu je pro přenosy typu vzdáleného sledování videa v reálném čase, kde ztracené pakety nemají výrazný vliv na kvalitu.
22 6 KAPITOLA 2. SPECIFIKACE PROBLÉMU
23 Kapitola 3 Analýza 3.1 Analýza požadavků Funkční požadavky 1. Systém bude umožnovat vzdálené ovládání servomotorů pomocí klientské aplikace. 2. Systém bude zobrazovat obraz z kamery umístěné v modelu a informace z GPS přijímače. 3. Systém zařídí zajištění modelu v případě ztráty spojení. Zajištěním modelu je myšleno například zastavení v případě modelu automobilu nebo bezpečné přistání v případě modelu letadla. 4. Systém bude na straně serveru vytvářet logovací soubory s provozními informacemi modelu. Logovací soubor bude obsahovat čas kdy byl model používán, přijaté příkazy od ovladače a infromace z GPS Obecné požadavky 1. Systém bude funkční na operačních systémech s podporou jazyka C++. Aplikace budou využívat standardní knihovny jazyka. 2. Systém zajistí spolehlivý přenos dat mezi modelem a ovladačem. Data určená pro ovládání modelu se nesmí ztrácet. 3. Model bude s ovladačem spojen pomocí sítě Wi-Fi. 4. Ovladačem se bude moci stát počítač s podporou Wi-Fi, ve formě laptopu nebo smartphonu, s nainstalovanou klientskou aplikací. 7
24 8 KAPITOLA 3. ANALÝZA 3.2 Hardwarová část práce Pro ovládání modelu je z třeba vyřešit následující hardwarové problémy: Mechanické ovládání modelu - mechanické ovládání modelu je nejlépe zajištěno pomocí servomotorů podle vzoru klasického ovládání modelů, jak je popsáno v sekci 2.2 v druhé kapitole. Řízení servomotorů je nejlépe realizováno pomocí jednoúčelového mikroprocesoru s deskou plošného spoje s konektory pro připojení servomotorů a s portem pro vstup instrukcí z nadřazené řídící jednotky. Mikroprocesor má nastavené požadované reakce na příslušné vstupy. Hardwarová zařízení kompletně připravená pro tento účel se dají pořídit od výrobců robotických součástek. Jedním z výrobců robotických součástek je firma Pololu, která je výrobcem hardwarové jednotky použité při tvorbě této práce [8]. Nabízené modely se liší různými typy vstupních portů, jsou však typicky dodávány s kvalitní dokumentací a programovatelné v některém z vyšších jazyků. Jádro modelu a integrace zařízení - za jádro modelu je pokládáno zařízení, které řídí všechna ostatní zařízení v modelu a umožňuje komunikaci s ovladačem. Jádrem ovládání modelu musí být mikropočítač s podporou Wi-Fi, buď ve formě miniaturního počítače typu mini-itx nebo smartphonu. Použití smartphonu v parametrech převažuje nad použitím klasického minipočítače, není totiž potřeba řešit otázky rozměrů, napájení a integrace externích modulů. Nevýhodou je potom interakce s hardwarovým ovladačem servomotorů, jelikož smartphonu chybí standardní USB rozhraní. Tento problém je možné vyřešit použitím bezdrátového spojení pomocí Bluetooth, nebo použitím funkce USB Host, která umožní ke snartphonu připojovat standardní USB zařízení jako k normálnímu počítači. Použití technologie Bluetooth by znamenalo další bezdrátové spojení a instalaci dodatečného modulu zajišujícího přemostění.technologie USB-OTG [9] pro mobilní zařízení v současné době není široce podporována a je dostupná pouze v některých nových zařízeních. Můžou se tedy vyskytnout problémy s implementací tohoto typu spojení s jednotkou servomotorů. K mobilnímu telefonu také není možné připojit externí Wi-Fi anténu což může znamenat problémy s dosahem. Ovladač - ovladačem modelu se z hardwarového hlediska může stát každý přístroj schopný připojit se na Wi-Fi síť, který splňuje nároky klientské aplikace. Tyto podmínky splňuje většina moderních laptopů a mobilních telefonů. Napájení - napájení je možné zajistit pomocí vhodného zapojení standardních tužkových baterií typu AA nebo použitím speciálních modelářských baterií s vhodnými parametry. V modelu je třeba napájet především servomotory. Při použití mini-itx počítače jako jádra systému je třeba zajistit vyšší napájecí napětí, typicky 12 voltů. Smartphone má vlastní integrovanou baterii. Rozlišení, které síťové zařízení bude přístupovým bodem a které bude fyzickým klientem nemá vliv na funkci aplikace a vhodnost řešení závisí na konkrétním použití. Umístění fyzického přístupového bodu do modelu má hlavní přednost v nezávislosti na dalším zařízení a umožňuje snadné předání modelu jinému ovladači mimo dosah původního.
25 3.3. SOFTWAROVÁ ČÁST PRÁCE Softwarová část práce Problém vzdáleného ovládání modelu je relativně jednoduchý a nevyžaduje spolupráci s databázovým či jiným software, ani rozlišování uživatelských rolí. Při volbě architektury se tedy zdá nejvhodnější jednoduchý model Klient-Server. Model by v tomto případě představoval serverovou aplikaci, kterou je možné přímo ovládat klientskou aplikací bežící v ovladači. Umístění serverové aplikace do modelu se jeví jako vhodnější řešení z důvodu pohledu na model jako na hlavní součást systému ovládání. Mimo to nabízí další možnosti využití modelu - podpora více připojených ovladačů v jeden okamžik nebo předávání kontroly nad modelem mezi více ovladači. Umístění serverové aplikace do modelu umožní vzdálené ovládání modelu přes síť internet bez potřeby dalšího hardware. 3.4 Podobné realizované projekty Analýza realizovaných řešení Ovládání modelu s využitím Wi-Fi je typicky řešeno využitím převodníku mezi sériovým portem a Wi-Fi sítí. K modelu je potom možné přes počítačovou síť pomocí virtuálního sériového portu přistupovat tak, jako kdyby byl fyzicky připojený. Tento způsob řešení má výhodu v nenáročnosti na zdroje, ale jeho jednoduchost neumožňuje komplexní řízení přenosu a procesů v samotném modelu. Tento způsob narozdíl od řešení realizované v této práci nepotřebuje integraci počítače do modelu, protože ovladač by komunikoval přímo s mikroprocesorem řídícím servomotory. Ovládání bez integrace počítače do modelu je hardwarově jednoduché, ale daní za jednoduchost takového ovládání je nemožnost snadné integrace dalších zařízení (kamery, GPS, apod.) do modelu a ztráta všech funkcí které počítač nabízí. Druhé řešení, které je bližší této práci, představuje využití Wi-Fi routeru umístěného v modelu. Tento způsob řešení nejlépe popisuje projekt WiFi Robot Analýza projektu WiFi Robot Tento projekt představuje úspěšné bezdrátové ovládání modelu auta s použitím Wi-Fi. Koncept projektu je stejný s touto prací, odlišuje se především ve výběru zařízení pro příjmé ovládání modelu. Informace o tomto projektu jsou dostupné na internetových stránkách autora [7] Základem projektu je použití síťového routeru s alternativním firmware založeným na systému linux na místě hlavního ovladače modelu a použití vlastního mikroprocesoru pro řízení servomotorů s využitím řídících čipů z původního modelu. Komunikace mezi routerem a ovladačem servomotorů je řešena pomocí sériového rozhraní. Pro zobrazení videa z modelu je použita IP kamera připojená k routeru, která není integrovaná do ovládací aplikace a přístup k ní je realizován přes internetový prohlížeč pomocí protokolu HTTP. Využití poměrně velkého routeru vedlo autora projektu k radikální přestavbě modelu, spíše než jako model tedy výsledek projektu vypadá jako router na kolečkách. Toto řešení je nevhodné pro menší modely, kde je potřeba hardwarová zařizení šetrně integrovat. Ovládací software představuje jednoduché převedení příkazů na instrukce pro mikroprocesor na straně serveru a ovládání pomocí čtyř tlačítek na straně klienta.
26 10 KAPITOLA 3. ANALÝZA Projekt je distribuován pod licencí GNU GPL v2 a představuje vhodnou inspiraci a ukázku základní funkčnosti pro tuto práci. Obrázek 3.1: Fotografie modelu z projektu WiFi Robot
27 Kapitola 4 Návrh 4.1 HW řešení Model bude ovládán pomocí standardních modelářských servomotorů, které budou řízeny ovladačem Micro Maestro 6-Channel USB Servo Controller [8] firmy Pololu. Jádrem modelu bude mini-itx počítač ALIX [11]. Ovladačem bude mobilní telefon s operačním systémem Android. Přenos signálů z mobilního telefonu do ovladače servomotorů bude zajištěno pomocí USB kabelu. Komunikace mezi mobilním telefonem a ovladačem bude probíhat bezdrátově pomocí sítě Wi-Fi, kde mobilní telefon bude představovat Acess Point, ke kterému se bude ovladač připojovat. Napájení servomotorů elektrickou energií zajistí čtyři tužkové baterie typu AA zapojené v sérii. Pro napájení mini-itx počítače v modelu je třeba zdroj s napětím v rozsahu 7-20 voltů. Napájení mobilního telefonu v roli ovladače zajistí jeho integrovaná baterie. Pro úpravu mechanického ovládání modelu je z hardwarového hlediska nutné připojit nebo odpojit servomotory od jejich ovladače. Zvolený model hardwarové jednotky pro ovládání servomotorů podporuje připojení až šesti servomotorů. 4.2 SW řešení Architektura SW a komunikace Pro ovládací software je zvolena architektura podle modelu Klient-Server. Serverová část aplikace poběží na modelu, kde bude na síti Wi-Fi komunikovat na dvou síťových portech a čekat na příchozí spojení z ovladače. Jeden port bude vyhrazen výhradně pro přenos instrukcí k ovládání modelu a druhý port bude určen na přenos ostatních dat, která nejsou kritická pro základní funkci modelu. Přenos instrukcí z klienta na server bude probíhat s využitím protokolu TCP pro zajištění správného doručení instrukcí. Přenost ostatních dat zajistí nereabilní protokol UDP. 11
28 12 KAPITOLA 4. NÁVRH Server Serverový software je navrhnutý pro realizaci ve formě aplikace pro mobilní telefon s operačním systémem Symbian. Serverová část softwaru bude rozdělena na jednotlivé komponenty s konkrétním účelem. Komunikace mezi jednotlivými komponentami a jádrem bude definována použitím specifických rozhraní. Použití rozhraní přináší možnost abstraktně definovat komunikaci uvnitř aplikace a umožňuje snadnou úpravu ovladačů v případě fyzické změny zařízení. Serverová část softwaru bude rozdělena na následující komponenty a rozhraní: Ovladač servomotor - ovladač zařízení Pololu Micro Maestro 6-Channel USB Servo Controller, na které jsou připojeny servomotory TCP server - komponenta představující server pro síťový přenos mezi serverem a klientem pomocí TCP protokolu. UDP server - komponenta představující server pro síťový přenos mezi serverem a klientem pomocí UDP protokolu. Ovladač GPS - zajištění komunikace se specifickýn GPS modulem. Ovladač kamery - zajištění komunikace se specifickým kamerovým modulem. Jádro modelu - zajištění hlavního řízení modelu a správné funkce komponent. Rozhraní pro komunikaci s GPS modulem - definice metod pro komunikaci s GPS modulem. Rozhraní pro komunikaci s kamerou - definice metod pro komunikaci s kamerou. Rozhraní pro ovládání servomotorů - definice metod pro komunikaci s hardwarovou jednotkou pro řízení servomotorů. Rozhraní síťovou komunikaci - definice metod pro síťovou komunikaci mezi serverem a klientem Klient Klientský software bude realizován jako aplikace pro osobní počítač. Klientská část softwaru bude, podobně jako část serverová, rozdělena na následující komponenty a rozhraní: TCP klient - komponenta představující klienta pro síťový přenos pomocí TCP protokolu. UDP klient - komponenta představující klienta pro síťový přenos pomocí UDP protokolu. Grafické rozhraní Jádro ovladače - interpretace uživatelských akcí a zajištění komunikace mezi komponentami. Rozhraní pro síťovou komunikaci - definice metod pro síťovou komunikaci mezi klientem a serverem.
29 4.3. DIAGRAM NASAZENÍ Funkce zajištění modelu a černé skříňky Speciální funkcí serverové aplikace bude akce v případě ztráty spojení nebo blížícím se vybití baterií. V případě použití tohoto ovládání na model letadla bude připraven protokol pro minimalizování škod při pádu, který by nastal v případě výpadku spojení. Systém bude zaznamenávat stav a veškeré provedené akce v přehledném textovém formátu do obyčejného souboru. Z tohoto souboru bude možné v případě problému zjistit z jaké příčiny daný problém nastal Uživatelské akce Uživatel bude moci na ovladači provádět následující akce: Výběr modelu - rozlišení pomocí IP adres v případě více modelů na jedné síti. Nastavení ovládání dle typu modelu - přiřazení ovládacích prvků k jednotlivým servomotorům. Zobrazení dat z videokamery Zobrazení lokace dle systému GPS Kontrola stavu spojení a modelu Zobrazení záznamu provedených akcí modelu 4.3 Diagram nasazení Diagram nasazení zobrazuje jednotlivé součásti kompletního systému, včetně znázornění komunikačních cest mezi jednotlivými zařízeními, aplikacemi a jejich komponentami. Diagram nasazení je na obrázku Diagramy tříd Třídní diagramy definují vnitřní strukturu serverové a klientské aplikace. Serverová aplikace rc-wifi-server, jejíž třídní diagram je na obrázku 4.2, je navržena s použitím jazyka C++ a jeho nadstavby frameworku Qt. Klientská aplikace rc-wifi-client (obrázek 4.3) je navržena v jazyce Java pro systém Android. Tyto použité technologie jsou popsány v příslušných sekcích následující kapitoly.
30 14 KAPITOLA 4. NÁVRH Obrázek 4.1: Diagram nasazení
31 4.4. DIAGRAMY TŘÍD 15 Obrázek 4.2: Diagram tříd serverové aplikace
32 16 KAPITOLA 4. NÁVRH Obrázek 4.3: Diagram tříd klientské aplikace pro systém Android
33 Kapitola 5 Realizace 5.1 Poznámky k realizaci Projekt byl původně navržen k realizaci pro použití se smartphonem Nokia N8 a vývoj probíhal v emulátoru systému Symbian. Z důvodu převážně integračních problémů spojených s emulátorem systému Symbian, které jsou popsány na následujících stránkách, a absence reálného zařízení, je finální realizace po dohodě s vedoucím práce provedena na mini-itx systému s operačním systémem Linux. Při realizaci bylo myšleno na multiplatformnost a modularitu vytvářeného zdrojového kódu 5.2 Vývojové prostředí Nástroje Nokia nabízí dvě možnosti vývoje pro systém Symbian, starší framework Symbian C++ a od roku 2010 také podporuje jednodušší a multiplatformní Qt framework. Symbian C++ představuje zavedený způsob vývoje a v současné době je to jediná možnost jak využívat některé funkce systému. Oba způsoby vývoje lze s určitými omezeními kombinovat a vytvořit tak aplikaci v Qt, která využívá některé knihovny ze Symbian C++. Vývoj musí vzhledem k požadavům emulátoru probíhat na počítači s operačním systémem Windows. Možné vývojové prostředí tvoří Qt Creator, zaměřený jen na Qt, a Carbide C++, který umožnuje vývoj v nativním Symbian C++ i Qt. Popsané knihovny a programy potřebné k vývoji jsou k dispozici v balíčcích Qt SDK [12] a Symbian SDK [13] Symbian C++ Symbian C++ je označení pro programovací jazyk vyvinutý přímo pro operační systém Symbian, který vychází ze standardního C++. Tento jazyk vychází z konceptu použití jazyka C++ v mobilních zařízeních z devadesátých let minulého století a vyznačuje se velkou složitostí. Využívá velké množství speciálních konstrukcí (deskriptory, aktivní objekty, dvoufázové konstruktory a mnoho dalších), které nejsou v ostatních běžných jazycích používané [14]. 17
34 18 KAPITOLA 5. REALIZACE Symbian C++ se vyznačuje velkou nabídkou knihoven a optimalizovanou podporou pro zařízení se systémem Symbian. Omezením tohoto programovacího jazyka je použitelnost na pouze jedné platformě a velká náročnost na znalosti a zkušenosti programátora Qt framework Qt je nadstavba standardního C++. Tento framework, původně vytvořený pro tvorbu GUI, je multiplatformní a po převzetí vývojové společnosti firmou Nokia je plně podporován také operačním systémem Symbian. Ovládání běžných součástí mobilních zařízení (videokamera, senzory, apod.) je zajišťováno modulem Qt Mobility [15]. Qt je výrazně jednodušší než Symbian C++ a představuje vhodnější volbu pro vývoj mobilních aplikací. Je tomu tak z důvodu plánovaného ukončení vývoje systému Symbian a naopak očekávanému pokračování vývoje Qt. Využití frameworku Qt je podrobně popsáno v dokumentu od firmy Nokia [16] Symbian emulátor Část aplikace je možné vyvíjet v emulátoru systému Symbian, který je součástí frameworku Symbian SDK. Tento emulátor je podobný reálnému zařízení, ale podobně jako jazyk Symbian C++ je velmi složitý a není možné v něm pohodlně pracovat. Některé funkce, které jsou na reálném zařízení běžné (například použitelné síťové připojení) nefungují, a je potřeba je obejít pomocí časově náročné konfigurace podle nepřesné dokumentace, často s nejistým výsledkem. Zařízení Pololu Maestro pro ovládání servomotorů využívá spojení pomocí virtuálního sériového portu na rozhraní USB. Emulátor neumožňuje přejmout USB port hostitelského počítače, ale již vytvořené virtuální sériové porty hostitele využít dokáže. Od aplikace na reálné zařízení se kód programu liší pouze v několika řádcích v nastavení parametrů spojení. Videokamera není emulátorem podporována a funkčnost je třeba otestovat na reálném zařízení. Simulace spojení se systémem GPS s generováním trasy je v emulátoru možná. Připojení k počítačové síti je v emulátoru řešeno pomocí přístupového bodu Winsock, který vytváří virtuální kanál mezi dvěma porty na rozhraní localhost hostitelského počítače. Vytvoření virtální síťové karty s reálnou IP adresou v emulátoru a další možnosti připojení (pomocí simulace přenosu gprs nebo odchytávání paketu na hostitelském počítači) jsou z části popsány pouze pro předchozí verze emulátoru a pokusy o jejich implementaci vedou pouze k chybám ve funkčnosti emulátoru Integrace Symbian C++ v Qt aplikacích Kombinace Qt a Symbian C++ je možná pouze při správné implementaci a vhodném ošetření velké řady výjimek a omezení plynoucích z vlastností obou jazyků, tento problém podrobně popisuje dokument od firmy Nokia [17]. Pro využití obou jazyků je nutné využít vývojové prostředí Carbide C++, kde se projevuje skutečnost, že toto vývojové prostředí není pro Qt nativní. Z toho důvodu je práce více programátorsky náročná. Při vývoji Qt aplikace v Carbide C++ dochází například k nenalezení cest k některým souborům, k automatickému přepisování konfiguračních souborů a podobných problémů,
35 5.3. KOMUNIKACE SE ZAŘÍZENÍM POLOLU MAESTRO 19 které často končí nespecifickou chybou při kompilaci a v některých případech dokonce nefunguje kód, který v Qt Creatoru jde bez problémů. Praktická integrace Symbian C++ a Qt v emulátoru se ukázala jako velmi komplikovaná záležitost, kdy jednoduchý a plně funkční Symbian C++ kód pro ovládání servomotoru použitý v Qt aplikaci způsoboval pád celého emulátoru s obecnou chybou "Kernel Panic". Tento problém nebylo možné vyřešit v rámci času, který je pro tento projekt vyhrazen, jelikož vzhledem k výše popsané složitosti jazyka Symbian C++ a provozu emulátoru vyžaduje pokročilé a praktické znalosti této problematiky. 5.3 Komunikace se zařízením Pololu Maestro Komunikační protokoly Zařízení Pololu Maestro dokáže komunikovat pomocí tří různých komunikačních protokolů a reagovat na zprávy různých protokolů bez předchozí konfigurace. Jednotlivé protokoly se liší v podporovaných příkazech a velikosti zpráv. Podporované komunikační protokoly jsou podrobně popsány v dokumentaci k produktu Pololu Maestro [18]. Mini SSC Protocol - nejjednodušší z trojice protokolů. Lze jej použít pouze pro posun servomotoru a využívá pouze tři byty - identifikace protokolu, cílový servomotor a cíl pohybu. Cíl pohybu je narozdíl od ostatních protokolů určen pouze jedním bytem, kde decimální hodnota 127 znamená neutrální pozici, hodnoty a potom pozice mezi neutrální pozicí na negativní či pozitivní mezí. Compact Protocol - podporuje všechny příkazy v jednodušší formě než pololu protokol, použití v případě jediného zařízení na sériové lince. Pololu Protocol - nejsložitější protokol nutný v případně použití více zařízení řetězově připojených na jednu linku. Umožňuje vybrat cílové zařízení podle identifikačního bytu. Příklad rozdílů mezí délkami příkazů pro různé protokolu - zápis příkazu pro posunutí servomotoru s číslem 0 do neutrální pozice v jednotlivých protokolech: Mini SSC Protocol - [0xFF, 0x00, 0x7F] Compact Protocol - [0x84, 0x00, 0x70, 0x2E] Pololu Protocol - [0xAA, 0x0C, 0x04, 0x70, 0x2E] V tomto projektu je počítáno s ovládáním jednoduchého modelu pomocí zařízení s omezenými systémovými prostředky a bez nutnosti využití více zařízení Pololu Maestro. Proto je vhodné využití těch protokolů, které přenesou požadovaný příkaz pomocí nejmenšího počtu bytů. Toho dosáhneme použitím kombinace Mini SSC protokolu pro nastavování cíle pohybu a Compact protokolu pro všechny ostatní příkazy. Formáty zpráv jsou vypsány v tabulce 5.1.
36 20 KAPITOLA 5. REALIZACE Příkaz Protokol Formát příkazu Set Target Mini SSC [0xFF, <servo>, <target>] Set Speed Compact [0x87, <servo>, <speed low bits>, <speed high bits>] Set Acceleration Compact [0x89, <servo>, <acc. low bits>, <acc. high bits>] Get Position Compact [0x90, <servo>] Get Moving State Compact [0x93] Get Errors Compact [0xA1] Go Home Compact [0xA2] Tabulka 5.1: Dostupné příkazy pro zařízení Pololu Maestro v nejjednodušším možném formátu Realizace v Symbian C++ a standardním C++ Knihovna Symbian C++ poskytuje knihovní třídy RCommServ a Rcomm pro obsluhu sériového portu, datové byty jsou uloženy v tzv. deskriptoru a odeslány pomocí metody write třídy Rcomm. Realizace pro spojení pomocí virtuálního portu na rozhraní USB se liší pouze v názvu CSY modulu a identifikace portu na prvních dvou řádcích. Ve standardním C++ je sériový přenos nejlépe realizován pomocí jednoduchého C kódu, pomocí kterého je sériový port otevřen jako vstupně-výstupní blokové zařízení, ke kterému je možné snadno přistupovat pomocí metod read a write [19]. _LIT(CSYMOD, "ECUART" ) ; // Symbian s e r i a l port d r i v e r name _LIT(PORTNAME, "COMM: : 3 " ) ; // f o u r t h com port name i n Symbian RCommServ s e r v e r ; RComm commport ; TRequestStatus s t a t u s ; s e r v e r. Connect ( ) ; // s t a r t s e r v e r s e r v e r. LoadCommModule(CSYMOD) ; // load d r i v e r commport. Open( s e r v e r, PORTNAME, ECommShared) ; // connect port to s e r v e r TInt s e r v o = 0 ; // s e r v o at p o s i t i o n 0 TInt t a r g e t = ; // n e u t r a l p o s i t i o n TBufC8<3> data ; // 8 b i t data d e s c r i p t o r used by Symbian C++ TPtr8 ptr = data. Des ( ) ; // p o i n t e r used as i t e r a t o r ptr. Append (0xFF) ; // i d e n t i f i c a t i o n f o r Mini SSC P r o t o c o l ptr. Append ( s e r v o ) ; // s e l e c t s e r v o ptr. Append ( t a r g e t ) ; // s e t t a r g e t commport. Write ( s t a t u s, data ) ; // w r i t e bytes to s e r i a l port Zdrojový kód 5.1.: Příklad implementace sériového přenosu v Symbian C++ s využitím Mini SSC protokolu
37 5.4. SÍŤOVÁ KOMUNIKACE Síťová komunikace Protokol TCP TCP komunikace je realizována pomocí zpráv zasílaných mezi serverem a klientem. Pro úspěšnou komunikaci pomocí protokolu TCP je nutné specifikovat formát zasílaných zpráv, kterému bude aplikace rozumět. S ohledem na omezené prostředky mobilních zařízení, a z toho plynoucí rychlost a spolehlivost komunikace, je nejvhodnější zprávy zasílat ve formátu číselného kódu. Zprávy zasílané po síti pomocí TCP protokolu tedy budou tvořeny pouze několika byty. Pro vzdálené ovládání servomotorů je třeba vycházet z výše uvedené specifikace protokolu sériové komunikace. Přesné definice TCP zpráv jsou uvedeny v tabulce 5.2. V tabulce je počet servomotorů omezen na 6 z důvodu použití jednoduchého hardwaru. Pro odlišení komunikace od serveru a klienta umožnění budoucího přehledného přidávání dalších příkazů začínají kódy zpráv od serveru pro klienta na čísle 100. Příkaz Kód Parametry Poznámky Set Target <servo> <target> 1 [0-5] [0-255] Set Speed <servo> <speed> 2 [0-5] [0-255] Set Acceleration <servo> <acceleration> 3 [0-5] [0-255] Get Position <servo> 4 [0-5] Odpovídá 101 Get Moving State <servo> 5 [0-5] Odpovídá 102 Get Errors 6 Odpovídá 103 Go Home 7 Position 101 [0-255] Odpověď na 4 Moving state 102 [0-1] Odpověď na 5 Errors 103 [0-255] Odpověď na 6 Tabulka 5.2: Možné druhy zpráv pro TCP komunikaci Protokol UDP Tento protokol je využíván k veškeré komunikaci, která nesouvisí s přímým ovládáním modelu. Konkrétní využití protokolu UDP v aplikaci představuje periodické zasílání informací o stavu a poloze servomotorů a mobilního telefonu. Po přijmutí žádosti o odesílání informací začne server zasílat UDP datagramy s příslušnými informacemi v periodách specifikovaných v žádosti a nestará se o stav doručení. Odesílání informací je potom možné podobně zastavit nebo upravit časový interval Realizace v Qt Qt v modulu QtNetwork nabízí třídy pro síťovou komunikaci pomocí protokolů TCP a UDP, které zajistí předpokládané chování protokolů. Realizace síťové komunikace tedy spočívá v nastavení přijímání zpráv a správných reakcí na příslušné zprávy pomocí signálů a slotů, zajištění komunikace s jádrem a vytvoření UDP serveru tak, aby při výpočetně náročném zasílání údajů neznemožňoval ovládání modelu.
38 22 KAPITOLA 5. REALIZACE 5.5 Serverová aplikace Implementace Serverová aplikace je rozdělena do příslušných komponent podle návrhu. Komponeny jsou implementovány ve formě tříd a využívány jádrem aplikace jako objekty. S vyjímkou sériové komunikace, je možné komponenty realizovat s využitím frameworku Qt s rozšířením Qt Mobility API. Pro sériovou komunikaci je nutné využít standardní C++, anebo v případě vývoje pro systém Symbian jazyk Symbian C Jádro Jádro slouží k vytvoření objektů komponent a zajištění vzájemné komunikace. Qt využívá neblokující systém signálů a slotů - objekty při událostech emitují signály, které je možně připojit k určitému slotu. Sloty je implementovány jako klasické metody, zachycení signálu se tak dá představit jako klasické volání metody. Volání slotů probíhá kdykoliv při zachycení signálu v hlavní programové smyčce a neblokuje běh programu [20]. Úkolem jádra je zachycovat tyto signály a zařídit komunikaci s dalšími objekty Rozhraní Rozhraní jsou implementována jako abstraktní třídy, které jsou děděny příslušnými komponentami. Kód těchto abstraktních tříd je psán pouze ve standardním C++. Rozhraní definují metody pro komunikaci mezi komponentami a jádrem aplikace a umožňují izolaci jednotlivých komponent. To je důležité u komponenty sériové komunikace, která musí být napsaná odlišně od zbytku aplikace, a její případné budoucí přepracování bude při implementaci stejného rozhraní možné bez modifikace ostatních komponent. Konkrétní implementace rozhraní je vidět v ukázce zdrojového kódu 5.2, která ukazuje, že komponenta ovládající sériovou komunikaci musí definovat metody dle protokolu specifikovaného v tabulce 5.1. Síťové rozhraní podobně definuje dvě metody pro přijímání a odesílání s využitím ukazatelů na znakové pole. c l a s s ServoCommunication { p u b l i c : ServoCommunication ( ) { } ; v i r t u a l ~ServoCommunication ( ) { } ; v i r t u a l bool s e t T a r g e t ( i n t servo, i n t t a r g e t ) = 0 ; // move s e r v o to s p e c i f i e d t a r g e t v i r t u a l bool setspeed ( i n t servo, i n t speed ) = 0 ; // s e t speed f o r s e r v o v i r t u a l bool s e t A c c e l e r a t i o n ( i n t servo, i n t a c c e l e r a t i o n ) = 0 ; // s e t a c c e l e r a t i o n v i r t u a l bool settargetallhome ( ) = 0 ; // move a l l s e r v o s to n e u t r a l p o s i t i o n v i r t u a l char g e t P o s i t i o n ( i n t s e r v o ) = 0 ; // r e t u r n s p o s i t i o n o f given s e r v o i n two bytes v i r t u a l char g e t E r r o r s ( ) = 0 ; // r e t u r n s e r r o r code from d e v i c e v i r t u a l char getmovingstate ( ) = 0 ; // r e t u r n s moving s t a t e } ; Zdrojový kód 5.2.: Abstraktní třída definující rozhraní pro sériovou komunikaci v serverové aplikaci
39 5.6. KLIENTSKÁ APLIKACE PRO SYSTÉM ANDROID Nasazení serverové aplikace na počítač formátu mini-itx Serverová aplikace byla nasazena na počítač PC Engines ALIX [11], konkrétně na model alix1d. Na toto zařízení byl nainstalován operační systém Ubuntu ve verzi LTS, který byl dále doplněn o knihovny Qt Na počítači bylo dále nastaveno připojení k Wi-Fi a zajištěno automatické připojení po spuštění. Serverová aplikace byla po instalaci přidána do zaváděcích skriptů a k jejímu spuštění dochází automaticky. Serverová aplikace nemá grafické rozhraní, proto byl na počítači z důvodu šetření výkonu zakázán X server a systém se spouští pouze v konzolovém režimu. 5.6 Klientská aplikace pro systém Android Popis klientské aplikace Klientská aplikace, která tvoří ovladač modelu je realizována jako aplikace pro smartphone s operačním systémem Android [21]. Klient se serverem komunikuje zasíláním definovaných zpráv pomocí standardizovaných protokolů TCP a UDP. Použití jiné platformy pro realizaci klientské aplikace tedy nemá vliv na funkci serveru. Platforma Android byla pro realizaci zvolena z důvodu jejího stále rostoucího podílu na trhu s mobilními telefony a možnosti vyvíjet a testovat běh aplikace na reálném zařízení. Ovládání modelu je řešeno pomocí tlačítek, která představují pohyb doleva a doprava, anebo s využitím pohybového senzoru telefonu, který je podrobněji popsán v sekci Hlavní okno klientské aplikace obsahuje tlačítka pro pohyb servomotorů, pro každý ovládaný servomotor jsou zobrazena tlačíka pro posun doleva a doprava z neutrální pozice. V menu aplikace je možné specifikovat IP adresu serveru, měnit počet ovládaných servomotorů a zapnout zobrazování provozních informací z modelu Specifické vlastnosti systému Android Android je označení pro operační systém Linux, který je modifikovaný pro použití v mobilním telefonu. Aplikace pro Android jsou spolu s jejich daty zkompilovány do jednoho instalačního.apk balíčku. Spuštěné aplikace běží ve virtuálním stroji, izolované od statních aplikací. Zdrojový kód Android aplikací je psaný v jazyku Java. Všechny nástroje potřebné pro vývoj jsou k dispozici v balíčku Android SDK [22]. Vývojové prostředí pro Android tvoří plugin Android Development Tools do programu Eclipse, který zároveň slouží k ovládání celého balíčku Android SDK. Komplexní informace o struktuře Android aplikací, které jsou potřebné k vývoji, jsou k dispozici na stránkách Android Developers [23]. Aplikace pro systém Android jsou tvořeny pomocí komponent Activities, Services, Content Providers a Broadcast Providers. Klientská aplikace představuje ovladač, který bude reagovat na uživatelské vstupy. Je tedy nutné jej realizovat jako Activity. Ostatní komponenty nejsou potřebné pro realizaci jednoduchého ovladače ve formě klientské aplikace. Activities - Activity je aplikace, která je tvořena jednou obrazovkou s jedním uživatelským rozhraním.
40 24 KAPITOLA 5. REALIZACE Services - služby bez uživatelského rozhraní, které běží v pozadí a mohou být využívány konkrétními Activity. Content Providers - správce aplikačních dat, řídí přístup k datům v souborovém systému. Broadcast Providers - komponenta, která zajišťuje komunikaci se systémem a ostatními aplikacemi. Tato komunikace je zajištěna zasíláním a přijímáním systémových zpráv Využití pohybového senzoru Systém používání pohybového senzoru v systému Android pracuje se třemi osami relativními k Zemi, které jsou znázorněny na obrázku 5.1 z dokumentace třídy SensorManager v balíčku android.hardware [24]. Hodnota Azimuth představuje rotaci kolem osy z, pitch rotaci kolem osy x a roll potom rotaci kolem osy y. Přístup k informacím z pohybového senzoru je realizován s využitím tříd Sensor (reprezentace jednoho senzoru), SensorManager (přístup k senzorům) a SensorEventListener (reakce na změny hodnot senzorů) z balíčku android.hardware. Použití těchto tříd umožní klientské aplikaci sledat pohyb a natočení zařizení a reagovat na ně odesláním příslušných zpráv pro server. V ovládací aplikaci je využito akcelerometru. Využívané hodnoty tohoto senzoru jsou pitch a roll. Aplikace je realizována pro ovládání s displejem svisle k zemi, kdy jsou obě tyto hodnoty nulové. Rozhodnutí pro realizaci pro tuto pozici zařízení vychází z předpokladu, že uživatel bude při ovládání modelu držet ovladač před sebou tak, aby snadno viděl na ovládaný model. Hodnoty pitch a roll se mění v závislosti na natočení v intervalu od -10 do 10. Serová aplikace pro komunikaci s hardwarovou jednotkou pro ovládání servomotorů, která je popsaná v kapitole 5.3.1, využívá rozsah 0 až 255. Hodnoty získané ze senzoru jsou na tento rozsah přepočítány a dále používány v tomto formátu jednotném pro zbytek klientské části a serverové aplikace. Obrázek 5.1: Rotační osy relativní k Zemi [24]
41 5.6. KLIENTSKÁ APLIKACE PRO SYSTÉM ANDROID Grafické rozhraní Grafické uživatelské rozhraní je v systému Android definováno v jednom nebo více XML souborech. Jednotlivé elementy grafického rozhraní jsou definovány v XML značkách. K těmto elemetům je v kódu možné přistupovat pomocí definovaného identifikátoru, a měnit tak jejich parametry. Ovládací aplikace využívá jednoho definovaného grafického rozhraní, které se mění v závislosti na zvoleném typu ovládání - pomocí tlačítek nebo senzoru. Mezi způsoby ovládání je možné přepínat pomocí tlačítka v menu. K ovládání pomocí tlačítek je nutné upozornit na nemožnost současného pohybu v osách x a y na zařízení bez podpory funkce Multitouch, která umožní registrovat více dotyků obrazovky ve stejném čase. Grafické rozhraní pro ovládání tlačítky je vidět na obrázku 5.2. Šipky uprostřed plní funkci tlačítek pro pohyb v osách x a y. Tlačítka + a - ovládají rychlost pohybového motoru v modelu. Levý panel zobrazuje informace o stavu a je v něm možné definovat, ke kterým portům hardwarové jednotky pro ovládání servomotorů jsou aktivní servomotory fyzicky připojeny. Hodnoty posunu v informačním panelu jsou zobrazeny ve formátu 0 až 255, kde hodnota 127 znamená neutrální pozici. V levém horním rohu je možnost přepínání mezi režimem Free, kdy je pohyb plně ovládán uživatelem a režimem Return, ve kterém se servomotory po uvolnění tlačítka vrací do neutrální pozice. Na obrázku 5.3 je vidět ovládání pomocí pohybového senzoru. Jediná změna oproti výše popsanému ovládání tlačítky je funkce šipek ve středu obrazovky. Nefungují již jako tlačítka, ale jako indikátory naklonění zařízení. Při naklonění zařízení se rozsvítí šipky směrů na které byl telefon nakloněn a v těchto šipkách se zobrazí hodnota úhlu naklonění. Vzhledem k tomu, že zařízení není možné udržet v přesně neutrální pozici, je kolem neutrálních hodnot pro obě osy malá tolerance. Přepínač režimů má při ovládání pomocí senzoru funkci vypnout/zapnout. Obrázek 5.2: Ovládání klientské aplikace pomocí tlačítek Komunikace se serverovou aplikací Zdrojový kód aplikací pro systém Android je psán v jazyce Java. Programování síťové komunikace pro Android se tedy neliší od aplikací pro použití na počítači. Potřebné třídy Socket
42 26 KAPITOLA 5. REALIZACE Obrázek 5.3: Ovládání klientské aplikace pomocí pohybového senzoru. Zařízení bylo v momentě zachycení tohoto obrázku nakloněno doprava a nahoru. pro protokol TCP a DatagramSocket pro protokol UDP jsou dostupné v balíčku java.net. Datové toky potřebné pro protokol TCP jsou dosupné v balíčku java.io. Dokumentace k třídám a balíčkum je dostupná na internetových stránkách Android Developer [25]. TCP spojení je vytvořeno pomocí socketu. K socketu je možné přistupovat pomocí datových toků - je možné zapisovat pomocí OutputStream a číst pomocí InputStream. UDP spojení je realizováno pomocí bezespojového datagramového socketu, který je možné přímo ovládat přes metody send a receive Nasazení na reálném zařízení Ovládací aplikace byla nasazena a testována na mobilním telefonu Vodafone 845 [26] s operačním systémem Android ve verzi 2.1. Tento mobilní telefon je v době tvorby této práce nejlevnějším z dostupných mobilních telefonů se systémem Android použitelných pro tuto aplikaci. Ovládací prvky grafického uživatelského rozhraní bylo možné přesně použít i na relativně malém displeji s rozlišením 240x320 pixelů bez podpory funkce multitouch. Není tedy možné plně využít ovládání pomocí tlačítek. Ovládání na tomto zařízení pomocí pohybového senzoru a spojení se serverovou aplikací pracují bez problémů. Vyvinutý systém tedy nemá vysoké nároky na zařízení a je možné jej použít i na takto levném mobilním telefonu.
43 Kapitola 6 Testování 6.1 Testování kódu Jednotkové testy Jednotkové testování ověřuje funkci jednotlivých metod izolovaných od zbytku programu. Pomocí jednotkového testování je v programu ověřena funkce netriviálních metod mimo GUI. V serverové aplikaci je jednotkové testování realizováno pomocí frameworku QTestLib [27]. Serverová aplikace neobsahuje GUI, proto je možné tento přístup k testování využít k otestování většiny metod. V klientské aplikaci je pomocí jednotkových testů ověřena funkce všech metod mimo GUI. Pro testování je použitý framework junit [28] Testy komponent Vzhledem k relativně malé velikosti jsou komponenty realizovány ve formě tříd. Testování komponent je podobné jednotkovému testování, jednotky však místo metod tvoří třídy. Smyslem testování komponent je ověření předpokládaného přístupu k objektu vytvořeného z příslušné třídy. Testování komponent je nutné k ověření správné komunikace mezi objekty. 6.2 Testování komunikace Komunikace s HW Při testování komunikace s hardwarem je ověřena správná reakce servomotorů připojených k jednotce Pololu Maestro na příkazy zasílané ze serverové aplikace. Testování bylo realizováno vytvořením pomocného programu s třídou ServoControl ze serverové aplikace, který zasílá sekvence příkazů které jsou v této třídě implementovány. Při běhu tohoto testovacího programu byla ověrěna fyzická reakce servomotorů na tyto příkazy. 27
Ovládání RC modelu pomocí Wi-Fi. Pavel Valenta
České vysoké učení technické v Praze Fakulta elektrotechnická Katedra počítačů Bakalářská práce Ovládání RC modelu pomocí Wi-Fi Pavel Valenta Vedoucí práce: Ing. Martin Komárek Studijní program: Softwarové
VíceOvládání RC modelu pomocí Wi-fi. Pavel Valenta
Zadání Cílem práce je návrh a implementace bezdrátového ovládání RC modelu s využitím technologie Wi-Fi. Přímé ovládání modelu bude realizováno pomocí servo motorů, řízených prostřednictvím mini-itx počítače/smartphonu
VíceOvládání RC modelu pomocí Wi-fi. Pavel Valenta
České vysoké učení technické v Praze Fakulta elektrotechnická Katedra počítačů Bakalářská práce Ovládání RC modelu pomocí Wi-fi Pavel Valenta Vedoucí práce: Ing. Martin Komárek Studijní program: Softwarové
VíceOvládání RC modelu pomocí Wi-fi. Pavel Valenta
České vysoké učení technické v Praze Fakulta elektrotechnická Katedra počítačů Bakalářská práce Ovládání RC modelu pomocí Wi-fi Pavel Valenta Vedoucí práce: Ing. Martin Komárek Studijní program: Softwarové
VíceSB485. Převodník rozhraní USB na linku RS485 nebo RS422. s galvanickým oddělením. Převodník SB485. RS485 nebo RS422 USB. přepínače PWR TXD RXD
Převodník rozhraní USB na linku RS485 nebo RS422 s galvanickým oddělením Převodník SB485 PWR USB K1 TXD RXD K2 RS485 nebo RS422 přepínače POPIS Modul SB485 je určen pro převod rozhraní USB na linku RS485
VíceObsah. O autorovi 11 Předmluva 13 Zpětná vazba od čtenářů 14 Errata 14
Obsah O autorovi 11 Předmluva 13 Zpětná vazba od čtenářů 14 Errata 14 KAPITOLA 1 Úvod k počítači Raspberry Pi 15 Hardware 16 Mikroprocesor Broadcom 2835 / grafický procesor 16 Paměť 18 Konektory počítače
VíceSEMESTRÁLNÍ PROJEKT Y38PRO
SEMESTRÁLNÍ PROJEKT Y38PRO Závěrečná zpráva Jiří Pomije Cíl projektu Propojení regulátoru s PC a vytvoření knihovny funkcí pro práci s regulátorem TLK43. Regulátor TLK43 je mikroprocesorový regulátor s
VíceSeznámení s Quidy. vstupní a výstupní moduly řízené z PC. 2. srpna 2007 w w w. p a p o u c h. c o m
vstupní a výstupní moduly řízené z PC 2. srpna 2007 w w w. p a p o u c h. c o m Seznámení s Quidy Katalogový list Vytvořen: 1.8.2007 Poslední aktualizace: 2.8 2007 12:16 Počet stran: 16 2007 Adresa: Strašnická
VícePočítačové sítě. Lekce 4: Síťová architektura TCP/IP
Počítačové sítě Lekce 4: Síťová architektura TCP/IP Co je TCP/IP? V úzkém slova smyslu je to sada protokolů používaných v počítačích sítích s počítači na bázi Unixu: TCP = Transmission Control Protocol
VícePředstavíme základy bezdrátových sítí. Popíšeme jednotlivé typy sítí a zabezpečení.
10. Bezdrátové sítě Studijní cíl Představíme základy bezdrátových sítí. Popíšeme jednotlivé typy sítí a zabezpečení. Doba nutná k nastudování 1,5 hodiny Bezdrátové komunikační technologie Uvedená kapitola
VíceEXTRAKT z české technické normy
EXTRAKT z české technické normy Extrakt nenahrazuje samotnou technickou normu, je pouze informativním 35.240.60 materiálem o normě. Komunikační infrastruktura pro pozemní mobilní zařízení (CALM) Architektura
VíceSIMATIC S IT. Micro Automation. Promoters Meeting October Představení CP IT SPIDER CONTROL TELESERVIS. TESTOVACÍ server.
SIMATIC S7-200 243-1 2005, Page 1 Program workshopu Začátek: 9.00 GPRS - aplikace pro GPRS, základy - jak nastavit vzdálenou stanici, knihovna instrukcí pro GPRS - jak nastavit server (SINAUT MICRO SC,
VíceMATLABLINK - VZDÁLENÉ OVLÁDÁNÍ A MONITOROVÁNÍ TECHNOLOGICKÝCH PROCESŮ
MATLABLINK - VZDÁLENÉ OVLÁDÁNÍ A MONITOROVÁNÍ TECHNOLOGICKÝCH PROCESŮ M. Sysel, I. Pomykacz Univerzita Tomáše Bati ve Zlíně, Fakulta aplikované informatiky Nad Stráněmi 4511, 760 05 Zlín, Česká republika
VíceIPZ laboratoře. Analýza komunikace na sběrnici USB L305. Cvičící: Straka Martin, Šimek Václav, Kaštil Jan. Cvičení 2
IPZ laboratoře Analýza komunikace na sběrnici USB L305 Cvičení 2 2008 Cvičící: Straka Martin, Šimek Václav, Kaštil Jan Obsah cvičení Fyzická struktura sběrnice USB Rozhraní, konektory, topologie, základní
VíceB Series Waterproof Model. IP Kamera. Uživatelský manuál
B Series Waterproof Model IP Kamera Uživatelský manuál Obsah 1 ÚVODEM... 3 2 VZHLED A ROZHRANÍ... 3 3 PŘIPOJENÍ KE KAMEŘE Z VAŠÍ LAN SÍTĚ... 4 4 PŘIPOJENÍ KAMERY PŘES WAN ROZHRANÍ... 8 5 DALŠÍ NASTAVENÍ...
VíceVyužití systému Dynamips a jeho nástaveb pro experimenty se síťovými technologiemi Petr Grygárek
Využití systému Dynamips a jeho nástaveb pro experimenty se síťovými technologiemi Petr Grygárek katedra informatiky fakulta elektrotechniky a informatiky VŠB-Technická univerzita Ostrava Agenda Motivace
VíceAktivní prvky: síťové karty
Aktivní prvky: síťové karty 1 Předmět: Téma hodiny: Třída: Počítačové sítě a systémy Aktivní prvky Síťové karty (Network Interface Card) 3. a 4. ročník SŠ technické Autor: Ing. Fales Alexandr Software:
Více2015 GEOVAP, spol. s r. o. Všechna práva vyhrazena.
2015 GEOVAP, spol. s r. o. Všechna práva vyhrazena. GEOVAP, spol. s r. o. Čechovo nábřeží 1790 530 03 Pardubice Česká republika +420 466 024 618 http://www.geovap.cz V dokumentu použité názvy programových
VíceKomunikační protokoly počítačů a počítačových sítí
Komunikační protokoly počítačů a počítačových sítí Autor: Ing. Jan Nožička SOŠ a SOU Česká Lípa VY_32_INOVACE_1138_Komunikační protokoly počítačů a počítačových sítí_pwp Název školy: Číslo a název projektu:
VíceZAŘÍZENÍ PRO VZDÁLENÝ SBĚR A PŘENOS DAT FIRMWARE
2011 Technická univerzita v Liberci Ing. Přemysl Svoboda ZAŘÍZENÍ PRO VZDÁLENÝ SBĚR A PŘENOS DAT FIRMWARE V Liberci dne 16. 12. 2011 Obsah Obsah... 1 Úvod... 2 Funkce zařízení... 3 Režim sběru dat s jejich
VíceZákladní uvedení do provozu frekvenčního měniče SD6/SI6 od firmy Stöber
Základní uvedení do provozu frekvenčního měniče SD6/SI6 od firmy Stöber 2 Základní uvedení do provozu frekvenčního měniče SD6/SI6 od firmy Stöber s ovládáním přes I/O Abstrakt Tento aplikační postup popisuje
VíceSTÍNÍCÍ TECHNIKA BUDOUCNOSTI
DOMÁCÍ AUTOMATIZACE STÍNÍCÍ TECHNIKA BUDOUCNOSTI DANIEL MATĚJKA PŘEDSTAVENÍ SPOLEČNOSTI LG SYSTEM (DIVIZE DOMÁCÍ AUTOMATIZACE) DOMÁCÍ AUTOMATIZACE Zpracování elektoprojektů, domovní fotovoltaické systémy,
Více2015 GEOVAP, spol. s r. o. Všechna práva vyhrazena.
2015 GEOVAP, spol. s r. o. Všechna práva vyhrazena. GEOVAP, spol. s r. o. Čechovo nábřeží 1790 530 03 Pardubice Česká republika +420 466 024 618 http://www.geovap.cz V dokumentu použité názvy programových
VíceInformační a komunikační technologie. 3. Počítačové sítě
Informační a komunikační technologie 3. Počítačové sítě Studijní obor: Sociální činnost Ročník: 1 1. Základní vlastnosti 2. Technické prostředky 3. Síťová architektura 3.1. Peer-to-peer 3.2. Klient-server
VíceMST - sběr dat pomocí mobilních terminálů on-line/off-line
MST - sběr dat pomocí mobilních terminálů on-line/off-line Stručný přehled název: MST, software pro sběr dat mobilními terminály ve skladu (příjem, výdej, inventura) autor aplikace: FASK, spol. s r.o.,
VíceMěření teploty, tlaku a vlhkosti vzduchu s přenosem dat přes internet a zobrazování na WEB stránce
ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE Fakulta elektrotechnická Katedra mikroelektroniky Měření teploty, tlaku a vlhkosti vzduchu s přenosem dat přes internet a zobrazování na WEB stránce Zadání Stávající
VíceSIMATIC S7-200 - GPRS. Micro Automation. Promoters Meeting October 2005. Aplikace pro GPRS. Vzdálená stanice. Server SINAUT MICRO SC.
SIMATIC S7-200 - GPRS 2005, Page 1 WORKSHOP S7-200 Program workshopu Začátek: 9.00 GPRS - aplikace pro GPRS, základy - jak nastavit vzdálenou stanici, knihovna instrukcí pro GPRS - jak nastavit server
VíceSměrovací protokol Mesh (802.11s) na platformě Mikrotik
Směrovací protokol Mesh (802.11s) na platformě Mikrotik J. Bartošek, P. Havíček Abstrakt: V této práci je popsán princip fungování směrovacího protokolu mesh na platformě mikrotik. Na této platformě ovšem
VícePŘÍSTUP. Docházkový terminál itouch. Produktový list : DT - itouch
Docházkový terminál itouch Vlastní hardware terminálu obsahuje čtyř jádrový procesor a 1GB RAM a má tedy velkou výkonovou rezervu pro pozdější aktualizace softwaru a integrace nových funkcí. Pro ukládání
VíceEXTRAKT z české technické normy
EXTRAKT z české technické normy Extrakt nenahrazuje samotnou technickou normu, je pouze informativním ICS 35.240.60 materiálem o normě. Dopravní telematika Vyhrazené spojení krátkého rozsahu (DSRC) Datová
VíceObsah. Kapitola 1. Předmluva 11 O této knize 13 Konvence...13
Obsah Předmluva 11 O této knize 13 Konvence........................................................13 Inovace prostřednictvím otevřenosti 15 Ekosystém Symbianu.............................................16
VíceInovace výuky prostřednictvím ICT v SPŠ Zlín, CZ.1.07/1.5.00/ Vzdělávání v informačních a komunikačních technologií
VY_32_INOVACE_31_20 Škola Název projektu, reg. č. Vzdělávací oblast Vzdělávací obor Tematický okruh Téma Tematická oblast Název Autor Vytvořeno, pro obor, ročník Anotace Přínos/cílové kompetence Střední
VíceRychlý referenční průvodce
Rychlý referenční průvodce VT55 & OBDII 1-888-621-TPMS 1-888-621-8767 Sekce A Všeobecný popis Sekce B Spuštění Senzoru / Popis Výsledků Sekce C Použití OBDII Funkce / Update Proces Sekce D Instalace USB
VíceFVZ K13138-TACR-V004-G-TRIGGER_BOX
TriggerBox Souhrn hlavních funkcí Synchronizace přes Ethernetový protokol IEEE 1588 v2 PTP Automatické určení možnosti, zda SyncCore zastává roli PTP master nebo PTP slave dle mechanizmů standardu PTP
VíceEXTRAKT z mezinárodní normy
EXTRAKT z mezinárodní normy Extrakt nenahrazuje samotnou technickou normu, je pouze informativním materiálem o normě ICS: 03.220.01; 35.240.60 Komunikační infrastruktura pro pozemní mobilní zařízení (CALM)
VícePřevodník PRE 10/20/30
Převodník PRE 10/20/30 PRE10/20/30 slouží pro připojení zařízení Elektrobock (centrální jednotka PocketHome, termostatu PT41 aj.) do sítě Ethernet. Připojené zařízení je tak možno ovládat z libovolného
VíceBezdrátový přenos signálu v reálné aplikaci na letadle.
Bezdrátový přenos signálu v reálné aplikaci na letadle. Jakub Nečásek TECHNICKÁ UNIVERZITA V LIBERCI Fakulta mechatroniky, informatiky a mezioborových studií Tento materiál vznikl v rámci projektu ESF
VíceJUMO LOGOSCREEN 600. Dotyková budoucnost záznamu: Obrazovkový zapisovač
JUMO LOGOSCREEN 600 Dotyková budoucnost záznamu: Obrazovkový zapisovač Nová generace Obrazovkový zapisovač JUMO LOGOSCREEN 600 je nový úvodní model řady LOGOSCREEN, který je určen pro skutečný provoz na
VíceAnalýza aplikačních protokolů
ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE Fakulta elektrotechnická PROJEKT Č. 4 Analýza aplikačních protokolů Vypracoval: V rámci předmětu: Jan HLÍDEK Komunikace v datových sítích (X32KDS) Měřeno: 28. 4. 2008
VíceInformační a komunikační technologie. 1.7 Počítačové sítě
Informační a komunikační technologie 1.7 Počítačové sítě Učební obor: Kadeřník, Kuchař - číšník Ročník: 1 1. Základní vlastnosti 2. Technické prostředky 3. Síťová architektura 1. Peer-to-peer 2. Klient-server
VíceBezdrátové sítě Wi-Fi Původním cíl: Dnes
Bezdrátové sítě Nejrozšířenější je Wi-Fi (nebo také Wi-fi, WiFi, Wifi, wifi) Standard pro lokální bezdrátové sítě (Wireless LAN, WLAN) a vychází ze specifikace IEEE 802.11. Původním cíl: Zajišťovat vzájemné
VíceTÉMATICKÝ OKRUH Softwarové inženýrství
TÉMATICKÝ OKRUH Softwarové inženýrství Číslo otázky : 24. Otázka : Implementační fáze. Postupy při specifikaci organizace softwarových komponent pomocí UML. Mapování modelů na struktury programovacího
VíceOVLÁDACÍ A MONITOROVACÍ SYSTÉM ID 6.2 typ 94 210
OVLÁDACÍ A MONITOROVACÍ SYSTÉM ID 6.2 typ 94 210 Vizualizace systému ID 6.2 Typ 94 210 Použití Komplexní ovládací a monitorovací systém ID-6.2 je určen pro ovládání a monitorování: světelných signalizačních
VíceSpecifikace požadavků. POHODA Web Interface. Verze 1.0. Datum: Autor: Ondřej Šrámek
Specifikace požadavků POHODA Web Interface Verze 1.0 Datum: 29.12. 2008 Autor: Ondřej Šrámek Copyright 1999 by Karl E. Wiegers. Permission is granted to use, modify, and distribute this document. Strana
VíceJAK ČÍST TUTO PREZENTACI
PŘENOSOVÉ METODY V IP SÍTÍCH, S DŮRAZEM NA BEZPEČNOSTNÍ TECHNOLOGIE David Prachař, ABBAS a.s. JAK ČÍST TUTO PREZENTACI UŽIVATEL TECHNIK SPECIALISTA VÝZNAM POUŽÍVANÝCH TERMÍNŮ TERMÍN SWITCH ROUTER OSI
Vícemonolitická vrstvená virtuální počítač / stroj modulární struktura Klient server struktura
IBM PC 5150 MS DOS 1981 (7 verzí) DR DOS, APPLE DOS, PC DOS 1. 3. Windows grafická nástavba na DOS Windows 95 1. operační systém jako takový, Windows XP 2001, podporovány do 2014, x86 a Windows 2000 Professional
VíceIdentifikátor materiálu: ICT-3-03
Identifikátor materiálu: ICT-3-03 Předmět Téma sady Informační a komunikační technologie Téma materiálu TCP/IP Autor Ing. Bohuslav Nepovím Anotace Student si procvičí / osvojí architekturu TCP/IP. Druh
VíceIntraVUE 2.0.3 Co je nového
IntraVUE 2.0.3 Co je nového Michal Tauchman Pantek (CS) s.r.o. Červen 2008 Strana 2/8 Úvod IntraVUE je diagnostický a podpůrný softwarový nástroj pro řešení komunikačních problémů, vizualizaci a dokumentaci
VíceSystémy pro sběr a přenos dat
Systémy pro sběr a přenos dat propojování distribuovaných systémů modely Klient/Server, Producent/Konzument koncept VFD (Virtual Field Device) Propojování distribuovaných systémů Používá se pojem internetworking
VíceAdaptabilní systém pro zvýšení rychlosti a spolehlivosti přenosu dat v přenosové síti
1 Adaptabilní systém pro zvýšení rychlosti a spolehlivosti přenosu dat v přenosové síti Oblast techniky V oblasti datových sítí existuje různorodost v použitých přenosových technologiích. Přenosové systémy
VícePomocí jednotky ZYX-OSD je možno přenášet v reálném čase během letu na pozemní stanici různé údaje, které jsou pro řízení dronu velmi užitečené.
ZYX-OSD Základní vlastnosti Pomocí jednotky ZYX-OSD je možno přenášet v reálném čase během letu na pozemní stanici různé údaje, které jsou pro řízení dronu velmi užitečené. Data je možno zaznamenávat na
VíceVYUŽITÍ KNIHOVNY SWING PROGRAMOVACÍHO JAZYKU JAVA PŘI TVORBĚ UŽIVATELSKÉHO ROZHRANÍ SYSTÉMU "HOST PC - TARGET PC" PRO ŘÍZENÍ POLOVODIČOVÝCH MĚNIČŮ
VYUŽITÍ KNIHOVNY SWING PROGRAMOVACÍHO JAZYKU JAVA PŘI TVORBĚ UŽIVATELSKÉHO ROZHRANÍ SYSTÉMU "HOST PC - TARGET PC" PRO ŘÍZENÍ POLOVODIČOVÝCH MĚNIČŮ Stanislav Flígl Katedra elektrických pohonů a trakce (K13114),
VíceZáznam dat Úvod Záznam dat zahrnuje tři základní funkce: Záznam dat v prostředí třídy Záznam dat s MINDSTORMS NXT
Úvod Záznam dat umožňuje sběr, ukládání a analýzu údajů ze senzorů. Záznamem dat monitorujeme události a procesy po dobu práce se senzory připojenými k počítači prostřednictvím zařízení jakým je NXT kostka.
VíceMI Video rozhraní pro vozidla Renault. Přepínání mezi jednotlivými vstupy a ovládání přehrávání
MI-1250 Video rozhraní pro vozidla Renault Tento adaptér (rozhraní) umožňuje zobrazit RGB signál o vysokém rozlišení, AV signál z externího zdroje (například DVD přehrávače) a video signál z kamery při
VíceKomunikace s automaty MICROPEL. správa systému lokální a vzdálený přístup do systému vizualizace, umístění souborů vizualizace
Komunikace s automaty MICROPEL správa systému lokální a vzdálený přístup do systému vizualizace, umístění souborů vizualizace MICROPEL 02/2014 Základní správu automatu tvoří činnosti: Nastavení základních
VíceÚvod Virtuální kanál TCP Datagramová služba UDP URL TCP, UDP, URL. Fakulta elektrotechnická
TCP, UDP, Katedra počítačů Fakulta elektrotechnická 10. května 2007 Přehled 1 2 TCP a sokety obecně TCP klient TCP server 3 UDP klient UDP server 4 Sít ová spojení nad sít ovou vrstvou (typicky protokol
VíceLAN/RS485. Převodník BMR Ethernet LAN/RS485
LAN/RS485 Převodník BMR Ethernet LAN/RS485 Obsah 1. Charakteristika, popis funkce... 2 2. Instalace převodníků... 2 3. Podmínky připojení... 2 4. Výchozí konfigurace převodníku... 3 5. Možnosti konfigurace...
VíceIntegrované řešení přípojných počítačů MOXA pro IoT
www.elvac.eu Integrované řešení přípojných počítačů MOXA pro IoT Michal Kahánek Integrované řešení přípojných počítačů MOXA pro IoT Program Co je to Cloud? Definice Tvorba cloudových aplikací Moxa ThingsPro
VíceTC-502L. Tenký klient
TC-502L Tenký klient Popis přístroje Tenký klient s kompletní podporou pro připojení do systémů Windows 7, Vista, Windows 2008, Windows 2003, Windows XP Pro, Linux servery. Disponuje 1x rozhraním LAN 10/100,
VíceCisco Networking Accademy. 7. Bezdrátové sítě (Wireless Networks)
Cisco Networking Accademy 7. Bezdrátové sítě (Wireless Networks) Elektromagnetické spektrum vlnová délka a frekvence vhodnost pro různé technologie licenční vs. bezlicenční použití zdravotní omezení IRF
Více2015 GEOVAP, spol. s r. o. Všechna práva vyhrazena.
2015 GEOVAP, spol. s r. o. Všechna práva vyhrazena. GEOVAP, spol. s r. o. Čechovo nábřeží 1790 530 03 Pardubice Česká republika +420 466 024 618 http://www.geovap.cz V dokumentu použité názvy programových
VíceTC-502L TC-60xL. Tenký klient
TC-502L TC-60xL Tenký klient Popis přístroje Tenký klient TC-502L s kompletní podporou pro připojení do systémů Windows 7, Vista, Windows 2008, Windows 2003, Windows XP Pro, Linux servery. TC-604 navíc
VíceNOVÁ ŘÍDICÍ JEDNOTKA PRO xcomfort RF SMART MANAGER. 2012 Eaton Corporation. All rights reserved.
NOVÁ ŘÍDICÍ JEDNOTKA PRO xcomfort RF SMART MANAGER xcomfort možnosti použití ovládání chytrým telefonem nebo z tabletu Osvětlení Eaton Vzdálené ovládání a dohled Žaluzie & rolety RF xcomfort Bezpečnostní
VíceVypracoval: Ing. Antonín POPELKA. Datum: 30. června 2005. Revize 01
Popis systému Revize 01 Založeno 1990 Vypracoval: Ing. Antonín POPELKA Datum: 30. června 2005 SYSTÉM FÁZOROVÝCH MĚŘENÍ FOTEL Systém FOTEL byl vyvinut pro zjišťování fázových poměrů mezi libovolnými body
VíceTémata profilové maturitní zkoušky
Obor: 18-20-M/01 Informační technologie Předmět: Databázové systémy Forma: praktická 1. Datový model. 2. Dotazovací jazyk SQL. 3. Aplikační logika v PL/SQL. 4. Webová aplikace. Obor vzdělání: 18-20-M/01
VícePočítačové sítě Systém pro přenos souborů protokol FTP
Počítačové sítě Systém pro přenos souborů protokol FTP Autorizovaný přístup do souborového systému hostitelského uzlu Informace o obsahu souborového systému hostitelského uzlu Obousměrný přenos kopií souborů
VíceISMS. Síťová bezpečnost. V Brně dne 7. a 14. listopadu 2013
ISMS Případová studie Síťová bezpečnost V Brně dne 7. a 14. listopadu 2013 Zadání - infrastruktura Modelová firma je výrobní firma, která síťové zabezpečení doposud nijak zásadně neřešila, a do jisté míry
Víceinstalace, implementace a integrace se systémem spisové služby (SSL)
PŘÍLOHA Č. 1 ZADÁVACÍ DOKUMENTACE TECHNICKÁ SPECIFIKACE ZÁKAZNÍKA 1 Komplexní dodávka interaktivních úředních desek (IUD), včetně instalace, implementace a integrace se systémem spisové služby (SSL) 1.1
VíceSystémy pro sběr a přenos dat
Systémy pro sběr a přenos dat Centralizované SPD VME, VXI Compact PCI, PXI, PXI Express Sběrnice VME 16/32/64 bitová paralelní sběrnice pro průmyslové aplikace Počátky v roce 1981 neustále se vyvíjí původní
VíceSimluátor Trilobota. (projekt do předmětu ROB)
Simluátor Trilobota (projekt do předmětu ROB) Kamil Dudka Jakub Filák xdudka00 xfilak01 BRNO 2008 1 Úvod Jako školní týmový projekt jsme si zvolili simulátor trilobota 1 a jeho prostředí. Simulátor komunikuje
VíceSoftware pro vzdálenou laboratoř
Software pro vzdálenou laboratoř Autor: Vladimír Hamada, Petr Sadovský Typ: Software Rok: 2012 Samostatnou část vzdálených laboratoří tvoří programové vybavené, které je oživuje HW část vzdáleného experimentu
VícePřednáška 3. Opakovače,směrovače, mosty a síťové brány
Přednáška 3 Opakovače,směrovače, mosty a síťové brány Server a Client Server je obecné označení pro proces nebo systém, který poskytuje nějakou službu. Služba je obvykle realizována některým aplikačním
VíceSoftwarové komponenty a Internet
Softwarové komponenty a Internet Doc. Dr. Ing. Miroslav Beneš Katedra informatiky FEI VŠB-TU Ostrava Miroslav.Benes@vsb.cz Obsah přednášky Motivace Vývoj přístupů k tvorbě programů Definice komponenty
VíceDesigo Control Point řešení pro ovládání a monitorování budov siemens.cz/desigo
Jedna budova. Různí uživatelé. Desigo Control Point řešení pro ovládání a monitorování budov siemens.cz/desigo Desigo Control Point navržen pro zjednodušení správy technologií budov Budovy nejsou jen pouhé
VíceTECHNICKÁ SPECIFIKACE VEŘEJNÉ ZAKÁZKY
Příloha č. 3 k č.j. MV-159754-3/VZ-2013 Počet listů: 7 TECHNICKÁ SPECIFIKACE VEŘEJNÉ ZAKÁZKY Nové funkcionality Czech POINT 2012 Popis rozhraní egon Service Bus Centrální Místo Služeb 2.0 (dále jen CMS
VíceValue - Powerline ethernet adaptér, 85Mbps Katalogové číslo: 21.99.1406
Value - Powerline ethernet adaptér, 85Mbps Katalogové číslo: 21.99.1406 Vlastnosti: Kompatibilní s HomePlug 1.0 Turbo Kompatibilní se specifikací IEEE 802.3 10BASE-T Ethernet, IEEE 802.3u 100BASE-TX ANSI/IEEE
VíceČESKÉ VYSOKÉ UČENÍ TECHNIKÉ Fakulta elektrotechnická. Microsoft Sharepoint 2007 Workflows Průmyslové informační systémy
ČESKÉ VYSOKÉ UČENÍ TECHNIKÉ Fakulta elektrotechnická Microsoft Sharepoint 2007 Workflows Průmyslové informační systémy Bc. Petr Pokorný Letní semestr 2009/2010 1 Obsah 1 Úvod... 3 2 Workflow... 3 3 Workflow
VícePraktické využití M-learningu
Praktické využití M-learningu Tomáš Zeman Jaromír Hrad Marek Nevosad České vysoké učení technické v Praze Fakulta elektrotechnická Katedra telekomunikační techniky Technická 2, Praha 6 http://www.comtel.cz
Vícewww.cdc-monitoring.cz
Monitoring sítí a serverů Dnešní požadavky na výkon ethernetových, wifi nebo jiných sítí, jejich serverů a aktivních prvků jsou velmi striktně nastaveny. Síť musí být koncipována tak, aby byla zaručena
VíceFormy komunikace s knihovnami
Formy komunikace s knihovnami Současné moderní prostředky Jiří Šilha a Jiří Tobiáš, Tritius Solutions a.s., Brno Osnova Základní požadavky na komunikaci s knihovnami Historie komunikace s knihovnami Confluence
VíceZáklady počítačových sítí Model počítačové sítě, protokoly
Základy počítačových sítí Model počítačové sítě, protokoly Základy počítačových sítí Lekce Ing. Jiří ledvina, CSc Úvod - protokoly pravidla podle kterých síťové komponenty vzájemně komunikují představují
VíceVývoj Internetu značně pokročil a surfování je dnes možné nejen prostřednictvím počítače, ale také prostřednictvím chytrých telefonů, tabletů a
Vývoj Internetu značně pokročil a surfování je dnes možné nejen prostřednictvím počítače, ale také prostřednictvím chytrých telefonů, tabletů a netbooků. Chytré telefony, nazývané také Smartphony, poskytují
VíceArchitektura rodiny operačních systémů Windows NT Mgr. Josef Horálek
Architektura rodiny operačních systémů Windows NT Mgr. Josef Horálek = Velmi malé jádro = implementuje jen vybrané základní mechanismy: = virtuální paměť; = plánování vláken; = obsluha výjimek; = zasílání
VíceAKTIVNÍ RFID SYSTÉMY. Ing. Václav Kolčava vedoucí vývoje HW COMINFO a.s.
Ing. Václav Kolčava vedoucí vývoje HW COMINFO a.s. Základní vlastnosti: Na rozdíl od pasivních RFID systémů obsahují zdroj energie (primární baterie, akumulátor) Identifikátor tvoří mikroprocesor a vysílač
VíceLoad Balancer. RNDr. Václav Petříček. Lukáš Hlůže Václav Nidrle Přemysl Volf Stanislav Živný
Load Balancer RNDr. Václav Petříček Lukáš Hlůže Václav Nidrle Přemysl Volf Stanislav Živný 1.4.2005 Co je Load Balancer Nástroj pro zvýšení výkonnosti serverů Virtuální server skrývající farmu skutečných
VíceI/O a SCADA systémy. iologik I/O Servery. iologik iologik 2000
I/O a SCADA systémy iologik I/O Servery iologik 4000 Zásuvné modulární I/O Aplikace s velkým počtem měřených bodů Ethernet, RS-485, RS-232 > 35 zásuvných I/O modulů! iologik 2000 Kompaktní I/O moduly Distribuované
VíceIS pro managment flotily vozidel. Project overview statement
IS pro managment flotily vozidel palubní jednotka Project overview statement Jméno projektu IS pro managment flotily vozidel Oblast dokumenut Palubní jednotka Zkratka projektu Metrocar Editováno 11.11.2011
VíceInstalace a první spuštění Programu Job Abacus Pro
Instalace a první spuštění Programu Job Abacus Pro Pro chod programu je nutné mít nainstalované databázové úložiště, které je připraveno v instalačním balíčku GAMP, který si stáhnete z našich webových
Více3.17 Využívané síťové protokoly
Název školy Číslo projektu Autor Název šablony Název DUMu Tematická oblast Předmět Druh učebního materiálu Anotace Vybavení, pomůcky Střední průmyslová škola strojnická Vsetín CZ.1.07/1.5.00/34.0483 Ing.
VíceSemináˇr Java X J2EE Semináˇr Java X p.1/23
Seminář Java X J2EE Seminář Java X p.1/23 J2EE Složitost obchodních aplikací robusní, distribuované, spolehlivé aplikace s transakcemi na straně serveru, klientské aplikace co nejjednodušší Snaha : Návrh,
VícePoužití UART a radia na platformě micro:bit
Použití UART a radia na platformě micro:bit Jakub Vodsed álek Katedra měření Fakulta elektrotechnická České vysoké učení v Praze 25. června 2017 Obsah 1 Úvod 2 UART UART - úvod UART - výstup Prostý výpis
VíceTechnická specifikace
Informační systém pro vysoké a vyšší odborné školy Technická specifikace Obecný popis systému Technická specifikace Obecný popis systému Computer Aided Technologies, s.r.o. Tato příručka je součástí dokumentace
VícePřehled SIP telefonů. Aastra 5000 a Aastra 400. Jádro bezpečných telekomunikačních řešení
Přehled SIP telefonů Aastra 5000 a Aastra 400 Jádro bezpečných telekomunikačních řešení SIP telefony Aastra Aastra 6730i» 3-řádkový LCD displej (16 znaků na řádek)» vynikající poměr cena/výkon» podpora
VíceMetodické pokyny k materiálu č. 41 Mobilní robot III - Závodní auto - Dálkové ovládání 2 (STAVBA)
Metodické pokyny k materiálu č. 41 Mobilní robot III - Závodní auto - Dálkové ovládání 2 (STAVBA) Třída: 8. Učivo: Praktická stavba robota se stavebnicí LEGO Mindstorms NXT 2.0 Obsah inovativní výuky:
VíceBALISTICKÝ MĚŘICÍ SYSTÉM
BALISTICKÝ MĚŘICÍ SYSTÉM UŽIVATELSKÁ PŘÍRUČKA Verze 2.3 2007 OBSAH 1. ÚVOD... 5 2. HLAVNÍ OKNO... 6 3. MENU... 7 3.1 Soubor... 7 3.2 Měření...11 3.3 Zařízení...16 3.4 Graf...17 3.5 Pohled...17 1. ÚVOD
VícePÍSEMNÁ ZPRÁVA ZADAVATELE
PÍSEMNÁ ZPRÁVA ZADAVATELE v zadávacím řízení ZLEPŠENÍ SYSTÉMU PROTIPOVODŇOVÉ OCHRANY MĚSTA TŘINEC (OTEVŘENÉ ŘÍZENÍ) podle ustanovení 85 zákona č. 137/2006 Sb., o veřejných zakázkách Název zakázky: Zlepšení
VíceMI1308 Video rozhraní pro vozidla Volvo s displejem 5
MI1308 Video rozhraní pro vozidla Volvo s displejem 5 Toto rozhraní (adaptér) umožňuje zobrazit RGB signál z navigačního systému, AV signál a video signál z kamery při couvání na 5 displeji ve vozidlech
Více1.05 Informační systémy a technologie
Vypracoval Gestor Schválil Listů Příloh D. Marek(EOS/2) EOS VS 7 Směrnice platí pro všechny závody ŠKODA AUTO. Obsah: 1. Použité pojmy a zkratky 2. Plánování IT 3. Pořízení IT 4. Dodání IT 5. Provoz a
VíceDVR68WIFI. Profesionální univerzální FULL HD černá skříňka. Uživatelská příručka
DVR68WIFI Profesionální univerzální FULL HD černá skříňka Uživatelská příručka DVR kamera je určena k instalaci ke zpětnému zrcátku - profesionální řešení. Obsah Obsah... 2 Technické specifikace... 2 Popis
Více