eské vysoké u£ení technické v Praze Fakulta elektrotechnická Katedra kybernetiky
BAKALÁSKÁ PRÁCE Sb¥r a zobrazení dat v projektu Formula Student Electric
Autor: Jakub
Klíma
Vedoucí:
Ing. Petr
23. kv¥tna 2013
Novák
, Ph.D.
Pod¥kování Rád bych pod¥koval mému vedoucímu Ing. Petrovi Novákovi, Ph.D., za cenné rady a vst°ícnost b¥hem vzniku této práce. Dále bych rád pod¥koval mé rodin¥, p°átel·m a týmovým koleg·m za jejich podporu a nápady na vylep²ení.
v
Abstrakt Tato bakalá°ská práce se zabývá moºnostmi sb¥ru a zobrazení r·zných typ· technických
Formula Student Electric . V úvodu je p°edstaven projekt Formula Student Electric . Následující kapitola se v¥nuje m¥°ení a sb¥ru dat a m¥°ených dat v projektu
stávajícím moºnostem jejich zobrazení. Hlavní £ást se skládá z návrhu a popisu °e²ení aplikace aplikace pro sb¥r, ukládání a vizualizaci nam¥°ených dat. Návrh a popis °e²ení se p°edev²ím týká reprezentace pro ukládání dat a jejich zobrazení. Sou£ástí bakalá°ské práce je také stru£ný manuál k vytvo°enému programu.
Klí£ová slova:
sb¥r dat, ukládání dat, vizualizace, Java
Abstract The bachelor thesis deals with possibilities collecting and displaying various type of technical data collected in the projekt . The introduction presents the projekt
Student Electric
Formula
. The following chapter deals with measuring and collecting data
and the existing posibilities of their displaying. The main part consists of design and a description of application solution of software for collectin, storaging and data vizualization. The design and solution concern representation of data storage and data vizualization primary. The thesis includes a brief guide to the created application.
Key words:
data collecting, data storaging, vizualization, Java
vii
Obsah 1 Úvod 1.1
1.2
O projektu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
1
1.1.1
Pr·b¥h sout¥ºe
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
1.1.2
Statické disciplíny . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2
1.1.3
Dynamické discpilíny . . . . . . . . . . . . . . . . . . . . . . . . . .
2
CTU CarTech . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2
1.2.1
2
Divize Electric
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2 M¥°ení a sb¥r dat
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5
2.1
Pro£ se m¥°í?
5
2.2
Popis m¥°ení a sb¥ru dat . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5
2.3
M¥°ené veli£iny
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6
2.3.1
Bezpe£nostní veli£iny . . . . . . . . . . . . . . . . . . . . . . . . . .
6
2.3.2
Jízdní veli£iny . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7
2.4
Stávající moºnosti zobrazení a hodnocení dat . . . . . . . . . . . . . . . . .
7
2.5
Rozbor jednotlivých aplikací . . . . . . . . . . . . . . . . . . . . . . . . . .
8
2.5.1
AiM Race Studio
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
8
2.5.2
Bosch WinDarab
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
9
2.5.3
Cosworth Pi Toolbox . . . . . . . . . . . . . . . . . . . . . . . . . .
10
2.5.4
Magneti Marelli Wintax4 . . . . . . . . . . . . . . . . . . . . . . . .
11
2.5.5
MoTeC i2
14
2.5.6
MTA Corse DataView
2.5.7
Stack Data Pro 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . .
17
2.5.8
Souhrnné hodnocení stávajících °e²ení . . . . . . . . . . . . . . . . .
17
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3 Cíle vytvá°ené aplikace 4 Návrh °e²ení 4.1
Návrh struktury aplikace . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2
Volba programovacího jazyka
4.3
Návrh reprezentace pro ukládání dat
4.4
Návrh GUI (hlavní dialog aplikace) 4.4.1
. . . . . . . . . . . . . . . . . . . . . . . . .
16
19 21 21
24
. . . . . . . . . . . . . . . . . . . . .
24
. . . . . . . . . . . . . . . . . . . . . .
25
Hlavní okno . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
25
ix
4.4.2 4.5
4.6
Vedlej²í okna
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
26
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
26
4.5.1
Pouºití Excelu £i podobného kancelá°ského nástroje . . . . . . . . .
27
4.5.2
Vytvo°ení soubor pro MATLAB a v n¥m zobrazit grafy . . . . . . .
27
4.5.3
Vyuºití knihovny pro kreslení graf·
. . . . . . . . . . . . . . . . . .
28
4.5.4
Vytvo°ení zcela vlastní komponenty pro kreslení graf· . . . . . . . .
28
4.5.5
Zhodnocení
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
29
Vykreslování mapy
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
29
Vykreslování graf·
5 Popis °e²ení 5.1
Ukládání dat
5.2
Databáze známých veli£in
5.3
Ovládací £ást
5.4
5.5 5.6
5.7
6 7 A B C
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
31 31
. . . . . . . . . . . . . . . . . . . . . . . . . . .
33
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
35
GUI
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
35
5.4.1
Hlavní okno . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
36
5.4.2
Vedlej²í okna
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
40
Grafy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
41
5.5.1
Reprezentace ukládání dat grafu . . . . . . . . . . . . . . . . . . . .
41
Dal²í funkce . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
44
5.6.1
Grafy tachometry, budíky
44
5.6.2
Grafy teplom¥ry
5.6.3
Mapa
. . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . .
44
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
44
Vytvo°ení spustitelného souboru . . . . . . . . . . . . . . . . . . . . . . . .
44
Manuál k programu Záv¥r Seznam pouºitých zkratek Doprovodné grafy k sout¥ºi Obsah p°iloºeného CD
45 49 53 55 57
x
Seznam obrázk· 2.1
Ukázka SW Race Studio
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
9
2.2
Ukázka SW WinDarab
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10
2.3
Ukázka SW Pi Toolbox . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11
2.4
Ukázka SW Wintax 4 Junior . . . . . . . . . . . . . . . . . . . . . . . . . .
12
2.5
Ukázka SW Wintax 4 User . . . . . . . . . . . . . . . . . . . . . . . . . . .
12
2.6
Ukázka SW Wintax 4 Team
2.7
Ukázka SW Wintax 4 Pro
2.8
Ukázka SW MoTeC i2
2.9
Ukázka SW MoTeC Telemetry Monitor . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . .
13
. . . . . . . . . . . . . . . . . . . . . . . . . . .
13
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
15
2.10 Ukázka SW MTA Corse DataView
16
. . . . . . . . . . . . . . . . . . . . . .
17
. . . . . . . . . . . . . . . . . . . . . . . . .
18
4.1
Návrh struktury aplikace . . . . . . . . . . . . . . . . . . . . . . . . . . . .
22
4.2
Formát dat vsupujících do aplikace
4.3
Navrhovaná reprezentace pro ukládání dat
4.4
Navrh hlavního okna
4.5 5.1
Rozvrºení a layout havního okna
. . . . . . . . . . . . . . . . . . . . . . .
38
6.1
Screenshot aplikace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
46
B.1
Graf bodování statických disciplín . . . . . . . . . . . . . . . . . . . . . . .
55
B.2
Graf bodování dynamických disciplín
55
2.11 Ukázka SW Stack Data Pro 5
. . . . . . . . . . . . . . . . . . . . . .
23
. . . . . . . . . . . . . . . . . .
25
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
26
P°ehled podporovaných graf· v JFreeChart . . . . . . . . . . . . . . . . . .
28
xi
. . . . . . . . . . . . . . . . . . . . .
Seznam tabulek 1.1
Technická data formule FSE 01
. . . . . . . . . . . . . . . . . . . . . . . .
3
1.2
Technická data formule FSE 02
. . . . . . . . . . . . . . . . . . . . . . . .
3
2.1
Bezpe£nostní veli£iny . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7
2.2
Jízdní veli£iny . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7
2.3
P°eled n¥kterých existujích aplikací
. . . . . . . . . . . . . . . . . . . . . .
8
4.1
P°ehled známých m¥°ených dat
. . . . . . . . . . . . . . . . . . . . . . . .
23
5.1
Seznam metod v ovládací £ásti . . . . . . . . . . . . . . . . . . . . . . . . .
35
5.2
P°eled stav· stavové li²ty . . . . . . . . . . . . . . . . . . . . . . . . . . . .
40
5.3
Seznam metod t°ídy ListGraf
42
5.4
Seznam metod t°ídy ListListGraf
. . . . . . . . . . . . . . . . . . . . . . .
42
6.1
P°eled klávesových zkratech pouºitých v aplikaci . . . . . . . . . . . . . . .
47
. . . . . . . . . . . . . . . . . . . . . . . . .
xiii
Konvence V této práci jsem ke zvýrazn¥ní textu pouºil následující pravidla.
Tu£ným písmem Main() p°íklad
Text v italice
jsou zna£eny názvy tla£ítek, t°íd, metod a objekt· programu (na-
).
oznaºuje názvy názvy aplikací, programovacích jazyk·, knihoven, závod-
ních kategorií a diciplín (nap°íklad
Kapitálkami
Electric, JFreeChart
jsem zvýraznil název projektu (
Jako technický text
).
Formula Student Electric
jsem ozna£il formáty soubor· (nap°íklad
xv
*.jar, *.xls).
).
Kapitola 1 Úvod 1.1
O projektu
Formula Student Electric
je kategorií sout¥ºe
Formula Student / Formula SAE
(Society of Automotive Engineers). Jde o mezinárodní konstruktérskou sout¥º pro týmy
sloºené výhradn¥ ze student· vysokých ²kol. Úkolem je navrhnout a vyrobit prototyp závodního vozu formulového typu pro víkendového jezdce. A následn¥ p°ipravit plán na sériovou výrobu vozu. Kategorie pohon. Krom¥ kategorie
Electric
Electric
se smí zú£astnit pouze formule na elektrický
je také kategorie
Combustion
(formule se spalovacím
motorem). Poslední sezony se zú£astnilo celkem 63 elektrických a 510 spalovacích formulí. Pravidla sout¥ºe mají spole£nou £ást pro ob¥ kategorie nap°íklad, co se tý£e rozm¥r· nebo omezení maximálního ²pi£kového výkonu na 85 kW, aby bylo moºné vozy z obou kategorií vzájemn¥ porovnat. Dále má pak kaºdá kategorie blíºe specikovaná svá pravidla. Sout¥º probíhá ve form¥ n¥kolika závod· konaných p°eváºn¥ v období prázdnin, kde kvalikované týmy m¥°í své síly. Na závodech s men²í ú£astí závodí ob¥ kategorie v rámci jednoho ºeb°í£ku, p°i vy²²í ú£asti jsou ºeb°í£ky rozd¥leny.
1.1.1
Pr·b¥h sout¥ºe
Pravidla sout¥ºe kladou velký d·raz p°eváºn¥ na bezpe£nost, proto na závodech musí kaºdý tým projít technickou inspekcí, kde se d·sledn¥ kontroluje dodrºení zadaných pravidel. A následn¥ musí v·z projít t¥mito speciálními testy:
brake test
v²echna kola se
musí zablokovat sou£asn¥, nesmí dojít ke smyku a ºádná £ást auta nesmí d°ít o vozovku, o o p°i náklonu 45 - nesmí z formule vytékat ºádná kapalina a p°i náklonu 60 - se
tilt test
nesmí formule p°evrátit, coº simuluje p°etíºení v zatá£ce,
noise test
elektrické formule
musí mít klakson, který vydává hluk alespo¬ 75 dB a motor spalovacích verzí nesmí být hlu£n¥j²í neº 110 dB,
rain test
2 minuty je formule pod sprchou a v²echny systémy musí
fungovat alespo¬ dal²í 2 minuty.
1
Po úsp¥²ném sloºení v²ech bezpe£nostních test· následují bodované statické a dynamické disciplíny. Ze statických disciplín lze získat aº 325 bod·. Dynamické disciplíny mohou být ohodnoceny aº 675 body.
1.1.2
Statické disciplíny
Mezi statické disciplíny pat°í
Plan Presentation
. V
EDR
Engeneering Design Report (EDR) Cost Report Business Cost Reportu Business Planu ,
a
se hodnotí technické °e²ení vozu, inovativní nápady, pouºité
technologie a p°edev²ím kolik toho studenti sami vytvo°ili. V analýza náklad· na výrobu. A p°i prezentaci
se hodnotí
, jde o to p°im¥t investory
k investici na sériovou výrobu formule. Hodnocení jednotlivých statických disciplín je na grafu B.1 na stran¥ 55.
1.1.3
Dynamické discpilíny
Acceleration Skidpad Autocross Endurance Acceleration Skidpad Autocross Endurance Endurance
Dynamické disciplíny jsou
,
,
a
.
je
disciplína, která hodnotí, jak jsou vozy rychlé. Na dráze dlouhé 75 m n¥které formule dosahují aº 110 km/hod a ty nejrychlej²í jí projedou pod 4 sekundy. tvaru osmi£ky, kde se ukáºe jak je formule ovladatelná. zárove¬ slouºí jako kvalikace pro hlavní závod jezdc· v polovin¥. V
dráha ve
dv¥ kola po trati, která
závod na 22 km se st°ídáním
se zárove¬ s £asem hodnotí i spot°eba paliva/energie.
Bodování t¥chto disciplín je na grafu B.2 na stran¥ 55.
1.2
CTU CarTech
Na VUT je studentský tým CTU CarTech, který jiº vyrobil 4 spalovací formule (divize Combustion) a jednu na elektrický pohon (divize Electric). Jedním z poºadavk· pro zú£astn¥ní sout¥ºe je to, aby byla formule nová, nebo z velké £ásti zm¥n¥ná. Nelze tedy vyrobit jednu a závodit s ní déle neº jednu sezonu. Nyní na VUT vznikají 2 formule pro následující sezonu. Jedna spalovací a jedna elektrická. A práv¥ pro elektrickou formuli bude pouºit SW popisovaný v této bakalá°ské práci.
1.2.1
Divize Electric
Divize electric vznikla v roce 2011 v sou£asné dob¥ má 25 aktivních £len·, kte°í se podílejí na vzniku nové formule
FSE 02. Tým je sloºen p°eváºn¥ ze student· fakulty elektrotech-
nické a fakulty strojní VUT.
Dosavadní výsledky V roce 2012 se elektroformule zú£astnila prvních závod·. V Ma¤arsku (19. místo ze 41 jak spalovacích tak elektrických formulí) a v Itálii (8. místo z 20 elektroformulí). V celkovém sv¥tovém ºeb°í£ku se tak tým umístil na 14. míst¥ mezi 63 elektrickými týmy.
2
Technická data Technická data k formuli FSE 01 jsou umíst¥na v tabulce 1.1 na stran¥ 3. Technická data Max. výkon
66 kW
Typ motoru
BLDC
Max. rychlost
120 km/h
Zrychlení 0 - 100 km/h
4,2 s
Hmotnost
330 kg
Jmenovité nap¥tí
200 V
Kapacita
8 kWh 40 Ah
Po£et £lánk·
54
Tabulka 1.1: Technická data formule FSE 01
k práv¥ vznikající formuli FSE 02 jsou v tabulce 1.2 na stran¥ 3 Max. výkon
2x30 kW
Typ motoru
2xPMSM
Max. rychlost
150 km/h
Zrychlení 0 - 100 km/h
3,8 s
Hmotnost
270 kg
Jmenovité nap¥tí
400 V
Kapacita
8,8 kWh 22 Ah
Po£et £lánk·
216
Tabulka 1.2: Technická data formule FSE 02
Moje funkce v projektu formule V projektu pat°ím do skupiny zabývající se elektronickým vybavením vozu. Mojí hlavní úlohou je vytvo°it SW aplikaci pro sou£asn¥ vyvíjený datalogger (p°ístroj pro m¥°ení r·zných veli£in) a umoºnit záznam a prohlíºení takto nam¥°ených dat. Tato £innost je nezbytná k ov¥°ení správné £innosti celé elektroniky a také ke správnému nastavení parametr· vozu pro vlastní závod.
3
Kapitola 2 M¥°ení a sb¥r dat 2.1
Pro£ se m¥°í?
M¥°ení dat v závodním voze má n¥kolik podstatných d·vod·. Data slouºí jednak jako zp¥tná vazba pro konstruktéry a mechaniky. Ti pak mohou v·z správn¥ nastavit a p°izp·sobit ho tak kaºdému závodu. Dal²ím d·vodem je závodní strategie, kterou lze pomocí této zp¥tné vazby dodrºet anebo ji v p°ípad¥ pot°eby zm¥nit, aby bylo dosaºeno lep²ího výsledku. Vposlední °ád¥ rovn¥º kv·li bezpe£nosti, kdy je nutno udrºet n¥které kritické veli£iny v povolených mezích.
Vzhledem k tomu, ºe s formulí se jezdí závody a na v·z jsou kladeny vysoké nároky, je nutné mít ho vºdy správn¥ nastaven. Správným nastavením vozu p°ed závodem lze nap°íklad zvý²it p°ilnavost vozu k povrchu vozovky a získat tím vy²²í rychlost p°i pr·jezdu zatá£kou nebo prodlouºit dojezdovou vzdálenost £i zabránit protá£ení kol p°i akceleraci.
Dal²ím d·vodem pro m¥°ení dat je losoe týmu, která spo£ívá ve výrob¥ co nejvíce vlastních komponent pro formuli a dále vylep²ovat jiº hotové komponenty nap°íklad z p°ede²lých sezon. Pro návrh komponent je velmi d·leºité v¥d¥t, jak se chovají nejen jednotlivé komponenty a i celý v·z b¥hem jízdy. Proto je pot°eba mít k dispozici data z pr·b¥hu £innosti jednotlivých komponent b¥hem jízdy vozu. Tato data jsou rovn¥º nezbytná nejen pro ov¥°ení správné £innosti, ale také pro dal²í vývoj jednotlivých komponent. Práv¥ k t¥mto ú£el·m bude slouºit datalogger, který se rovn¥º v týmu vyvíjí a aplikace na zpracování dat, která je p°edm¥tem této bakalá°ské práce.
2.2
Popis m¥°ení a sb¥ru dat
M¥°ení a sb¥r dat probíhá v n¥kolika na sebe navazujících krocích pomocí r·zných druh· za°ízení.
5
M¥°ení veli£iny senzorem Senzory jsou umíst¥ny v r·zných £ástech vozu, kde m¥°í poºadované veli£iny. Hodnotu veli£iny p°evád¥jí na elektrický signál, který je odesílán do dal²ího za°ízení do dataloggeru.
Datalogger Datalogger je záznamové za°ízení, které p°ijímá data ze senzor· a ukládá je do pam¥ti. Nap°íklad na pam¥´ovou kartu nebo do interní pam¥ti. P°ípadn¥ data p°edává dále za ú£elem dal²ího hodnocení.
Vyhodnocení dat ve vozidle N¥které veli£iny je nutné vyhodnotit jiº ve vozidle a ihned reagovat na vzniklou aktuální situaci. O to se stará vestav¥ný po£íta£ (dále ECU - electronic control unit). ECU pr·b¥ºn¥ vyhodnocuje data ze senzoru / senzor· a podle toho vykonává pot°ebný ak£ní zásah. P°íkladem je kontrola trakce, kde p°i prokluzování kol ECU do£asn¥ sníºí výkon motoru.
P°enesení dat do po£íta£e Nam¥°ená data se do po£íta£e (PC) p°ená²ejí kv·li pozd¥j²í d·kladn¥j²í analýze. Data se mohou p°ená²et pomocí kabelu, pam¥´ové karty nebo mohou být odesílána bezdrátov¥ a to i v reálném £ase telemetrie.
Vyhodnocení dat v po£íta£i Po p°enesení dat do po£íta£e se data vyhodnotí pomocí specializovaného software, který data nej£ast¥ji zobrazí pomocí graf· a tabulek.
2.3
M¥°ené veli£iny
Veli£iny, které budeme ve formuli m¥°it, se dají podle jejich podstaty rozd¥lit na bezpe£nostní a na jízdní. Bezpe£nostní veli£iny se budou týkat t¥ch komponent vozu, které by p°i ²patné £innosti byly nebezpe£né pro pilota nebo pro v·z samotný. Jízdní se budou týkat výkonu a nastavení vozidla.
2.3.1
Bezpe£nostní veli£iny
Mezi bezpe£nostní veli£iny pat°í p°edev²ím teploty jednotlivých komponent vozu. Jde o teplotu baterií a to nejen jako celek ale také pro kaºdý £lánek zvlá²´. Dále pak jde o nap¥tí baterií, teplotu motoru a m¥ni£e. Veli£iny pat°ící do této skupiny jsou uvedeny v tabulce 2.1 na stran¥ 7.
6
Veli£ina
D·vod m¥°ení
Teplota baterií
P°i vysoké teplot¥ by mohli baterie explodovat
Nap¥tí baterií
Správným vybíjením a nabíjením baterií se p°edchází zkracování ºivotnosti baterií
Teplota motoru
P°i p°eh°átí motoru by do²lo k jeho zni£ení. Nap°íklad k odmagnetování magnet·.
Teplota m¥ni£e
Pokud by byl m¥ni£ del²í dobu pouºíván p°i p°íli² vysoké teplot¥, do²lo by k jeho zni£ení. Proto musí být p°i riziku p°eh°átí vypnut. Tabulka 2.1: Bezpe£nostní veli£iny
2.3.2
Jízdní veli£iny
Jízdní veli£iny ovliv¬ují jízdní vlastnosti vozu. K jízdním veli£inám pat°í po£et otá£ek motoru, rychlost otá£ení jednotlivých kol, nato£ení kol, stla£ení tlumi£· a také stla£ení plynového a brzdového pedálu. V tabulce 2.2 na stran¥ 7 jsou uvedeny veli£iny z této skupiny.
Veli£ina
D·vod m¥°ení
Stla£ení tlumi£·
Míra stla£ení tlumi£· bude klí£ovou informací ke správnému nastavení podvozku
Rychlost otá£ení jednotlivých kol
Je jedním z údaj· pot°ebných pro kontrolu trakce. Bude slouºit také ke stanovení rychlosti vozu.
Nato£ení kol
Je dal²ím z údaj· pot°ebných pro kontrolu trakce.
Stla£ení plynového pedálu
Je dal²ím z údaj· pot°ebných pro kontrolu trakce. Dále slouºí jako ukazatel pilotova stylu jízdy.
Stla£ení brzdového pedálu
Slouºí jako ukazatel pilotova stylu jízdy.
Rychlost otá£ek motoru
Z tohoto údaje bude moºné spo£ítat rychlost vozu. Zajímavost.
GPS sou°adnice
Z t¥chto bod· bude moºné zjistit polohu vozu, stanovit trasu a zjistit ujetou vzdálenost. Tabulka 2.2: Jízdní veli£iny
2.4
Stávající moºnosti zobrazení a hodnocení dat
V této £ásti se podívám jaké, aplikace jiº existují a zjistím, co tyto vsou£asnosti dostupné aplikace poskytují. Na trhu je nabídka n¥kolika aplikací pro sb¥r a zobrazení dat ze závod-
7
ních voz·. P°ehled n¥kterých výrobc· a jejich aplikací je uveden v tabulce 2.3 na stran¥ 8 spole£n¥ i s cenou.
Výrobce
Aplikace
Cena
AiM
Race Studio
0
Bosch
WinDarab-Light
3 890 EUR
WinDarab-Expert
5 180 EUR
WinDarab-Free
0
Cosworth
Pi Toolbox
200 USD
Magneti Marelli
Wintax4 Junior
0
Wintax4 User
590 EUR první + 590 EUR obnovení licence
Wintax4 Team
18 000 EUR první + 8 000 EUR obnovení licence
Wintax4 Pro
Závisí na poºadavcích, je navrhována na míru
i2 Standard
0
i2 Pro
0
Telemetry Monitor
0
MTA Corse
DataView
0
Stack
DataPro 5 V5
nezji²t¥no
MoTeC
Tabulka 2.3: P°eled n¥kterých existujích aplikací
2.5
Rozbor jednotlivých aplikací
2.5.1
AiM Race Studio
Schopna zpracovávat data ze v²ech AIM datalogger·. Software je dostupný zdarma a umí zobrazovat n¥kolik kanál· (m¥°ených veli£in) sou£asn¥ v jednom grafu. Grafy mohou být zobrazeny jako závislost hodnot m¥°ených veli£in na £ase nebo také v závislosti na ujeté vzdálenosti (k tomuto je nutná dostupnost kanálu s rychlostí). Lze vykreslit také graf závislosti jednoho kanálu na druhém. U grafu lze m¥nit barvy hodnot a pr·b¥hy lze samoz°ejm¥ p°ibliºovat a oddalovat. Dále je moºné vykreslit mapu trati a posunováním kurzoru po map¥ lze propojit data v grafu s pozicí na map¥. Lze tedy pak snadno vid¥t, jak se m¥ní data nap°íklad v pr·jezdu zatá£kou. Dal²í funkcí
Race Studia
je vykreslení
histogramu. Dále umoº¬uje analyzovat motor, kdy z RPM a rychlosti vypo£ítá sílu motoru a k°ivku to£ivého momentu. Grafy lze z aplikace p°ímo tisknout a data lze exportovat do
Excelu Vista, 7
ve formátu .*.xls. Sou£asnou verzi aplikace (2.48.00) lze pouºít na
Windows XP,
ve verzích 32 i 64 bit. Náhled této aplikace je na obrázku 2.1 na stran¥ 9.
8
•
+ Dostupný zdarma
•
+ Propojení mapy a hodnot grafu
•
- Pouze pro Windows
•
- Pouze pro dataloggery typu AIM
•
- Absence telemetrie
Obrázek 2.1: Ukázka SW Race Studio
2.5.2
Bosch WinDarab
Tento nástroj k analýze dat je k dispozici ve verzích
Expert XP 32 bit Vista 32 bit Light Expert Free Free Matlabu Light
Free Bosch
(zdarma),
Light
(3 890 EUR) a
(5 180 EUR). V²echny verze jsou kompatibilní s OS (opera£ní systém) a
£tena z
k dispozici verze
. Data v dataloggerech rmy
nebo
Windows
jsou zakódována a mohou být
verze software jen s platným klí£em. Pro základní analýzu je
verze, která umoº¬uje £tení základních dat z dataloggeru. Nejjednodu²²í
umí zobrazovat histogramy, X/Y grafy a vykreslovat mapu trati pomocí bo£-
ního zrychlení a rychlosti nebo pomocí GPS. Data mohou být exportována do textového souboru nebo do
.
verze navíc umí zobrazit tabulku s maximy a minimy
m¥°ených hodnot, Fourierovu transformaci a umoº¬uje telemetrii.
Expert
verze p°idává
vývojové grafy a umoº¬uje analýzu po jednotlivých kolech. S vy²²í verzí se také zvy²uje
9
maximální po£et otev°ených soubor· a m¥°ících oken.
Expert
verze není maximálním
po£tem omezena.Ukázka aplikace je na obrázku 2.2 na stran¥ 10.
•
+ R·zné verze, základní zdarma
•
+ Export do Matlabu
•
+ Telemetrie
•
- Pouze pro Windows
•
- Pouze k datalogger·m Bosch
Obrázek 2.2: Ukázka SW WinDarab
2.5.3
Cosworth Pi Toolbox
Jde nástroj pro analýzu dat z datalogger· zna£ky
Cosworth
. Grafy jsou zobrazovány v
závislosti na £ase nebo na ujeté vzdálenosti. Dále se zobrazuje mapa trati, histogram, X/Y graf a tabulkový p°ehled nam¥°ených dat, která mohou být exportována do
Lite Pro Windows
Je dostupný ve verzi
a
. V
Pro
Excelu
.
verzi je moºná telemetrie a sledování videa v
reálném £ase a synchronizovaného s ostatními daty a umoº¬uje spektrální analýzu. Je ur£ený pro OS
.Jeho ukázka se nachází na obrázku 2.3 na stran¥ 11.
•
+ Telemetrie i s videem ve vy²²í verzi
•
+ Synchronizace videa s grafy
•
- Absence telemetrie v
Lite
verzi
10
Windows
•
- Pouze pro
•
- Pouze pro dataloggery
Cosworth
Obrázek 2.3: Ukázka SW Pi Toolbox
2.5.4
Magneti Marelli Wintax4
Jedná se o software na analýzu dat z datalogger·
Junior, User, Team Pro 32bit, XP 64bit, Vista 32bit, Vista 64bit 7 a
Magneti Marelli
. V²echny verze jsou kompatibilní s OS a
.
. Existuje ve verzích
Windows 2000 XP ,
Junior Tato verze je k dispozici zcela zdarma. Umoº¬uje zobrazování graf· závislosti aº 20 kanál· na ujeté vzdálenosti nebo na £ase. Dále je moºné zobrazit graf aº 4 kanál· v závislosti na jiné m¥°ené veli£in¥. V²echny grafy lze p°ibliºovat a podrobn¥ji si tak prohlíºet detaily. Mapa trati je vypo£ítávána z laterální akcelerace, rychlosti a ujeté vzdálenosti.
Junior
Wintax4
dokáºe porovnávat data z n¥kolika m¥°ených kol a podporuje základní matema-
tické funkce. Po dokon£ení kaºdého kola zobrazuje shrnutí nejd·leºit¥j²ích parametr·, minima, maxima, pr·m¥ry jakýchkoliv kanál· a také hodnoty v²ech kanál· na za£átku a na konci kola. Zajímavou funkcí je
AutoDownLoad
, která umoº¬uje automatické stáhnutí
nejnov¥j²ích dat po p°ipojení dataloggeru k po£íta£i. Mezi dal²í funkce pat°í propojení pozice na map¥ s daty v grafu. Export dat je moºný pouze do textového souboru.Ukázka SW se nachází na obrázku 2.4 na stran¥ 12.
11
Obrázek 2.4: Ukázka SW Wintax 4 Junior
User Tato verze je jiº placená, licence je poskytována na jeden rok a v£etn¥ oprav a aktualizací stojí 590 EUR p°i prvním zakoupení a následné prodlouºení licence na jeden rok stojí op¥t 590 EUR. Krom¥ v²ech funkcí z verze
Junior
umí zobrazit i 3D grafy hodnot v
závislosti na jiných nam¥°ených veli£inách, histogramy a sloupcové grafy. Dále dokáºe zobrazit p°ehled po libovoln¥ velkých £asových úsecích a ty porovnat. Oproti p°edchozí verzi umí vykreslovat mapu okruhu nejen z laterální akcelerace, rychlosti a zrychlení, ale také podle GPS do
Google Earth
, umoº¬uje spektrální analýzu, je p°eloºena do n¥kolika
sv¥tových jazyk· a data umí vyexportovat nejen do textového souboru, ale také do
Excelu
*.csv,
a do binárního souboru. Navíc má signalizaci kritických hodnot kanál·.Náhled SW
je na obrázku 2.5 na stran¥ 12.
Obrázek 2.5: Ukázka SW Wintax 4 User
Team Team
verze je velmi podobná verzi
User
, ale je to licence pro tým, která na první rok
stojí 18 000 EUR a její prodlouºení o rok 8 000 EUR. Vylep²ením oproti
12
User
verzi je
moºnost synchronizace vide s daty a také má pokro£ilej²í matematické funkce, pomocí nichº vypo£ítá dal²í data z jiº nam¥°ených.Ukázka SW je na obrázku 2.6 na stran¥ 13.
Obrázek 2.6: Ukázka SW Wintax 4 Team
Pro Jde op¥t o verzi pro více uºivatel· a má stejné funkce jako ºe
Pro
Team
. Vylep²ení je v tom,
verze nabízí telemetrii a ve 2D a 3D grafech umí zobrazovat více os naráz.Bývá
navrhována p°esn¥ na poºadavky zadavatele.Ukázka se nachází na obrázku 2.7 na stran¥ 13.
•
+ Více verzí, základní zdarma
•
+ Absence telemetrie v niº²ích verzích
•
+ Velké mnoºství funkcí
•
- Moºnost telemetrie jen ve vy²²ích verzích
•
- Vysoká cena vy²²ích verzí
•
- Pouze pro
•
- Pouze k datalogger·m
Windows
Magneti Marelli
Obrázek 2.7: Ukázka SW Wintax 4 Pro
13
2.5.5
MoTeC i2
Aplikace
MoTeC i2
Windows
je k dostání ve verzích
.
Standard Pro a
. Ob¥ vere jsou ur£enépro OS
Standard Aplikace je dostupná zdarma pro v²echny uºivatele datalogger· stáhnout ze stránek výrobce. Mezi vlastnosti analýzy
i2
MoTeC
a je ji moºné
Standard pat°í zobrazování graf·
v závislosti na £ase nebo na vzdálenosti. Grafy je moºné posunovat a p°ibliºovat je £i je oddalovat a zobrazovat v nich maximální, minimální a pr·m¥rné hodnoty. Maximální po£et zobrazovaných graf· je omezen na 5, p°i£emº mohou být zobrazována data aº z 10 kanál·. Jednotlivé kanály mohou být zobrazovány zvlá²´ nebo mohou být slu£ovány. I2 Standard podporuje duální kurzor, který se vyuºívá p°i porovnávání dvou r·zných m¥°ení. P°i jeho vyuºití se vypo£ítává rozdíl mezi kanály a také maximální, minimální a pr·m¥rný rozdíl v £ase nebo vzdálenosti. M¥°idla mohou být v aplikaci kongurována. Dal²í vlastností je zobrazení aº 2 histogram· z jednoho kanálu a rozptylových graf. Dále jsou k dispozici n¥které matematické funkce jako nap°íklad vyhlazení grafu, zm¥na m¥°ítka £i posun, p°epo£ítávání jednotek. Data se mohou exportovat do formátu
*.csv.
Náhled
aplikace je na obrázku 2.8 na stran¥ 15.
•
+ Duální kurzor
•
+ Zdarma
•
- Pouze pro
•
- Pouze pro dataloggery
Windows
MoTeC
Pro Samotná aplikace je dostupná zdarma, lze ji stáhnout ze stránek výrobce, ale zakupují se licence k poºadovaným vlastnostem. Nap°íklad ro£ní API licence, která stojí 2 761 GBP. Ro£ní licence pro pouºívání
i2 Standard i2 Standard
soubor· stojí 561 GBP. K vyuºívání
i2 Pro i2
analýzy je nutné provést upgrade ECU (electronic control unit °ídící jednotka) a záznamového systému. V²e co je moºné v
Standard
je moºné i zde. Výhodou oproti
je neomezený po£et graf·, kanál· a histogram·. Navíc umí pokro£ilej²í mate-
matické funkce jako nap°íklad FFT (rychlá Fourierova transformace), synchronizaci videa z n¥kolika kamer, propojování dat v grafu a histogramu, zobrazit zárove¬ data z n¥kolika kol k analýze na problematických úsecích trati. Náhled aplikace je na obrázku 2.8 na stran¥ 15.
•
+ Duální kurzor
14
•
+ Neomezený po£et m¥°ených a zobrazovaných veli£in
•
- Pouze pro
•
- Pouze pro dataloggery
Windows MoTeC
Obrázek 2.8: Ukázka SW MoTeC i2
Telemetry Monitor Jde o aplikaci pro zobrazení dat, která jsou ºiv¥ vysílána z vozidla do po£íta£e. Data jsou zobrazována v tabulkách, sloupcových a X/Y grafech. Zobrazuje se také mapa trati a nato£ení volantu. Program umoº¬uje nastavit uºivatelská varování nap°íklad pro konec kola nebo pro ur£itou mez n¥které z m¥°ených veli£in. Dále umoº¬uje zobrazení v reálném £ase na v²echny kanály. Dále zobrazení p°ehledu na konci kola (£asu kola, maximální rychlosti a maximálního po£tu otá£ek motoru za minutu v daném kole) a také p°ehled varování, která se vyskytla. Umoº¬uje export dat pro analýzu v
Windows
a k pouºití s dataloggery
16. .
•
+ Telemetrie
•
+ Uºivatelská varování
•
- Pouze pro
•
- Pouze pro dataloggery
MoTeC
i2 Pro
. Je také ur£ena pro
. Ukázka aplikace je na obrázku 2.9 na stran¥
Windows MoTeC 15
Obrázek 2.9: Ukázka SW MoTeC Telemetry Monitor
2.5.6
MTA Corse DataView
Je nabízený ve verzích a
Licensed
Easy Standard Licensed Easy Licensed ,
a
.
pouze po instalaci USB klí£e na po£íta£.
Standard Standard
verze je zdarma a oproti
verzi je ochuzena o n¥které pokro£ilej²í funkce.
Standard
verze je p°ístupná
verze má stejné funkce jako
,
ale kaºdému uºivateli p°i°azuje unikátní sí´ovou licenci. V jednom grafu m·ºe být zob-
razeno maximáln¥ 20 kanál· a to bu¤ v závislosti na £ase, nebo v závislosti na ujeté vzdálenosti. Sou£asn¥ m·ºe být zpracováváno aº 6 sad dat. Tyto sady mohou být bu¤ jednotlivá kola, nebo i sety n¥kolika kol z rozdílných m¥°ení.
DataView
dokáºe taká po-
rovnávat tyto sady dat v·£i sob¥. Data mohou být také rozd¥lena do ur£itých segment· nap°íklad podle zatá£ek, aby bylo moºné analyzovat jízdní vlastnosti vozu také v jednotlivých £ástech trati. V jednotlivých úsecích lze zobrazovat histogramy, mezi£asy a grafy.
DataView
také umoº¬uje XY analýzu a ve
Standard Licensed a
verzi také XYZ analýzu.
P°i této analýze se zobrazí graf závislosti jedné veli£iny na druhé respektive i na t°etí a vznikne tak 2D respektive 3D graf. Ve vy²²ích verzích je také funkce Trend, která umoº¬uje porovnávat aº 6 kanál· v·£i sob¥ a zobrazuje maxima, minima a pr·m¥ry kaºdého kanálu. Mezi dal²í funkce vy²²ích verzí pat°í softwarový alarm, který umoº¬uje nastavit limity na kanálech, p°i jejichº p°ekro£ení za£ne software zobrazovat varování. Telemetrie je dostupná pouze pro vy²²í verze.
DataView
umoº¬uje ve vy²²ích verzích vytvo°ení
takzvaných matematických kanál·, které zobrazují data vypo£ítaná z nam¥°ených dat, dále je ve vy²²ích verzích moºné také zobrazit histogramy, m¥nit metrické a imperiální jednotky a ltrovat kanály. V²echny verze jsou ur£eny pro OS dataloggery
MTA Corse
Windows
a pro pouºití s
. Ukázka aplikace je na obrázku 2.10 na stran¥ 17. .
•
+ Více verzí, základní zdarma
•
+ Softwarový alarm
•
- Omezený po£et m¥°ených a zobrazovaných veli£in
•
- Pouze pro
•
- Pouze pro dataloggery
Windows MTA Corse 16
Obrázek 2.10: Ukázka SW MTA Corse DataView
2.5.7
Stack Data Pro 5
Stack DataPro 5
je aplikace k datalogger·m
Stack
. Zobrazované grafy mohou být X/Y
nebo s £asovou £i vzdálenostní základnou. Grafy se mohou p°ekrývat nebo zobrazovat vedle sebe a je je moºné zoomovat. Kurzor v grafech je propojený s kurzorem na map¥. Mapa trati je po£ítána pomocí GPS a je zobrazována jako Duhová mapa - trasa je vykreslena n¥kolika barvami, kde je odli²eno nap°íklad, jak moc se v daném úseku akceleruje. Po kaºdém ujetém kole se vytvo°í shrnutí tohoto kola. Mezi dal²í funkce pat°í histogramy, telemetrie s videem, automatické rozpoznávání n¥kolika vozidel a zobrazování dat z kaºdého vozidla zvlá²´.
90SE/ME/2000/XP/Vista/7
Stack Data Pro 5
je kompatibilní se systémy
Windows
. Náhled aplikace je na obrázku 2.11 na stran¥ 18. .
•
+ Telemetrie
•
+ Duhová mapa
•
- Pouze pro
•
- Pouze pro dataloggery
2.5.8
Windows Stack
Souhrnné hodnocení stávajících °e²ení
Co se tý£e funk£ní stránky tak jsou dostupné aplikace vpodstat¥ dosta£ující a mají dokonce i funkce, které v rámci projektu nevyºadujeme. Nicmén¥ zmín¥né dostupné aplikace nejsou pro formuli vhodné z n¥kolika d·vod·.
17
Obrázek 2.11: Ukázka SW Stack Data Pro 5
Kompatibilita pouze s dataloggery od stejného / jednoho výrobce
- V rámci
projektu je vyvíjen vlastní datalogger (podmínka inovací v projektu) se kterým by ºádná zuvedených aplikací samoz°ejm¥ nebyla kompatibilní. Je pravd¥podobné, ºe se bude b¥hem vývoje datalogger m¥nit a t¥mto zm¥nám se bude muset p°izp·sobit i SW.
Nejsou multiplatformní dows
- V²echny zkoumané aplikace jsou k dispozici pouze pro
. V na²em týmu je ale vyuºíván i
Linux Mac £i
Win-
. Bylo by proto vhodné umoºnit v²em
£len·m zobrazení nam¥°ených dat, coº ale není se stávajícími aplikacemi moºné.
Cena
- Aplikace vyvinutá v rámci projektu je pro tým zdarma. N¥které dal²í jiº existu-
jící aplikace jsou sice také zdarma, ale k jejich pouºití je pot°eba zakoupit HW (hardware), který je draº²í neº ten, který je v týmu speciáln¥ pro formuli vyvíjen.
Body v sout¥ºi
- Jak jsem jiº nastínil v úvodní kapitole, body v sout¥ºi se získávají
mimo jiné za vlastní °e²ení. Zakoupením jiº hotové v¥ci by tým o tyto body p°i²el. Z t¥chto d·vod· bude k formuli pouºit mnou vytvo°ená aplikace.
18
Kapitola 3 Cíle vytvá°ené aplikace Tato práce se bude zabývat následujícími body Prostudovat moºnosti sb¥ru a zobrazení r·zných typ· technicky m¥°ených dat v projektu Formula Student Electric, jako jsou nap°íklad: rychlost jízdy, otá£ky motoru, teploty kol atd. Jde tedy o to seznámit se s dostupnými SW pro sb¥r a zobrazení dat ze závodních voz·. P°ehled existujících SW °e²ení byl jiº stru£n¥ vypracován v p°edchozí kapitole. Dále je cílem navrhnout vhodnou reprezentaci pro ukládání vý²e zmín¥ných typ· dat s ohledem na jejich snadnou vizualizaci. Ve formuli budou m¥°eny r·zné veli£iny, které budou reprezentovány r·znými datovými typy. Je tedy nutné, aby bylo moºné ukládat v²echny tyto veli£iny. Zárove¬ bude kladen d·raz na moºnost budoucího roz²í°ení souboru ukládaných dat o dal²í m¥°eno veli£iny v p°ípad¥, ºe do formule bude instalován nový senzor. Na základ¥ poznatk· z prvního bodu navrhnout vhodnou SW komponentu, která si klade za hlavní následující cíle:
Umoºnit ukládání r·zných typ· dat
- Jde o to aby aplikace byla dostate£n¥ uni-
verzální, co se tý£e datových typ·, aby bylo moºné uloºit jakékoliv veli£iny m¥°ené ve formuli.
Umoºnit budoucí roz²í°ení o dal²í m¥°ené veli£iny
- Do formule budou £asem
instalovány nové senzory. Pro tento p°ípad nebo pro p°ípad vým¥ny stávajícího senzoru za senzor jiného typu (výrobce) bude uºite£né, kdyº SW komponenta bude toto roz²í°ení nebo zm¥nu umoº¬ovat.
Vizualizovat nam¥°ená data
- Formou grafu nebo p°ehledné tabulky budou zobra-
zována nam¥°ená data.
19
Umoºnit budoucí roz²í°ení aplikace o nové funkce
- Program by m¥l být dosta-
te£né modulární, aby jej bylo v budoucnu moºné roz²í°it o dal²í funkce.
Být multiplatformní
- D·leºitou vlastností aplikace je to, aby byla spustitelná na
r·zných OS, jako nap°íklad: Windows, Linux, Mac. Cílem není vytvo°it náhradu za jiº existující profesionální SW, ale vytvo°it SW takový, který bude spl¬ovat vý²e zmín¥né body. Ov¥°ení správné £innosti vytvo°ené SW komponenty bu¤ na reálných, nebo simulovaných datech. A zhodnocení vhodnosti vytvo°ené SW komponenty pro cílový projekt na základ¥ prvotního testování. Práce se tedy nezabývá samotným m¥°ením dat ani jejich p°enosem £i zabezpe£ením. Cílem rovn¥º není vytvo°it HW k m¥°ení £i ukládání dat, nebo´ datalogger pro ukládání v²ech m¥°ených dat ve formuli je jiº v rámci týmu vyvíjen. Mnou vytvo°ená aplikace s ním v²ak bude kompatibilní.
20
Kapitola 4 Návrh °e²ení Tato kapitola se zabývá návrhem celé aplikace od vnit°ní struktury programu p°es reprezentaci m¥°ených veli£in v aplikaci po
GUI
(gracal user interface gracké uºivatelské
rozhraní) a zobrazování nam¥°ených dat v£etn¥ graf·. P°i návrhu °e²ení bude kladen d·raz p°edev²ím na univerzálnost aplikace, co se tý£e po£tu a druhu m¥°ených veli£in a na p°enositelnost aplikace mezi r·znými OS.
4.1
Návrh struktury aplikace
Struktura aplikace by se dala rozd¥lit do n¥kolika £ástí, které jsou zobrazeny ve schématu 4.1 na stran¥ 22 a v dal²ím textu budou podrobn¥ji rozebrány.
DLG Datalogger zaznamenávající data ve²kerá nam¥°ená data ve formuli. Jeho návrh a °e²ení není p°edm¥tem této práce, ale pro zde navrhovanou aplikace je pot°ebná znalost zp·sobu jeho komunikace. Datalogger bude intern¥ ve²kerá nam¥°ená data ukládat na SD kartu do textového souboru.
INPUT V této £ásti budou p°icházet data ze souboru do aplikace. Aplikace bude £íst data ze souboru ve formátu zobrazeném na obrázku 4.2 na stran¥ 23. Na °ádku budou vºdy v²echny hodnoty m¥°ených veli£in vstejném £ase. Za£átek kaºdého °ádku bude tedy za£ínat
sem
, dále následuje
znaku
#
ID
m¥°ené veli£iny a poté její
hodnota
. Následují dal²í veli£iny aº do
, tedy konce °ádku. Jednotlivé poloºky jsou odd¥leny odd¥lova£em
dat je £ást
INPUT
ode²le pro dal²í vyhodnocení.
21
£a-
;
. Po na£tení
Obrázek 4.1: Návrh struktury aplikace
DB V této £ásti bude uloºena tabulka 4.1 m¥°ených veli£in, která bude mít dv¥ funkce. Nejprve dojde k rozpoznání veli£iny podle
ID
. Dále podle druhu veli£iny dojde ke kontrole,
zda je její hodnota v povoleném intervalu. Pokud nebude v o£ekávaném intervalu, hodnota se prohlásí za neplatnou a nebude se s ní dále pracovat. Pokud bude hodnota intervalu vyhovovat, budou data p°edána do £ásti
SAVE
, kde budou ukládána.
Druhou funkcí této £ásti bude dopl¬ování pot°ebných údaj· z tabulky 4.1 na stran¥ 23 k nam¥°eným veli£inám. P·jde nap°íklad o zji²t¥ní, jestli hodnota m¥°ené veli£iny p°ekro£ila stanovenou kritickou mez, procentuální hodnotu nam¥°ené veli£iny z maxim, jednotky m¥°ených veli£in a apod. Tyto informace budou zasílány do
GUI
teprve na jeho ºádost.
Nebudou tedy zbyte£n¥ zpracovávána, pokud nebudou pot°eba. Tím dojde k urychlení
22
Obrázek 4.2: Formát dat vsupujících do aplikace
ID Name 1
Units Type Min Max Ok Ok Warn Warn Crit Crit Min Max Min Max Min Max
Otá£ky
RPM
int
0
6000
0
4000
-1
4500
-2
4500
RPM
int
0
6000
0
6000
-1
6001
-2
6002
RPM
int
0
6000
0
6000
-1
6001
-2
6002
RPM
int
0
6000
0
6000
-1
6001
-2
6002
RPM
int
0
6000
0
6000
-1
6001
-2
6002
o
C
double -40
200
10
60
-5
80
-5
80
o
C
double -40
200
10
80
-5
100
-5
100
o
C
double -40
200
10
70
-5
90
-5
90
motoru 2
Otá£ky LP kola
3
Otá£ky PP kola
4
Otá£ky LZ kola
5
Otá£ky PZ kola
6
Teplota motoru
7
Teplota m¥ni£e
8
Teplota baterií
9 10
GPS-N
o
String
-
-
-
-
-
-
-
-
GPS-E
o
String
-
-
-
-
-
-
-
-
Tabulka 4.1: P°ehled známých m¥°ených dat
procesu zpracování dat a do pam¥ti nebudou zbyte£n¥ ukládána data navíc.
ID jméno jednotky datový typ minimální maximální minimální maximální b¥ºných minimální maximální varovných minimální maximální kritických V prvním sloupci tabulky je m¥°ené veli£iny,
, pod kterým bude daná veli£ina vedena. Dále následuje , ve kterých je hodnota udána,
pro reprezentaci hodnoty této veli£iny, zoru, dále
a
hodnota do které je daná veli£ina ve
a
pouºitý
hodnota z rozsahu sen-
hodnota, pro kterou je daná veli£ina v
a
a nakonec
a
mezích,
mezích
hodnota od které je hodnota veli£iny v
mezích
SAVE Tato £ást bude slouºit k ukládání nam¥°ených dat, která projdou kontrolou v £ásti Podle informací z
DB
DB
.
dojde k uloºení dat do správného datového typu podle typu m¥°ené
23
veli£iny. Uloºené veli£iny budou dále p°edávány do
GUI
. Návrhem vhodné reprezentace
pro ukládání nam¥°ených dat se budu podrobn¥ji zabývat v dal²í £ásti této kapitoly.
GUI Gracké uºivatelské rozhraní bude zobrazovat nam¥°ená data, která bude získávat z £ásti
SAVE
a dále dopl¬ující informace, které bude získávat z
DB
. Data budou zobrazována
jak ve form¥ tabulek, tak ve form¥ graf·. P°ípadn¥ speciálních komponent jako je rychlom¥r nebo otá£kom¥r. Dále zde budou prvky pro ovládání aplikace. Návrh podrobn¥ji rozebrán dále.
4.2
GUI
bude
Volba programovacího jazyka
V dne²ní dob¥ je na výb¥r z velkého mnoºství programovacích technologií a tedy i jazyk·. Nap°íklad
C/C++ Java .NET Framework ,
,
. Tato aplikace by mohla být napsána
v podstat¥ v jakémkoliv programovacím jazyce, ale vzhledem k tomu, ºe aplikace by m¥la být multiplatformní, rozhodl jsem se napsat ji vjazyce Java. Aplikaci tak nemusím p°episovat pro r·zné OS, ale mohu ji napsat jen jednou a bude spustitelná na r·zných OS. Nap°íklad
C#
vytvo°ený pro
.NET
je sice vn¥kterých sm¥rech výkonn¥j²í, ale není
dostate£n¥ multiplatformní. K volb¥ jazyku ostatní aplikace vytvá°ejí v
Jav¥
Java
mne také vedl fakt, ºe v týmu se i
a je dobré dodrºet ur£itou jednotnost a zvyklosti. Pro
dal²í vývoj aplikace bude výhodné, ºe se ostatní £lenové týmu s jazykem Posledním d·vodem, pro£ jsem si programování v jazyce
Java
Java
Javu
Java
jiº setkali.
vybral, je ten, ºe b¥hem studia probíhala výuka
a tak mi není cizí. Mezi vlastnosti programovacího jazyka
mimo multiplatformnost pat°í také moºnost objektov¥ orientovaného programování
zahrnující nap°íklad d¥di£nost, zapouzd°ení, díky kterému £emuº je kód p°ehledn¥j²í.
4.3
Návrh reprezentace pro ukládání dat
P°i návrhu reprezentace pro ukládání dat bude kladen d·raz na její univerzálnost, aby mohly být ukládány r·zné typy dat. Dále bude d·leºité umoºnit zm¥nu struktury souboru ukládaných dat, který se bude m¥nit nap°íklad zm¥nou pouºitých senzor· ve formuli. M¥°ená data mohou mít r·zný datový typ (celé £íslo, desetinné £íslo, text), dále je nutné, aby kaºdá veli£ina u sebe m¥la sou£asn¥ £as nam¥°ení, svoji hodnotu a také id, podle kterého budou ur£ovány dal²í parametry. Vytvo°ím si tedy vlastní objekt, který bude vý²e zmín¥né parametry obsahovat. Abych mohl univerzáln¥ ukládat r·zné datové typy, vyuºiji d¥di£nosti. Vlastní °e²ení má výhodu v tom, ºe tyto objekty budou p°esn¥ spl¬ovat poºadavky a bude umoºn¥no jejich p°ípadné budoucí roz²í°ení. Na obrázku 4.3 na stran¥ 25 je zobrazeno schéma reprezentace ukládání dat. Ukládání dat je uskute£n¥no pomocí
24
ArrayListu ListData
, který je typu
Obrázek 4.3: Navrhovaná reprezentace pro ukládání dat
DataBase DataBase id valueInString dateTime id valueInString dateTime DataByte DataInteger DataDouble DataString DataBase DataBase .
obsahuje základní poloºky
,
p°edstavuje identikaci m¥°ené veli£iny a
v £ase
a
. Kde
je hodnota nam¥°ené veli£iny
av²ak vyjád°ena vtextovém °et¥zci.
,
,
a
jsou potomci t°ídy
a krom¥ spole£ných prom¥nných z
mají kaºdá hodnotu prom¥nné svého da-
tového typu.
4.4
4.4.1
Návrh GUI (hlavní dialog aplikace)
Hlavní okno
Hlavní okno se bude skládat z n¥kolika £ástí, které jsou zobrazeny na obrázku 4.4 na stran¥ 26.
Ovládací prvky okna Zde bude umíst¥n název aplikace a ovládací prvky okna (standardn¥ minimalizovat, maximalizovat a zav°ít).
Menu Menu Nápov¥da
bude obsahovat n¥kolik poloºek . Poloºka
Data
Data M¥°ení Správa HW Nastavení Správa HW ,
,
,
,
bude obsahovat moºnosti na£tení a uloºení dat. V m¥°ení
budou volby procházení a ukon£ení m¥°ení.
25
bude zahrnovat moºnosti pro
Obrázek 4.4: Navrh hlavního okna
kontrolu HW ve formuli. V
nastavení
se bude nastavení aplikace. A v
moºnost zobrazení návodu k programu a informací o programu.
nápov¥d¥
bude
Li²ta záloºek V této £ásti bude p°epínání záloºek, které budou p°epínat hlavní £ást okna. Nap°íklad jedna záloºka bude pro zobrazení v²ech nam¥°ených dat, dal²í záloºka zobrazí jen ty nejd·leºit¥j²í data, dal²í bude slouºit k zobrazení graf·.
Hlavní £ást okna V hlavní £ásti okna bude zobrazen obsah vybraný na záloºce nap°íklad tabulka v²ech dat nebo grafy. Obsah i rozloºení této £ásti se bude m¥nit v závislosti na zobrazované záloºce.
Stavová li²ta Na stavové li²t¥ bude zobrazen sou£asný stav aplikace, jako nap°íklad, zpracovávám data, ok, chyba apod.
4.4.2
Vedlej²í okna
Vedlej²í okna budou pouºita pro vypisování dialog· a pro zobrazování graf·. Zachovám tak zvyklost z
Matlabu
, kde se grafy zobrazují v novém okn¥. Dal²í v¥cí, která se bude
zobrazovat ve vedlej²ím okn¥ bud návod k programu a informace o aplikaci. Dále pak budou vytvá°ená vedlej²í okna pro výb¥r na£tení a uloºení do souboru.
4.5
Vykreslování graf·
Vykreslování graf· hraje v mojí aplikaci velmi významnou roli. Proto bude kladen d·raz na p°ehledné vykreslení r·zných typ· graf·. Pro vykreslení grafu mám n¥kolik moºností,
26
které budou v následujícím textu podrobn¥ji popsány.
4.5.1 Vyuºití
Pouºití Excelu £i podobného kancelá°ského nástroje
Excelu
nebo jiné podobné aplikace se zdá býti výhodné, protoºe °e²ení vykreslování
by se p°esunulo na aplikaci, která jiº grafy vykresluje spolehliv¥. Nevýhodou je nutnost mít tuto aplikaci nainstalovanou a to m·ºe omezovat uºivatele. Navíc aplikace by m¥la být multiplatformní a
Excel
není podporován na
Linuxu
. Dal²í nevýhodu je ta, ºe jde o placený
OpenOce Calc Windows Mac
program a ne kaºdý v týmu ho má. K dispozici je ale tabulkový editor
LibreOce Calc
, tyto programy jsou dostupné jak na
Linux
, tak na
£i
tak na
.
Jejich velkou výhodou je ta, ºe jsou voln¥ dostupné. Stále je ale nutné mít nainstalovanou dal²í aplikaci kv·li tomu, aby se graf zobrazil. Tato varianta tedy není vhodná pro hlavní zobrazení graf· v aplikaci, ale mohla by být pouºita jako vedlej²í moºnost zobrazení graf· p°i pozd¥j²í analýze dat. Tuto moºnost rovn¥º nelze pouºít pro realtime zobrazení grafu. Takto lze zobrazit data aº po nam¥°ení. Pouºitím této moºnosti by se tedy program stal závislý na instalaci jiného software a nebylo by moºné pouºít ho k realtime analýze.
•
+ vyuºití existujícího °e²ení zobrazení graf·
•
- závislost na instalaci jiné aplikace
•
- znemoºn¥ní realtime zobrazování graf·
4.5.2
Vytvo°ení soubor pro MATLAB a v n¥m zobrazit grafy
Pro vyuºití
Calc
Matlabu
platí stejná omezení jako pro pouºití
LibreOce Calc OpenOce £i
. Výhodou tohoto °e²ení je, ºe vytvo°ené grafy jsou velmi kvalitní, lze je jednodu²e
upravovat a prohlíºet. Po pochopení syntaxe
Matlabu
jde o jednoduchou moºnost vy-
kreslení graf·. Je to ale dal²í aplikace, kterou by bylo nutné mít nainstalovanou. I kdyº jde o aplikaci, kterou pouºívá v¥t²ina týmu a je dostupná pro
Windows Linux Mac Matlabu ,
i
, ale
p°esto není vhodné, aby jedna ze základních funkcí byla závislá na jiné aplikaci. V
lze grafy velmi dob°e prohlíºet a analyzovat, ale op¥t jde o °e²ení, které by neumoº¬ovalo p°ípadné zobrazování grafu v reálném £ase. Proto tuto moºnost nepouºiji pro hlavní zobrazování graf· v aplikaci, ale mohl bych ji pouºít jako dopl¬ující zobrazení graf·.
•
+ vyuºití existujícího °e²ení vykreslování graf·
•
+ kongurovatelnost graf·
•
- závislost na jiné aplikaci
•
- znemoºn¥ní telemetrie
•
- placený software (relativn¥ velká cena)
27
4.5.3
Vyuºití knihovny pro kreslení graf·
JFreeChart JFreeChart
je opensource knihovna pro vykreslování graf· v
Jav¥
. Je distribuována pod
licencí GNU LGPL (Lesser General Public License). Podmínky GNU LGLP jsou uvedeny v literatu°e [17]. Její velkou výhodou je schopnost zobrazit £etné druhy graf·. Tím ºe je to knihovna pro
Javu
, je umoºn¥no její spou²t¥ní na r·zných OS. Nevýhodou je to, ºe není
p°ímo ur£ena pro realtime vykreslování graf·. Ale je schopná p°ekreslovat grafy kaºdou vte°inu. Pro £ast¥j²í p°ekreslování je nutné knihovnu otestovat.Na obrázku 4.5 na stran¥ 28 je zobrazen p°ehled podporovaných graf·.
•
+ zdarma
•
+ multiplatformní °e²ení
•
+ velké mnoºství druh· graf·
•
- není ur£ena p°ímo pro realtime zobrazování graf·
Obrázek 4.5: P°ehled podporovaných graf· v JFreeChart
4.5.4
Vytvo°ení zcela vlastní komponenty pro kreslení graf·
Vytvo°ení zcela vlastní komponenty pro kreslení graf· má výhodu v tom, ºe si vykreslování graf· vytvo°ím p°esn¥ tak, jak pot°ebuji. Komponenta by tak mohla spl¬ovat v²echny poºadavky jak na vykreslení, tak na rychlost. Dále je toto °e²ení pouºitelné na r·zných OS a není závislé na instalaci jiného SW pro vykreslování dat. Na druhou stranu p·jde o
28
vyvíjení n¥£eho, co jiº existuje. Tato moºnost by také nebyla otestovaná jinými uºivateli jako je tomu nap°íklad v p°ípad¥ pouºití knihovny
JFreeChart
. Vlastní komponenta pro
kreslení graf· bude tedy implementována, pouze pokud nebude existovat jiné snaz²í °e²ení, které by bylo vhodné.
•
+ multiplatformní °e²ení
•
+ není pot°eba jiný SW
•
- m·ºe jít o vytvá°ení n¥£eho jiº existujícího
4.5.5
Zhodnocení
Vyuºití kancelá°ského nástroje jako je pouºití
Matlabu
Excel
nebo jiný podobný kancelá°ský nástroj £i
je pro mou aplikaci nevhodné hlavn¥ z d·vodu nutnosti pouºití jiného
SW pro umoºn¥ní jedné ze základních funkcí mého programu. Na druhé stran¥ by tato moºnost mohla být pouºita jako roz²i°ující funkce p°i vylep²ování aplikace. P°i testování knihovny
JFreeChart
jsem zjistil schopnost p°ekreslovat grafy aº desetkrát za
sekundu. Pro popisovaný projekt je pro p°ípadnou telemetrii dosta£ující rychlost p°ekreslení grafu p°ibliºn¥ jednou za sekundu a tak je rychlost dosaºená p°i m¥°ení i s rezervou pouºitelná. Testování probíhalo na p°ibliºn¥ stejném objemu dat, který bude pouºit p°i m¥°ení ve formuli a na stroji s podobným výpo£etním výkonem. Vzhledem k tomu, ºe jsem nalezl knihovnu / komponentu, která spl¬uje poºadavky pro vykreslení graf·, rozhodl jsem ji pouºít. Pokud bych vytvá°el vlastní °e²ení pro zobrazení graf·, byla by to tedy do velké míry vytvá°ení n¥£eho, co jiº existuje a vpodstat¥ posta£uje. A kv·li bohatým moºnostem knihovny
JFreeChart
bude umoºn¥no p°ípadné
budoucí vylep²ení moºností zobrazení graf· nap°íklad o dal²í typy graf·.
4.6
Vykreslování mapy
K vykreslení mapy z nam¥°ených GPS sou°adnic jsem se rozhodl vyuºít jiº existujícího a funk£ního °e²ení
Google Maps Google Earth £i
. Rozhodl jsem se na základ¥ toho,
ºe toto °e²ení je pro mou aplikaci vyhovující. B¥hem jízdy formule se budou sledovat mnohem d·leºit¥j²í data, neº pozice na map¥. Dal²í d·vod je ten, ºe uºivatelé jsou jiº zvyklí na aplikaci
Google Maps Google Earth £i
, která je jiº otestovaná mnoha uºivateli a
*.kml soubor, který bude Tento *.kml soubor bude poté
pracuje spolehliv¥. Abych mohl vyuºít tyto aplikace, vytvo°ím obsahovat v²echna pot°ebná data pro vykreslení mapy. nahrán do
Google Maps Google Earth £i
, kde dojde k zobrazení mapy.
29
Kapitola 5 Popis °e²ení ukládání dat databáze známých veli£in na£ítání dat ovládací £ást GUI grafy dal²í funkce vytvo°ení spustitelného souboru
e²ení bych rozd¥lil do n¥kolika £ástí ,
,
,
,
,
,
,
. Tyto jednotlivé £ásti budou v následujícím textu této kapitoly rozepsány po-
drobn¥ji.
5.1
Ukládání dat
Pro ukládání dat v aplikaci jsem si vytvo°il vlastní reprezentaci dat, abych mohl p°ijímaná data ukládat v pot°ebném formátu. Vyuºívám p°itom vhodn¥ d¥di£nosti, kdy mám abstraktní t°ídu DataBase, která 3 abstraktní metody.
getID() getValueString() getDateTime()
vrací ID veli£iny hodnota veli£iny v textové podob¥
datum a £as zm¥°ení veli£iny
V²echny tyto metody jsou pod¥d¥ny a p°ekryty (override) ve t°ídách tující veli£iny typu byte,
DataInteger
DataByte DataDouble reprezen-
reprezentující veli£iny typu integer,
reprezentující veli£iny typu double a t°ídu
DataString
reprezentující jednak textové ve-
li£iny a jednak veli£iny, které je²t¥ nejsou v databázi známých veli£in. Kaºdá z t¥chto t°íd má sv·j konstruktor, který vytvá°í instanci dané t°ídy s identika£ním £íslem veli£iny, datem a £asem zm¥°ení veli£iny a její hodnotou. Dále obsahuje kaºdá t°ída je²t¥ metodu vracející hodnotu dle svého skute£ného typu. P°íklad kódu ukázce 5.1 na stran¥ 31.
DataIntager
Listing 5.1: P°íklad t°ídy DataInteger 1
3
package datalogr ; import java . text . DateFormat ; import java . text . SimpleDateFormat ; 31
je uveden v
5
7
9
11
13
15
17
import java . util . Date ; public class DataInteger extends DataBase { // promenne tridy private int id ; private int value ; private Date dateTime ; // konstruktor DataInteger ( int id , int value , Date dateTime ){ // prirazeni hodnot promennym tridy this . id = id ; this . value = value ; this . dateTime = dateTime ;
19
} 21
// prekryti zdedenych metod @Override public int getID () { return id ; }
23
25
27
@Override public String getValueInString () { return String . valueOf ( value ); }
29
31
// vraceni hodnoty typu int public int getValue (){ return value ; }
33
35
37
39
} Tím mám tedy vy°e²ený problém s univerzálním datovým typem, nebo´ jsem tímto obsáhl v²echny datové typy, které budou p°i m¥°ení veli£in pouºity. A navíc mohu ukládat i neidentikované veli£iny neznámého typu jako stringové veli£iny. Dále jsem si vytvo°il
ArrayList ListData
typu
DataBase
do kterého ukládám ve²kerá
data. V tomto listu jsou metody pro vkládání prvku listu tedy objektu typu
32
DataBase
na konec seznamu a dále pro návrat prvku objekt typu seznamu.
5.2
DataBase
z ur£ené pozice v
Databáze známých veli£in
Jako databázi známých veli£in pouºívám 3 p°eddenované tabulky dvojrozm¥rné pole typu integer
numberInfo typeInfo
, dvojrozm¥rné pole typu string
pole typu byte
textInfo
a jednorozm¥rné
. Výhodou pouºití polí je jejich snadná editace, p°ípadn¥ roz²í-
°ení o dal²í m¥°ené veli£iny. Tyto t°i pole vytvá°ejí tabulku 4.1 23. K dat·m v tabulce se p°istupuje p°es index °ádku, který je totoºný s identika£ním £íslem dané veli£iny. Data na i-tém °ádku tedy odpovídají dat·m veli£iny s
ID
= i.
intInfo Zde jsou postupn¥ ve sloupcích ve²keré £íselné informace (min, max, kritická hodnota apod.) o dané veli£in¥.
textInfo V poli textInfo jsou uleºeny informace o názvu m¥°ené veli£iny a její jednotce.
typeInfo íslo 1 aº 4 zna£í, zdali je daná veli£ina typu byte (1), integer (2), double (3) nebo String £i neznámá veli£ina (4). Dále jsou v této t°íd¥ metody k navrácení pot°ebných údaj· z tabulky. Jejich p°ehled je uveden v ukázce kódu 5.2 na stran¥ 33. Listing 5.2: P°ehled metod k vracení údaj· z DB
2
4
6
8
public int getMin ( int id ){ // vrati minimum id return numberInfo [ id ][0]; } public int getMax ( int id ){ // vrati maximum podle zadaneho id return numberInfo [ id ][1]; }
10
12
public int getOkMin ( int id ){ // vrati spodni hranici obvykleho rozsahu podle zadaneho id 33
14
16
18
}
return numberInfo [ id ][2];
public int getOkMax ( int id ){ // vrati vrchni hranici obvykleho rozsahu podle zadaneho id return numberInfo [ id ][3]; }
20
22
24
26
28
public int getWarnMin ( int id ){ // vrati varovnou spodni hranici zadaneho id return numberInfo [ id ][4]; } public int getWarnMax ( int id ){ // vrati varovnou vrchni hranici zadaneho id return numberInfo [ id ][5]; }
30
32
34
36
38
public int getPercentCrit ( int id , double value ){ // vrati % hodnotu dosazeni kritickeho bodu zadaneho id return ( int ) (100* value / numberInfo [ id ][7]); } public String getName ( int id ){ // vrati nazev veliciny podle zadaneho id return textInfo [ id ][0]; }
40
42
44
46
48
public String getUnit ( int id ){ // vrati jednotku veliciny podle zadaneho id return textInfo [ id ][1]; } public byte getTypeInfo ( int id ){ // vrati typ veliciny podle zadaneho id return typeInfo [ id ]; } Data do aplikace jsou na£tena ze souboru. K tomu byl pouºit zárove¬ parsována. Nejd°íve se p°e£te se na£ítají
id
veli£in a jejich
hodnoty
£as
Scanner
, kterým jsou data
, který se uloºí do do£asné prom¥nné a následn¥
, které se ukládají také do do£asných prom¥nných a
ze v²ech do£asných prom¥nných se poté data uloºí do
ArrayListu
ve formátu
DataBase
.
Na£ítání dat obsahuje 2 módy, jeden mód je pro na£ítání dat ze souboru a druhý bude v
34
budoucnu vyuºit pro telemetrii.
5.3
Ovládací £ást
Tato £ást °ídí b¥h celého programu, v této £ásti je hlavní t°ída
Datalogr
mého pro-
gramu, která je spustitelná a podle pot°eby spou²tí dal²í £ásti. Nejprve se vytvo°í instance hlavní t°ídy
dlg
, která se p°edává ostatním t°ídám jako parametr a pomocí ní probíhá
komunikace ve²kerých ostatních £ástí programu. Seznam metod ve t°íd¥ tabulce 5.1 na stran¥ 35 spole£n¥ s popisem, co která funkce d¥lá.
Metoda init()
Popis Vytvo°í instanci
dlg
t°ídy
Datalorg
Datalogr
je v
a dále
vytvo°í dal²í pot°ebné instance k pozd¥j²ímu b¥hu programu. Spustí rovn¥º metodu
kresliHlavniOkno()
.
vykresliHlavniOkno()
Ihned
po
spu²t¥ní
instance
dlg
vy-
vykreslí
hlavní okno aplikace, p°es které je aplikace
kresliGraf(String str, ListListGraf llg) nactiData()
dále ovládána. Vykreslí graf, který obsahuje v²echny pr·b¥hy jako
ListListGraf
.
Na£ítá data ze souboru do aplikace. Zárove¬ má i druhý mód, který bude v budoucnu vyuºit pro telemetrii.
exportujData() spustSimulaci() vytvorMapu()
Exportuje data do poºadovaného formátu souboru. Spou²tí simulace telemetrie. Z GPS dat vyexportuje
Google Maps
po nahrání do
Earth
*.kml
soubor, který £i do
zobrazí mapu a trasu jízdy.
Google
Tabulka 5.1: Seznam metod v ovládací £ásti
V ostatních t°ídách se pouºívá instance
dlg
této t°ídy, díky které je umoºn¥no pouºívat
v ostatních t°ídách metody z této t°ídy a ovládat tak program.
5.4
GUI
Ke tvorb¥
GUI
jsem pouºil standardní knihovny
swing awt GUI a
.
díl£ích £ástí, které budou v následujícím textu podrobn¥ji popsány.
35
se skládá z n¥kolika
5.4.1
GUI
Hlavní okno
je z velké £ásti tvo°eno t°ídou
HlavniOkno JFrame
, která je nejrozsáhlej²í t°ídou co se
tý£e po£tu °ádek kódu. Je potomkem t°ídy
, a obsahuje
ActionListener
. Je na-
vrºeno tak, aby se zobrazovalo vºdy ve stejném pom¥ru obrazovky p°i r·zných rozli²ení monitoru. Jeho defaultní velikost je nastavena na 1000 x 600 px. Hlavní okno je vytvo°ené podle jiº d°íve uvedeného návrhu na obrázku 4.4 26. Obsahuje tedy ovládací prvky okna, o které se stará Java a tak jsou vytvo°eny podle zvyklostí a nastavení OS, na kterém aplikace b¥ºí. Ostatní £ásti jsem jiº vytvá°el sám. Ve vrchní £ásti okna se nachází menu. K jeho vytvo°ení jsem pouºil prvky
JMenu Data
, které v sob¥ má poloºky
V menu
M¥°ení
.
JMenuBar()
jsou poloºky pro na£tení/uloºení dat ve form¥
bor) a dále poloºky pro Menu
JMenuItem
, jenº obsahuje
Java
objektu (binární sou-
Import Export Zahájení Pozastavení Ukon£ení a
dat z/do ur£eného formátu.
obsahuje poloºky pro
,
a
realtime m¥-
°ení dat, které v sou£asné verzi aplikace slouºí k demonstraci funk£nosti aplikace a ne k m¥°ení, nebo´ formule je²t¥ není dokon£ena a stejn¥ tak není je²t¥ dokon£en m¥°ící HW. Dal²í menu
Správa HW
se skládá z poloºek pro správu vý²e uvedených elektronických
sou£ástí formule. V menu
Nastavení
jsou poloºky pro nastavení druhu a velikosti písma, tlou²´ky £ar
graf· a zobrazovaných záloºek. Jednotlivé poloºky je moºné nastavit bu¤ ru£n¥ anebo vyuºít n¥které z nabízených p°edvoleb. Poslední menu
Nápov¥da
obsahuje nápov¥du k aplikaci a informace o programu.
V²echny poloºky mají p°i°azen sv·j
ActionListener ActionCommand a
pro vyvo-
lání akce po jejich stisku a ve v¥t²in¥ p°ípad· mají p°i°azenu i klávesovou zkratku pro pohodln¥j²í ovládání. Krom¥ poloºek v £ásti M¥°ení, se v²echny akce otevírají ve vedlej²ím okn¥. V p°ípad¥ menu
Data
dojde k otev°ení
JFileChooser
. V ostatních p°ípadech
jde o mnou vytvo°ené vedlej²í okno, které obsahuje pot°ebné komponenty. Vedlej²í okna budou probrána pozd¥ji.Vytvá°ení menu je popsáno na p°íkladu v ukázce 5.3 na stran¥ 36. Listing 5.3: Vytvá°ení menu 1
3
5
. . . // lista s menu mb = new JMenuBar (); 36
7
9
11
13
15
17
19
21
23
25
27
29
31
33
35
37
// menu JMenu menu ; // polozka menu JMenuItem mi ; // menu Data menu = new JMenu ( " Data " ); // polozka exportovat do CSV mi = new JMenuItem ( " exportovat do CSV " ); // nastaveni ActionCommand mi . setActionCommand ( " exportToCSV " ); // Nastaveni klavesove zkratky mi . setAccelerator ( KeyStroke . getKeyStroke ( KeyEvent . VK_E , KeyEvent . CTRL_DOWN_MASK )); // pridani posluchace tlacitka mi . addActionListener ( this ); // p i d n p o l o k y exportovat do CSV do menu Data menu . add ( mi ); . . . // polozka importovat z CSV // stejny zpusob prace jako v predchozi polozce mi = new JMenuItem ( " importovat z CSV " ); mi . setActionCommand ( " importFromCSV " ); mi . setAccelerator ( KeyStroke . getKeyStroke ( KeyEvent . VK_I , KeyEvent . CTRL_DOWN_MASK )); mi . addActionListener ( this ); menu . add ( mi ); . . . mb . add ( menu );
Layout okna Hlavní okno má
BorderLayout
, který je znázorn¥ný na následujícím obrázku. V n¥kte-
rých speciálních p°ípadech je pouºit je²t¥ vno°ený layout do hlavního Layout okna je znázorn¥n na obrázku g.layout na stran¥ 38.
37
BorderLayoutu
.
Obrázek 5.1: Rozvrºení a layout havního okna
Li²ta záloºek Dal²í £ástí je li²ta záloºek, kterou jsem vytvo°il pomocí záloºky jako
Jízda Data Grafy Mapa Souhrn ,
,
,
a
Listing 5.4: Li²ta záloºek
4
6
8
10
obsahujícího
. Náhled zdrojového kódu je v ukázce
5.4 na stran¥ 38.
2
JTabbedPane
. . . private JTabbedPane tp ; . . . // taby // nova zalozka tp = new JTabbedPane (); 38
12
14
16
// border layout BorderLayout bl = new BorderLayout (); // panel1 s borderlayoutem JPanel panel1 = new JPanel ( bl ); // popisek Jizda JLabel label1 = new JLabel (" Jizda " ); label1 . setFont ( new Font (" Tahoma " , Font . BOLD , 20));
18
// prida nadpis do horni casti panel1 . add ( label1 , bl . NORTH );
20
22
24
26
28
// prida zalozku Jizda s panelem1 do tabbed pane tp . addTab ( " Jizda " , panel1 ); // prida tabbed pane do okna this . add ( tp ); . . .
Hlavní £ást okna V této £ásti se zobrazuje vybraná záloºka. Kaºdá uvnit° obsahuje stejný hlavní layout,
JTabbedPane BorderLayout JTabbedPane SOUTH
do kterého je v p°ípad¥ pot°eby vno°en dal²í. Do
JPanely panel1 panel2 NORTH (
,
. . . ), které mají
, jsou vloºeny jednotlivé
. V²e je znázorn¥no na obrázku
5.1 na stran¥ 38. Kliknutím na záloºku se rozev°e daný panel z je zobrazen nadpis zvoleného panelu, v £ásti
. V £ásti
se nachází stavová li²ta.
Do ostatních £ástí jsou podle pot°eby vkládány dal²í komponenty, p°ípadn¥ dal²í layouty.
Stavová li²ta Stavová li²ta je umíst¥na ve spodní £ásti hlavního okna a informuje o aktuálním stavu aplikace nápisem
JLabel
. Tabulka 5.2 na stran¥ 40 uvádí p°ehled stav· spole£n¥ s popisem.
Vyhodnocení stisku tla£ítka Kaºdému tla£ítku jsem p°i°adil
ActionListener ActionCommand actionPerfored() a
jako parametr do vyhodnocovací metody
, který se p°edává
. Ta podle p°ijatého parame-
tru jednozna£n¥ ur£í, jaké tla£ítko bylo stisknuto a vyvolá pot°ebnou událost £i funkci. Zdrojový kód je v ukázce 5.5 na stran¥ 39. Listing 5.5: Vyhodnocení stisku tla£ítka
mi = new JMenuItem (" exportovat do CSV " ); 39
Stav
Popis
P°ipraven
V²e v po°ádku, za°ízení k m¥°ení je p°ipojené a m·ºe být zahájeno realtime m¥°ení.
Nep°ipojeno
Nebylo p°ipojeno ºádné za°ízení, a tak nem·ºe být zahájeno realtime m¥°ení.
M¥°ení
Probíhá realtime m¥°ení.
Simulace
Probíhá simulace realtime m¥°ení.
Import
Na£ítají se data do aplikace ze souboru.
Export
Ukládají se data z aplikace do souboru.
Vykresluji graf
Dochází k vykreslování grafu.
Správa HW
Dochází ke správ¥ HW
Error XX
Do²lo k chyb¥ XX Tabulka 5.2: P°eled stav· stavové li²ty
2
4
6
8
10
12
14
16
18
// nastaveni ActionCommandu mi . setActionCommand ( " exportToCSV " ); mi . setAccelerator ( KeyStroke . getKeyStroke ( KeyEvent . VK_E , KeyEvent . CTRL_DOWN_MASK )); // pridani posluchace mi . addActionListener ( this ); menu . add ( mi ); . . . // vyhodnoceni stisku tlacitka @Override public void actionPerformed ( ActionEvent ae ) { // porovnani ziskaneho ActionCommandu se seznamem // znamych ActionCommandu if ( ae . getActionCommand ()== " exportToCSV " ){ // akce nasledujici po stisku tlacitka }
20
}
5.4.2
Vedlej²í okna
Vedlej²ích oken pouºívám ve své aplikaci n¥kolik. Jde o vedlej²í okno
Okno
.
40
JFileChooser Dialog ,
a vlastní
JFileChooser Toto okno slouºí k ukládání a na£ítání dat do/ze souboru. Uvnit° tohoto okna jsou zobrazeny sloºky a soubory v po£íta£i a dále obsahuje tla£ítka pro otev°ení/uloºení souboru.
JFileChooser
Jeho podoba je zachována ze systémových oken daného OS.
File Dialog jektu
vyuºívá ob-
, z kterého získává informace o vybrané sloºce £i souboru.
Toto okno je potomkem t°ídy parametr konstruktoru.
JDialog
a slouºí k vypsání p°íslu²ného dialogu pro zadaný
Okno Tento typ okna je op¥t potomkem t°ídy stejn¥ jako
Hlavní Okno
JFrame
a obsahuje
ActionListene
r. Chová se
, ale má v sob¥ mén¥ komponent a defaultn¥ má nastavenou
men²í velikost. Podle parametru v konstruktoru dojde k vytvo°ení okna s p°íslu²nými komponentami. Je pouºito nap°íklad k
Nastavení
nebo ke
Správ¥ HW
.
Vyhodnocení stisku tla£ítka Vyhodnocení stisku tla£ítka probíhá ve vedlej²ích oknech stejn¥ jako v Hlavním okn¥.
5.5
Grafy
Nejprve jsem si vytvo°il reprezentaci k ukládání dat, kterou budu pot°ebovat p°i vlastním vykreslování grafu a následn¥ jsem °e²il samotné vykreslení grafu. K samotnému vykreslení graf· jsem pouºil knihovnu
5.5.1
JFreeChart
.
Reprezentace ukládání dat grafu
Pro reprezentaci dat grafu jsem vytvo°il t°ídu
yList· list cas jmenoMereneVeliciny ListGraf jmenoMereneVeliciny Seznam metod
a
obsahuje
razována.
ListGraf
, která se skládá ze dvou
Arra-
reprezentující hodnotu nam¥°ené veli£iny a její £as. Dále tato t°ída nesoucí informaci o tom, jaká veli£ina je v grafu zob-
je tvo°en stejnojmenným konstruktorem, kterému se v argumentu
p°edává
.
V tabulce 5.3 na stran¥ 42 je uveden seznam metod t°ídy
ListGraf
.
Abych umoºnil zobrazení neomezeného po£tu pr·b¥h· jednotlivých veli£in, vytvo°il jsem
ArraList ListListGraf ListGraf
rovn¥º dal²í chozí
typu
, ale je tvo°en pouze jediným
ListGraf ArrayListem
41
, který pracuje obdobn¥ jako p°edtypu
ListGraf
.
Metoda
Popis
addToList(double d, double c)
Vloºení hodnoty
getSize()
Vrací velikost listu (po£tu poloºek).
getPrvek(int index)
Vrací hodnotu veli£iny v listu na pozici
getCas(int index)
Vrací £as zm¥°ení veli£iny v listu na pozici
getJmenoMereneVeliciny()
Vrátí prom¥nou
d
v £ase
c do listu
.
index index jmenoMereneVeliciny .
.
.
Tabulka 5.3: Seznam metod t°ídy ListGraf
Seznam metod V tabulce 5.4 na stran¥ 42 je uveden seznam metod t°ídy
ListListGraf
.
Metoda
Popis
addToList(ListGraf lg)
Vloºení
getSize()
Vrací velikost listu (po£tu poloºek).
getList(int index)
Vrací
ListGrafu ListListGrafu ListGrafu index ListListGrafu do
.
na pozici
v
. .
Tabulka 5.4: Seznam metod t°ídy ListListGraf
Graf JFrame Series series XYSeriesColection data ListGraf lg ListListGraf llg ListListGraf llg
T°ída pro vykreslení grafu / graf· ,
je potomkem t°ídy ,
struktor pak obsahuje nadpis okna a
a
Listing 5.6: Vytvá°ení grafu
3
5
7
9
11
13
15
XY-
. Její kon-
. Zdrojový kód je v ukázce 5.6 na
stran¥ 42.
1
a je tvo°ena
. . . public class Graf extends JFrame { // promenne XYSeries series ; XYSeriesCollection data ; ListGraf lg ; ListListGraf llg ; // konstruktor public Graf ( String title , ListListGraf llg ){ // nastavi titulek okna a nacte promenne super ( title ); this . llg = llg ; data = new XYSeriesCollection ( series ); 42
// projde vsechny listy z ListListGrafu for ( int i = 0; i < llg . getSize (); i ++) {
17
// ziska list - ListGraf lg = llg . getList (i ); series = new XYSeries ( lg . getJmenoMereneVeliciny ());
19
21
for ( int j = 0; j < lg . getSize (); j ++) { // postupne projde cely list a prida vsechny // jeho polozky do prubehu series . add ( lg . getCas ( j ) , lg . getPrvek ( j ));
23
25
27
} // prida do grafu vsechny prubehy data . addSeries ( series ); } // vytvori graf final JFreeChart chart = ChartFactory . createXYLineChart ( title , "X", "Y", data , PlotOrientation . VERTICAL , true , true , false ); // vytvori panel do ktereho vlozi graf final ChartPanel chartPanel = new ChartPanel ( chart ); chartPanel . setPreferredSize ( new java . awt . Dimension (500 , 270)); setContentPane ( chartPanel ); // akce po kliknuti na krizek - zavreni okna , ale hlavni // program bezi dal setDefaultCloseOperation ( DISPOSE_ON_CLOSE ); }
29
31
33
35
37
39
41
43
45
47
49
51
}
43
5.6
Dal²í funkce
5.6.1
Grafy tachometry, budíky
Mezi dal²í funkce °adím grafy v podob¥ tachometr· a budík·. Ty budou souºit k zobrazení aktuální hodnoty nap°íklad rychlosti £i otá£ek motoru p°i realtime m¥°ení dat £i p°i jeho simulaci. K tomuto typu grafu jsem vytvo°il t°ídu
JPanel
TachoGraf
, která je potomkem t°ídy
. Tento typ grafu slouºí pro snadnou a rychlou orientaci vzobrazované veli£in¥.
5.6.2
Grafy teplom¥ry
Jízda ThermometerGraf
Tyto grafy jsou zobrazeny v záloºce
stejn¥ jako tachometry. Budou zobrazovat
aktuální teplotu nap°íklad motoru p°i realtime m¥°ení dat £i p°i jeho simulaci. Pro jeho reprezentaci jsem vytvo°il t°ídu
nel
.
5.6.3
Mapa
K vytvo°ení mapy vyuºiji jiº existující °e²ení GPS sou°adnic vygeneruji v
, která je také potomkem t°ídy
JPa-
Google Maps Google Earth £i
. Z nam¥°ených
*.kml soubor, který bude p°i pot°eb¥ zobrazení mapy zobrazen
Google Maps Google Earth
5.7
£i
.
Vytvo°ení spustitelného souboru
Spustitelný soubor
*.jar jsem vytvo°il pomocí vývojového prost°edí
NetBeans
, ve kterém
jsem aplikaci programoval. K vytvo°ení spustitelného souboru sta£í pouºít funkci
Main Projekt
v menu
Run
Build
. K tomu musí být jako Main Projekt nastavený projekt, ze
kterého se má vytvo°it spustitelný soubor. Po pouºití této funkce je výsledný
*.jar
ve
NetBeansProjects.
sloºce XXNetBeansProjectsnázeva plikacedist.KdeXXjecestakesloce
44
Kapitola 6 Manuál k programu Instalace Pro moºnost spu²t¥ní programu je nutné mít nainstalován
JRE
(Java Runtime Enviro-
ment). Návod k jeho instalaci na r·zné OS je na webové adrese [16].
Spu²t¥ní Po instalaci
JRE
je jiº spu²t¥ní aplikace jednoduché, sta£í 2x kliknout na
*.jar
soubor.
Podstatnou výhodou této aplikace je multiplatformní a m·ºe tak být spu²t¥na nezávisle na platform¥. Po spu²t¥ní se zobrazí hlavní okno aplikace.
Popis hlavního okna Skute£né okno je zachycené na obrázku 6.1 na stran¥ 46. Hlavní okno se skládá z
Li²ty zloºek Hlavní £ísti li²t¥ záloºek hlavní £ásti Data Jízda Grafy a
. Na
je zobrazena poºadovaná dat, záloºka
Menu
,
se p°epíná mezi záloºkami, ve kterých
okna. Záloºka
zobrazí tabulku nam¥°ených
zobrazí tachometry z práv¥ probíhající jízdy/simulace, záloºka
zobrazí tabulku nejd·leºit¥j²ích dat a záloºka
Souhrn
slouºí k vykreslování r·zných graf·.
Na£tení dat Na£tení dat m·ºe probíhat n¥kolika zp·soby. Jedním z nich je na£tení dat ze souboru. Soubor m·ºe být typu
Java
*.txt, *.csv, *.xml
nebo mohou být na£teny p°ímo objekty z
v podob¥ binárního souboru. V tomto p°ípad¥ dojde k na£tení v²ech nam¥°ených
dat do aplikace najednou. Pro na£tení dat slouºí menu
Data
a v n¥m n¥která z nabídek na£tení dat.
Druhým zp·sobem je simulace realtime m¥°ení, které ukazuje, jak bude aplikace pracovat p°i telemetrii. K této moºnosti je menu
45
M¥°ení
, po zvolení poloºky
Za£ít
dojde k
Obrázek 6.1: Screenshot aplikace
zahájení simulace. Tla£ítko
Ukon£it
Pozastavit
slouºí k do£asnému zastavení simulace a tla£ítko
ukon£í na£ítání dat a celé m¥°ení.
Zobrazení tabulky dat K tomuto ú£elu slouºí záloºka
Data
data.
Souhrn Souhrn
nebo záloºka
tabulka v²ech nam¥°ených dat, v záloºce
. V záloºce
Data
je zobrazena
jsou zobrazena jen ta nejd·leºit¥j²í
Zobrazení graf· Pokud je zvolena simulace, tak lze pozorovat na záloºce
Jízda
aktuální hodnoty rychlosti
a teploty motoru. Pokud je simulace ukon£ena nebo pokud jsou data na£tena ze souboru, tak je v záloºce
Grafy
moºnost zvolit jaká veli£ina / veli£iny mají být znázorn¥ny v
grafu. Po kliknutí na tla£ítko Zobrazit graf dojde k zobrazení grafu v novém okn¥. Velkou výhodou je to, ºe m·ºe být sou£asn¥ v jednom grafu zobrazeno neomezené mnoºství pr·b¥h· r·zných veli£in.
Export dat Data mohou být exportována do n¥kterého z formát·, které jsou uvedeny v menu Po zvolení moºnosti se otev°e okno pro výb¥r místa uloºení.
46
Data
.
Nastavení V menu nastavení jsou poloºky pro nastavení písma, grafu a záloºek. U nastavení písma lze nastavit jeho velikost a druh fontu. U grafu lze zvolit nap°íklad ²í°ku £áry. U obou p°edchozích poloºek nastavení je také moºnost nastavení reºimu zobrazení, jako je nap°íklad prezentace (velkoplo²ná obrazovka) £i klasické. V poloºce záloºky se nastavuje, jaké záloºky mají být zobrazeny. Defaultn¥ jsou zobrazeny v²echny záloºky.
Nápov¥da V p°ípad¥ pot°eby m·ºe být vyvolána nápov¥da vybráním poloºky
Nápov¥da
F1 Nápov¥da
nebo stisknutím klávesové zkratky
Pro informace o programu je v menu okno s informacemi o programu.
. pod poloºkou
Nápov¥da
O programu
Seznam klávesových zkratek V tabulce 6.1 na stran¥ 47 je p°ehled klávesových zkratek aplikace.
Zkratka Akce CTRL+E
export dat do csv
CTRL+S
uloºení dat do binárního souboru
CTRL+I
import dat z csv
CTRL+O
otev°ení dat z binárního souboru
CTRL+A
vyvolání dialogu O programu
F1
vyvolání nápov¥dy Tabulka 6.1: P°eled klávesových zkratech pouºitých v aplikaci
47
v menu
otev°eno
Kapitola 7 Záv¥r Cílem této BP bylo prostudovat moºnosti sb¥ru a zobrazení r·zných typ· technických m¥°ených dat v projektu Formula Student Electric a seznámit se s dostupnými SW pro sb¥r a zobrazení dat ze závodních voz·. Dal²ím cílem bylo navrhnout vhodnou reprezentaci pro ukládání vý²e zmín¥ných typ· dat s ohledem na jejich snadnou vizualizaci. Zárove¬ byl kladen d·raz na moºnost budoucího roz²í°ení souboru ukládaných dat o dal²í m¥°ené veli£iny v p°ípad¥, ºe do formule bude instalován nový senzor. Dále pak m¥lo být umoºn¥no budoucí roz²í°ení o dal²í funkce a p°edev²ím m¥la být navrhovaná aplikace multiplatformní. Na základ¥ zku²eností získaných p°i prostudování dostupných moºností sb¥ru a zobrazení dat jsem navrhl vlastní aplikaci. Abych mohl vytvo°it multiplatformní aplikaci, zvolil jsem programovací jazyk
Java
. P°i návrhu vhodné reprezentace pro ukládání dat jsem
si odd¥lil statické a prom¥nné sloºky m¥°ených veli£in, abych optimalizoval jejich ukládání. Statické sloºky jsem vloºil do mnou vytvo°ené databáze tvo°ené t°emi tabulkami. Pro ukládání prom¥nných sloºek m¥°ených veli£in jsem vyuºil d¥di£nosti a
ArrayList·
a tím jsem vytvo°il univerzální reprezentaci pro ukládání dat, které nezáleºí na datovém
typu ukládané prom¥nné. Zárove¬ není tato reprezentace omezená svou velikostí a tak jsem umoºnil budoucí roz²í°ení o m¥°ené veli£iny. Propojením tabulek z databáze a reprezentace pro ukládání dat získám ve²keré pot°ebné informace pro vizualizaci nam¥°ených veli£in. Data jsou zobrazována ve form¥ graf· pomocí knihovny form¥ tabulky v
GUI
JFreeChart
a také ve
, které jsem odd¥lil od funk£ní £ásti a tak lze snadno aplikaci roz²í-
°it o dal²í funkce. Setkal jsem se s problémem p°i zobrazování r·zného po£tu pr·b¥h· v grafu. Pro jeho odstran¥ní jsem vyuºil
ArrayListu
obsahujícího seznamy dat k zobrazení
v grafu. Tento seznam je p°edáván grafu jako argument konstruktoru. Tím bylo docíleno moºnosti vykreslovat neomezený po£et pr·b¥h· do jednoho grafu. Poda°ilo se mi vytvo°it multiplatformní aplikaci, coº ºádná ze zkoumaných aplikací tohoto druhu nebyla, dob°e a rychle ukládá/zobrazuje data, dokáºe zobrazit i neomezený po£et pr·b¥h· grafu (kanál·), coº je funkce, kterou n¥které z porovnávaných SW neumoº¬ují. B¥hem testování aplikace pracovala tak, jak od ní bylo o£ekáváno a spl¬ovala poºadované
49
funkce soubor m¥°ených veli£in m·ºe být bez problém· roz²i°ován £i redukován a je navrºená tak, aby ji bylo v budoucnu moºno roz²í°it o dal²í funkce. Proto ji mohu prohlásit za vhodnou pro pouºití v projektu
Formula Student Electric
v jehoº rámci bude
probíhat dal²í vývoj této aplikace. Simulace byla úsp¥²ná, nebo´ spl¬ovala poºadavky a také bylo otestováno, ºe aplikace je schopná realtime p°enosu m¥°ených dat a tak bude v budoucnu roz²í°ena o telemetrii. Dal²í moºnost roz²í°ení je v pouºití kongura£ních soubor· nap°íklad pro aktualizaci databáze známých hodnot v souladu s HW nebo pro zapamatování uºivatelského nastavení.
50
Literatura [1] Pavel Herout:
U£ebnice jazyka Java Myslíme objektov¥ v jazyku Java
, Kopp, eské Bud¥jovice 2006
[2] Rudolf Pecinovský:
, Grada, Praha 2009
[3] Technická dokumentace projektu
Formula Student Electric
, dostupná u ve-
doucího projektu [4] Stránky
sout¥ºe
Formula
Student,
[online],
dostupné
23.
kv¥tna
2013,
http://www.formulastudent.com/ [5] Dokumentace
jazyku
Java
[online],
dostupné
23.
kv¥tna
2013,
http://docs.oracle.com/javase/7/docs/api/index.html [6] Dokumentace
knihovny
JFreeChart
[online],
dostupné
23.
kv¥tna
2013,
[online],
dostupné
23.
kv¥tna
2013,
http://www.jfree.org/jfreechart/ [7] Tutoriál
ke
knihovn¥
JFreeChart
http://www.java2s.com/ [8] Stránky výrobce AiM [online], dostupné 23. kv¥tna 2013, http://www.aimsports.com [9] Stránky výrobce Bosch [online], dostupné 23. kv¥tna 2013, http://www.boschmotorsport.de [10] Stránky
výrobce
Cosworth
[online],
dostupné
23.
kv¥tna
2013,
http://row.cosworth.com [11] Stránky
výrobce
MTA
[online],
dostupné
23.
kv¥tna
2013,
http://competitionsystems.co.uk [12] Stránky
výrobce
Magneti
Marelli
[online],
dostupné
23.
kv¥tna
2013,
http://motorsport.magnetimarelli.com [13] Stránky výrobce MoTeC [online], dostupné 23. kv¥tna 2013, http://www.motec.com [14] Stránky výrobce Stack [online], dostupné 23. kv¥tna 2013, http://www.stackltd.com
51
[15] P°ehled
dostupných
SW
[online],
dostupné
23.
kv¥tna
2013,
http://software.informer.com/ [16] Návod
na
instalaci
Java
JRE
[online],
dostupné
23.
kv¥tna
2013,
http://docs.oracle.com/javase/7/docs/webnotes/install/index.html [17] GNU
GPL
licence
[online],
http://www.gnu.org/licenses/gpl.html
52
dostupné
23.
kv¥tna
2013,
P°íloha A Seznam pouºitých zkratek Ah BLDC dB DB ECU EUR GBP GNU LGPL GPS GUI HW JVM kg km/h kW kWh OS PC
- amperhodina, jednotak kapacity - brushless direct current - typ elektrického motoru (bezkartá£ový stejnosm¥rný)
- decibel, jednotak míry hluku - databáze - electronic control unit - elektronická °ídící jednotka - Euro, evropská m¥na - Libra, britská m¥na - GNU Lesse General Public License, druh licence - [17]
- global positioning system, druºicový polohový systém
- gracal user interface, gracké uºivatelské rozhraní
- hardware - Java Virtual Machine - virtuální stroj pracující s mezikódem
- kilogram, jednotka hmotnosti - kilomet v hodi¥, jednotka ryychlosti
- kilowatt, jednotka výkonu - kilowathodina, jednotak kapacity
- opera£ní systém - po£íta£
53
PMSM
- pernament magnet synchronous motor - typ elektrického motoru (synchroní
motor s pernamentním magnetem)
RPM s SW USD V C
- revolutions per minute, otá£ky za minutu, jednotka frekvence
- sekunda, jednotka £asu - software - Americký dolar, americká m¥na
- volt, jednotka nap¥tí
o
- stupe¬ Celsia, jednotka teploty
54
P°íloha B Doprovodné grafy k sout¥ºi
Obrázek B.1: Graf bodování statických disciplín
Obrázek B.2: Graf bodování dynamických disciplín
55
P°íloha C Obsah p°iloºeného CD ./
- ko°enový adresá°
readme.txt
- textový dokument s popisem obsahu cd a návodem na instalaci a
spu²t¥ní aplikace
./A/ thesis.pdf ./B/ dataloger.jar test_data.txt ./C/ zavody.zip vyroba.zip ./D/ data_view.pdf data_pro.pdf i2.pdf wintax_junior.pdf wintax_user.pdf wintax_team.pdf wintax_pro.pdf windarab.pdf
- aresá° obsahující text bakalá°ské práce - text bakalá°ské práce
- adresá° obsahující aplikaci dataloger a testovací data - spustitelný jar archiv pro spu²t¥ní aplikace dataloger - testovací data ve formátu *.txt
- adresá° obsahující fotky projektu a týmu - zip archiv obsahující fotky ze závod· s formuí FSE 01 - zip archiv obsahující fotky z výroby formule FSE 02
- adresá° obsahující dokumentaci k n¥terým porovnávaným SW
DataView DataPro V5
- dokumentace aplikace
- dokumentace aplikace
- dokumentace aplikace
i2
Wintax4 Junior Wintax4 User Wintax4 Team Wintax4 Pro WinDarab
- dokumentace aplikace
- dokumentace aplikace
- dokumentace aplikace
- dokumentace aplikace
- dokumentace aplikacím
57