ˇ Linux Server Development - SPŠE Jecná
Vývoj tiskového serveru
Dlouhodobá maturitní práce Stˇrední prumyslová ˚ škola elektrotechnická, Praha 2, Jeˇcná 30 4. ledna 2016 Autor:
Jakub Motlík
E-mail:
[email protected]
Tˇrída:
C4a
Školní rok:
2015/2016
Vedoucí:
Ing. Ondra Mandík, ING PAED IGIP.
Oponent:
ˇ CSc. Ing. Mgr. Vladimír Vána,
Autor: Jakub Motlík Vydáno: 4. ledna 2016 Práce byla vydána jako dlouhodobá maturita na SPE Je£ná. Práce byla vytvo°ena v rámci projektu LSD SPE Je£ná.
Zde vloºte ocální zadání práce.
Prohlá²ení
Prohla²uji, ºe jsem svou práci vypracoval samostatn¥ a pouºil pouze podklad· uvedených v p°iloºeném seznamu literatury. Prohla²uji, ºe v²echny výtisky práce jsou shodné s elektronickou verzí práce. Nemám závaºný d·vod proti pouºití tohoto díla ve smyslu 60 Zákona £.121/2000 Sb., o právech souvisejících s právem autorským a o zm¥n¥ n¥kterých zákon· (autorský zákon) v platném zn¥ní.
V ........................... dne .....................
...............................................
Potvrzení p°edání práce v rámci projektu LSD
Já ................................, datum narození .......................... , tímto jako £len projektu LSD £estn¥ prohla²uji, ºe jsem byl seznámen s projektem Vývoj tiskového serveru , jehohoº autorem je Jakub Motlíka potvrzuji ºe mi byli p°edány ve²keré podklady, p°ístupové údaje, data a dokumentace k tomuto projektu. Podpisem tohoto potvrzení p°ebírám plnou odpov¥dnost za pokra£ování uvedeného projektu. Jsem si v¥dom p°ípadných následk·, pokud bych úmysln¥ uvedl nepravdivé, nep°esné £i neúplné údaje.
V ........................... dne .....................
...............................................
Pod¥kování
Mate-li komu pod¥kovat a chcete-li n¥komu pod¥kovat, m·ºete zde.
Abstrakt
Délka abstraktu záleºí na disciplín¥ a poºadavcích autora práce. Typická délka je od 100 do 500 slov, ale velmi z°ídka i více neº 1 strana. Abstrakt m·ºe, ale nemusí obsahovat sekci titulek abstrakt explicitn¥ zaznamenaný p°edcházející t¥lu, a£koliv jsou typicky rozd¥leny do logických sekcí jako p°ehled toho, co práce obsahuje (nap°. cokoliv z následujícího: podklady, úvod, cíle, metody, výsledky, záv¥r). V £asopisových £láncích, výzkumných pracích, publikovaných patentních ºádostech a patentech je abstrakt krátké shrnutí umíst¥né p°ed úvodem práce, £asto odd¥lené od t¥la textu, ob£as s odli²ným zarovnáním od ostatního textu.
Klí£ová slova: Tiskový server, Tiskové °e²ení, Tisk kdykoliv a kdekoliv
Abstract
Abstract in english. Please no copy-paste it from google translator.
Keywords: Print server, Print solution, Print everytime and everywhere
ˇ SPŠE JECNÁ
OBSAH
Obsah Úvod
10
1 O mé práci
11
1.1
Vize práce . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11
1.2
Cíl práce . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11
1.3
Srovnání mého tiskového systému s MyQ - Free v roce 2015
11
. . . . . . . .
2 Hypotéza °e²ení tiskového systému
13
2.1
Funk£ní poºadavky na tiskový server
. . . . . . . . . . . . . . . . . . . . .
13
2.2
Use case tiskového systému . . . . . . . . . . . . . . . . . . . . . . . . . . .
15
2.3
Nefunk£ní poºadavky na tiskový server
16
. . . . . . . . . . . . . . . . . . . .
3 Návrh °e²ení
17
3.1
Návrh uºivatelského rozhraní (FRONTEND aplikace) . . . . . . . . . . . .
17
3.2
Návrh databáze pro tiskový server . . . . . . . . . . . . . . . . . . . . . . .
17
3.3
Návrh obsluhy uºivatelského rozhraní (BACKEND aplikace)
. . . . . . . .
19
3.4
Návrh systému obsluhy tisku dokument· v RASPBERRY PI . . . . . . . .
19
4 Testování tiskového serveru
21
4.1
Technické testování . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
21
4.2
Laboratorní testování . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
22
4.3
Reálné testování . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
22
5 Shrnutí tiskového serveru
23
5.1
Jak se d¥lají seznamy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
23
5.2
Jak se d¥lajá odkaz na literaturu
23
Motlík, 2015/2016
. . . . . . . . . . . . . . . . . . . . . . .
8
ˇ SPŠE JECNÁ
OBSAH
6 Tvorba dokumentace serveru
24
6.1
Tricka pro maturanty LSD . . . . . . . . . . . . . . . . . . . . . . . . . . .
24
6.2
Ukázka tabulky £ísel
24
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Záv¥r
25
Seznam pouºité literatury
26
Seznam tabulek
27
Seznam obrázk·
28
Seznam pouºitých zkratek
29
A Obsah p°iloºeného CD
30
B SCRUM log
31
C Nepouºité obrázky
32
Motlík, 2015/2016
9
ˇ SPŠE JECNÁ
OBSAH
Úvod B¥hem mého studia jsem si v²iml jednoho zásadního problému u vytíºených lidí, jako jsou n¥kte°í profeso°i a studenti na na²í ²kole, £asto totiº nestíhají vytisknout materiály, nebo si je p°i sp¥chu zapomenout vytisknout. Nejvíce s tím mají problém u£itelé, musí tak tahat ²tosy výtisk· pro kaºdou t°ídu a £asto se pak stává, ºe výtisky bu¤ p°ebývají, nebo chybí. Studenti u nás ve ²koly moºnost tisknout v·bec nemají, coº vede u vytíºených student· k problém·m s pln¥ním n¥kterých úkol·. Nejv¥t²í problém u nás ve ²kole, ale i jinde vidím v tom, ºe £lov¥k musí být u tiskárny, nebo ve stejné síti jako tiskárna. Nem·ºe tedy naplánovat tisk z domova, nebo p°i cest¥ do ²koly.
Motlík, 2015/2016
10
ˇ SPŠE JECNÁ
KAPITOLA 1. O MÉ PRÁCI
Kapitola 1 O mé práci 1.1
Vize práce
Vzhledem k problému, který jsem zaznamenal, je vizí mé práce zjednodu²it a zp°ístupnit tisk ve ²kolním prost°edí, tak aby mohli tisknout nejen zam¥stnanci ²koly, ale i studenti a zárove¬ se tímto krokem zamezilo plýtvání papírem a barvou.
1.2
Cíl práce
Cílem práce tedy bylo vytvo°it co nejlevn¥j²í tiskový systém pro ²kolní prost°edí, ke kterému budou moci p°istupovat zam¥stnanci ²koly i studenti z domova, p°i cest¥ do ²koly, ale i ve ²kole, aby si v²ichni uºivatelé mohli zvolit datum a £as tisku, aby mohla být vedena evidence tisku a zárove¬ má také za cíl eliminovat plýtvání papírem a barvou.
1.3
Srovnání mého tiskového systému s MyQ - Free v roce 2015
Motlík, 2015/2016
11
ˇ SPŠE JECNÁ
KAPITOLA 1. O MÉ PRÁCI
MyQ - Free
Moje °e²ení
Automatická archivace tiskových úloh
NE
ANO
Automatická instalace ovlada£·
NE
NE
ANO
ANO
Limitování tisku
NE
NE
Jednoduchá instalace
ANO
ANO
Maximální po£et tiskáren
11
Maximální po£et uºivatel·
∞
∞ ∞
Odloºený tisk
ANO
ANO
Windows, Linux,
Jakákoliv
Mac
(webové rozhraní)
Podporovaná platforma serveru
Windows
Linux
Sledování stavu tiskové úlohy
NE
ANO
Tisk bez ovlada£·, online
NE
ANO
Webové uºivatelské rozhraní
ANO
ANO
Automatická podpora nových model· tiskových za°ízení
Platforma pracovní stanice
Tabulka 1.1: Tabulka zobrazující srovnání mého systému s MyQ - Free (2015)
Motlík, 2015/2016
12
ˇ SPŠE JECNÁ
ˇ KAPITOLA 2. HYPOTÉZA REŠENÍ TISKOVÉHO SYSTÉMU
Kapitola 2 Hypotéza °e²ení tiskového systému P°i rozmý²lení provedení tiskového serveru m¥ napadla dv¥ °e²ení:
1. °e²ení, které m¥ napadlo, bylo vyuºití jiº existujících program· a funkcí. P°i reálném testu, jsem ale zjistil, ºe toto °e²ení je p°íli² sloºité na instalaci, obsluhu a del²í udrºování systému.
2. °e²ení jsem vymyslel na základ¥ zku²enosti z p°edchozího °e²ení. Proto navrhuji jako platformu pro uºivatelské rozhraní vyuºít webové stránky spojené s databází, které jsou p°ístupné pro kohokoliv, kdo má moºnost p°ístupu k internetu a také tímto °e²ením odpadá nutnost vytvá°et aplikace pro r·zné platformy. Pro obsluhu tisku dokument· z databáze navrhuji pouºít po£íta£, nap°íklad Raspberry PI model B (dále jen RPi), který je levný, nenáro£ný, úsporný a v základu je vybaven ethernetovou kartou a 4mi USB porty, pouºitím RPi by navíc odpadla i nutnost mít zvlá²tní server pro uºivatelské rozhraní a databázi, protoºe tyto sluºby m·ºeme také spustit na RPi. Dále navrhuji pro RPi naprogramovat obsluºný program nap°íklad v Pythonu, který bude kontrolovat databázi a v p°ípad¥ nustnosti bude odesílat soubory do tiskárny. Celé by to tedy mohlo vypadat jako na obrázku 2.1, který se nachází na stránce 14.
2.1
Funk£ní poºadavky na tiskový server
1. Uºivatel se musí p°ihlásit
Motlík, 2015/2016
13
ˇ SPŠE JECNÁ
ˇ KAPITOLA 2. HYPOTÉZA REŠENÍ TISKOVÉHO SYSTÉMU
Obrázek 2.1: UML diagram návrhu tiskového serveru.
2. Uºivatel m·ºe nahrát dokument, zvolit po£et kopii, datum £as a tiskárnu, na které chce dokument vytisknout.
3. Uºivatel si m·ºe zobrazit své nahrané dokumenty k tisku.
(a) Uºivatel m·ºe odstranit dokument z fronty k tisku.
4. Uºivatel si m·ºe zobrazit své jiº vyti²t¥né dokumenty.
(a) Uºivatel m·ºe znovu zadat tisk jiº vyti²t¥ného dokumentu.
5. Uºivatel si m·ºe p°enastavit uºivatelské jméno, vlastní jméno a heslo
6. Uºivatel se m·ºe odhlásit
7. Administrátor m·ºe to samé jako uºivatel.
8. Administrátor m·ºe p°idat uºivatele a musí mu nastavit jména, heslo a roli.
9. Administrátor m·ºe p°idat zobrazit dokumenty k tisku v²ech uºivatel·.
(a) Administrátor m·ºe odstranit jakýkoliv dokument k tisku.
Motlík, 2015/2016
14
ˇ SPŠE JECNÁ
ˇ KAPITOLA 2. HYPOTÉZA REŠENÍ TISKOVÉHO SYSTÉMU
Obrázek 2.2: Use case tiskového serveru.
10. Administrátor m·ºe p°idat kredity uºivateli.
11. Administrátor m·ºe odebrat kredity uºivateli.
12. Administrátor m·ºe p°idat tiskárnu do systému.
13. Administrátor m·ºe odebrat tiskárnu ze systému.
2.2
Use case tiskového systému
Use case (obrázek 2.2) vychází z funk£ních poºadavk· tiskového serveru a nachází se na stran¥ 15.
Motlík, 2015/2016
15
ˇ SPŠE JECNÁ
2.3
ˇ KAPITOLA 2. HYPOTÉZA REŠENÍ TISKOVÉHO SYSTÉMU
Nefunk£ní poºadavky na tiskový server
•
Internetové p°ipojení
•
User device (Mobil, Tablet, Notebook) s webovým prohlíºe£em
•
Stroj se systémem Linux Debian 7.9
•
Raspberry Pi Model B+
•
Tiskárna s USB nebo sí´ovým p°ipojením
•
Python 2.7
•
MySQL libmysql 5.5.11
•
PHP 5.4
•
LibreOce 3.5.4
•
Unoconv 0.6
•
CUPS 2.1
Motlík, 2015/2016
16
ˇ SPŠE JECNÁ
ˇ KAPITOLA 3. NÁVRH REŠENÍ
Kapitola 3 Návrh °e²ení Na základ¥ funk£ních poºadavk· na stran¥ 13 a usecase (obrázek 2.2 na stran¥ 15) jsem vytvo°il následující návrhy:
1. Uºivatelského rozhraní
2. Databáze
3. Programové obsluhy uºivatelského rozhraní
4. Obsluhy tisku dokument· v RPi
3.1
Návrh uºivatelského rozhraní (FRONTEND aplikace)
GUI bylo vytvo°eno podle navrºených MockUpových prototyp·. Na obrázcích 3.1 a 3.2 na stran¥ 18 jsou vid¥t dva MockUpové prototypy GUI rozhraní. Ostatní MockUpové prototypy naleznete v p°íloze Nepouºité obrázky C.
3.2
Návrh databáze pro tiskový server
Rela£ní schéma databáze na obrázku 3.3 strana 19. Databáze byla navrºena tak, aby spl¬ovala funk£ní poºadavky (strana 13).
Motlík, 2015/2016
17
ˇ SPŠE JECNÁ
ˇ KAPITOLA 3. NÁVRH REŠENÍ
Obrázek 3.1: MockUpový prototyp p°ihla²ovací obrazovky.
Obrázek 3.2: MockUpový prototyp obrazovky pro nahrávání dokument·.
Motlík, 2015/2016
18
ˇ SPŠE JECNÁ
ˇ KAPITOLA 3. NÁVRH REŠENÍ
Obrázek 3.3: Databázové rela£ní schéma.
3.3
Návrh obsluhy uºivatelského rozhraní (BACKEND aplikace)
Pro obsluhu uºivatelského rozhraní jsem navrhl spole£n¥ s databází pouºít jazyk PHP. Pro kaºdou uºivatelskou stranu bude individuální PHP obsluºný script.
3.4
Návrh systému obsluhy tisku dokument· v RASPBERRY PI
Pro obsluhu tisku v Raspberry PI navrhuji pouºití jazyka Python, který bude pracovat s databází a na tiskárnu bude odesílat dokumenty pomocí CUPS. Na obrázku 3.4 strana 20 je zobrazen vývojový diagram návrhu práce Python scriptu.
Motlík, 2015/2016
19
ˇ SPŠE JECNÁ
ˇ KAPITOLA 3. NÁVRH REŠENÍ
Obrázek 3.4: Vývojový diagram pro práci scriptu.
Motlík, 2015/2016
20
ˇ SPŠE JECNÁ
KAPITOLA 4. TESTOVÁNÍ TISKOVÉHO SERVERU
Kapitola 4 Testování tiskového serveru Tiskový server byl testován n¥kolika zp·soby:
1. Technické testování
2. Laboratorní testování
3. Reálné testování
4.1
Technické testování
Prvním a základním testováním bylo otestování komponent a jejich vzájemné kompatibility. Bohuºel, jelikoº je nemoºné otestovat v²echny dosud existující USB a sí´ové tiskárny, byly náhodn¥ vybrány 3 naprosto rozdílné tiskárny:
První
levná domácí laserová tiskárna od rmy HP (model: BLA BLA).
Druhá T°etí
draº²í domácí multifunk£ní inkoustová tiskárna od rmy Canon (model: MG6200).
draº²í kancelá°ská multifunk£ní laserová tiskárna od rmy Brother (model: BLA
BLA).
Na t¥chto tiskárnách byl za pomoci tiskové £ásti systému tiskového serveru vyti²t¥n testovací dokument ve formátu docx (obsah p°iloºeného CD) který obsahoval text s velkými, malými písmeny a písmeny s diakritikou i bez, dále obsahoval tabulku a obrázek.
Motlík, 2015/2016
21
ˇ SPŠE JECNÁ
4.2
KAPITOLA 4. TESTOVÁNÍ TISKOVÉHO SERVERU
Laboratorní testování
Tiskový server byl b¥hem vývoje testován, aby se dalo p°esn¥ ur£it, zda spl¬uje kritéria funk£ních poºadavk· 2.1, které najdete na stran¥ 13. Kaºdá nov¥ implementovaná funkce byla ihned otestována. Testování probíhalo následovn¥ pro p°íklad: Tiskový server bude tisknout dokument ve zvoleném £ase a datu. Po implementaci této funkce byl nahrán dokument se zvoleným £asem a datem tisku. Pokud byl dokument s odchylkou 2 minut vyti²t¥n, výstup testování byl kladný - mohlo se pokra£ovat implementací dal²í funkce, pokud ne - výstup testování byl záporný - funkce se musela upravit nebo opravit tak aby spl¬ovala funk£ní poºadavky.
4.3
Reálné testování
Motlík, 2015/2016
22
ˇ SPŠE JECNÁ
KAPITOLA 5. SHRNUTÍ TISKOVÉHO SERVERU
Kapitola 5 Shrnutí tiskového serveru Zde je odstavec kde srh¬te celý text kapitoly, který bude následovat. Lorem ipsum dolor sit amet, consectetur adipiscing elit. In at tincidunt augue, a dignissim nulla. Cras pharetra turpis turpis, ut interdum arcu hendrerit in. Fusce fringilla dolor turpis, sed convallis nibh tincidunt quis. Nunc blandit condimentum mauris, at venenatis arcu egestas ut. Donec sollicitudin pulvinar eros id convallis.
5.1
Jak se d¥lají seznamy
•
Bramborová ka²e
•
ízek
•
Coca-Cola
5.2
Jak se d¥lajá odkaz na literaturu
V p°ípad¥, ºe je vhodné Vá² text doplnit odkazem na literaturu pouºiete odkaz [1]. Pouºití literaturu je v p°ípad¥ maturitních prací nutné.
Motlík, 2015/2016
23
ˇ SPŠE JECNÁ
KAPITOLA 6. TVORBA DOKUMENTACE SERVERU
Kapitola 6 Tvorba dokumentace serveru Zde je odstavec kde srh¬te celý text kapitoly, který bude následovat. Lorem ipsum dolor sit amet, consectetur adipiscing elit. In at tincidunt augue, a dignissim nulla. Cras pharetra turpis turpis, ut interdum arcu hendrerit in. Fusce fringilla dolor turpis, sed convallis nibh tincidunt quis. Nunc blandit condimentum mauris, at venenatis arcu egestas ut. Donec sollicitudin pulvinar eros id convallis.
6.1
Tricka pro maturanty LSD
Na obrázku
6.2
?? na stran¥ ?? muzete videt koncept tricka pro maturanty LSD.
Ukázka tabulky £ísel
Tabulka 6.1 na stran¥ 24 nám ukazuje r·zná £ísla se°azená podle velikosti.
1
2
3
4
5
6
7
8
9
Tabulka 6.1: Tabulka £ísel
Motlík, 2015/2016
24
ˇ SPŠE JECNÁ
KAPITOLA 6. TVORBA DOKUMENTACE SERVERU
Záv¥r Lorem ipsum dolor sit amet, consectetur adipiscing elit. In at tincidunt augue, a dignissim nulla. Cras pharetra turpis turpis, ut interdum arcu hendrerit in. Fusce fringilla dolor turpis, sed convallis nibh tincidunt quis. Nunc blandit condimentum mauris, at venenatis arcu egestas ut. Donec sollicitudin pulvinar eros id convallis.
Motlík, 2015/2016
25
ˇ SPŠE JECNÁ
SEZNAM POUŽITÉ LITERATURY
Seznam pouºité literatury A
[1] Leslie Lamport, L TEX: A Document Preparation System. Addison Wesley, Massachusetts, 2nd Edition, 1994.
[2] Jak psat maturitni praci. OndraMandik.com [online]. 2010. vyd. [cit. 2013-02-06]. Dostupné z: http://ondramandik.com/jak_psat_maturitni_prace.html
Motlík, 2015/2016
26
ˇ SPŠE JECNÁ
SEZNAM TABULEK
Seznam tabulek 1.1
Tabulka zobrazující srovnání mého systému s MyQ - Free (2015) . . . . . .
12
6.1
Tabulka £ísel
24
Motlík, 2015/2016
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
27
ˇ SPŠE JECNÁ
SEZNAM OBRÁZKU˚
Seznam obrázk· 2.1
UML diagram návrhu tiskového serveru.
. . . . . . . . . . . . . . . . . . .
14
2.2
Use case tiskového serveru. . . . . . . . . . . . . . . . . . . . . . . . . . . .
15
3.1
MockUpový prototyp p°ihla²ovací obrazovky. . . . . . . . . . . . . . . . . .
18
3.2
MockUpový prototyp obrazovky pro nahrávání dokument·. . . . . . . . . .
18
3.3
Databázové rela£ní schéma.
19
3.4
Vývojový diagram pro práci scriptu.
. . . . . . . . . . . . . . . . . . . . .
20
C.1
MockUp stránky vyti²t¥ných dokument·. . . . . . . . . . . . . . . . . . . .
33
C.2
Snímek stránky vyti²t¥ných dokument·.
. . . . . . . . . . . . . . . . . . .
33
C.3
MockUp stránky op¥tovného tisku.
. . . . . . . . . . . . . . . . . . . . . .
34
C.4
Snímek stránky op¥tovného tisku. . . . . . . . . . . . . . . . . . . . . . . .
34
Motlík, 2015/2016
. . . . . . . . . . . . . . . . . . . . . . . . . .
28
ˇ SPŠE JECNÁ
SEZNAM OBRÁZKU˚
Seznam pouºitých zkratek a termín· RPi GUI
Raspberry PI model B
Graphical user interface
CUPS
Common Unix Printing System
Motlík, 2015/2016
29
ˇ SPŠE JECNÁ
ˇ ˇ PRÍLOHA A. OBSAH PRILOŽENÉHO CD
P°íloha A Obsah p°iloºeného CD Bud vlozte printscreen nebo pouzijte balik dirtree.
Motlík, 2015/2016
30
ˇ SPŠE JECNÁ
ˇ PRÍLOHA B. SCRUM LOG
P°íloha B SCRUM log Vypis vsech story ze vsech sprintu. Graf vyjadrujici kolik pointu jste ziskal za jednotlive sprinty.
Motlík, 2015/2016
31
ˇ SPŠE JECNÁ
ˇ PRÍLOHA C. NEPOUŽITÉ OBRÁZKY
P°íloha C Nepouºité obrázky
Motlík, 2015/2016
32
ˇ SPŠE JECNÁ
ˇ PRÍLOHA C. NEPOUŽITÉ OBRÁZKY
Obrázek C.1: MockUp stránky vyti²t¥ných dokument·.
Obrázek C.2: Snímek stránky vyti²t¥ných dokument·.
Motlík, 2015/2016
33
ˇ SPŠE JECNÁ
ˇ PRÍLOHA C. NEPOUŽITÉ OBRÁZKY
Obrázek C.3: MockUp stránky op¥tovného tisku.
Obrázek C.4: Snímek stránky op¥tovného tisku.
Motlík, 2015/2016
34