ASCII Videowall recipe
Gradnja takšne kuriozitete spominja na kuhanje mojstrovine. Za
veščega je proces povsem enostaven, samorazviden in zabaven, za
nesrečnega opazovalca pa mističen in strašljiv. Povsem po
nepotrebnem, bomo rekli.
Naš recept je tako sestavljen iz opisa za vešče, ki sovpada
s spiskom sestavin, in zelo podrobno, ilustrirano razlago, ki naj bi pomagala
premagati predsodke o zapletenosti in nevarnosti. No, pa začnimo...
1) Sestavine
- poljubno število računalnikov z monitorji
- en močnejši računalnik za strežnik
- ustrezno velik switch
- zadovoljivo število kablov
- omara
- akumulatorski izvijač in vrtalka
- dobri svedri, dobri izvijači
- električni razdelilci
- škatla za odpadke
- dva prostovoljca
- gasilni aparat
|

|
Komentar
a) računalniki:
če ne bodo enakih zmogljivosti, bodo prikazovali slike z različno
hitrostjo, česar si pri gledanju videa ne želimo. Ker bomo za
predvajanje uporabili strežnik, so lahko računalniki 486ke z
najmanj 8 MB pomnilnika, disketnikom in grafično ter mrežno
kartico. Mrežna kartica je lahko 10Mbitna, mora pa biti podprta v
Linuxu (večina je). Diska ne potrebujemo. Še enkrat poudarjamo naj
bodo računalniki, če je le mogoče, identičnih
zmogljivosti.
b) monitorji: če ne bodo enakih velikosti, bomo imeli zaplete pri
montaži, med njimi pa neenakomerne razmake. če ne bodo isti
model, bomo morali ugotoviti postopek razdiranja za vsakega posebej.
c) strežnik: tako zmogljiv, da bo lahko predvajal, kar bomo od njega
želeli. Za predvajanje XVID videa to pomeni procesorje od
približno 800 MHz navzgor, kakih 128 MB pomnilnika, zvočno
kartico, če želimo tudi zvok; grafična kartica ni
pomembna, velikost diska pa je odvisna od arhiva, ki ga želimo imeti,.
Potrebujemo še 100Mbitno mrežno kartico, oz. dve, če
želimo VW priključiti tudi na kako drugo omrežje.
Nikakor ne sme imeti težav s pregrevanjem!
d) kabli: mrežni in napajalni. Pred uporabo jih preizkusite - če
se bo potem, ko boste vse ze zložili skupaj, izkazalo, da kateri od
njih ne dela, boste zelo slabe volje.
e) omara: mi smo zavoljo enostavne montaže uporabili leseno, lahko pa
je povsem poljubna (kovinska, plastična), odvisno od znanj
izdelovalca.
f) orodje: če ne bo akumulatorsko, boste slabe volje. če bodo
svedri slabi, boste slabe volje. Škatla je za odpadne dele. Prostovoljca za
umazana opravila.
g) gasilni aparat: za vsak primer. Pri tolikšni količini
elektrike nikoli ne veš.
2) Navodila
|

|
Splošno: še enkrat - pri takšni
količini elektrike je potrebna izjemna previdnost. V vsakem trenutku
se zavedajte, da JE pomebno, kje imate prst, kam štrli kaka
žička, kam je vtaknjen kak kabel. V vsakem trenutku! Brez
izjeme! Pa če s salotejpom lepite opozorilo na omaro, morate biti
pozorni na vse skupaj. Kadarkoli ste mu blizu, preklopite na Danger-mode.
|
a) Načrtovanje
Iz izkušenj
rečeno, mnogo pridobite s previdnim načrtovanjem (in branjem
teh navodil seveda :). Vedeti morate:
- koliko bo računalnikov in monitorjev
- kako veliki so
- kako veliko omaro torej potrebujete
- kakšen material uporabiti zanjo
- kakšne bodo torej njegove potrebe po elektriki
Naslednji korak je, da napravite načrt za omaro in ga nesete mizarju.
Ker bo nekaj časa trajalo, da jo napravi, se splača to narediti
čimprej. Police morajo biti zelo trdne in zanesljive, zato pri
materialu ne skoparite - uporabite pravi les in ne iverke. To vam bo
koristilo zlasti pri vgradnji monitorjev, ko boste večkrat
vijačili isti vijak.
Sami smo se odločili narediti 4x3 monitorje velik Videowall, torej 12
računalnikov plus strežnik. Omare nismo želeli
prevelike, zato je dolga in visoka natanko toliko, kot je nujno. Izkaže
se, da je to dovolj. Dolga je torej 4 x širina monitorja in
drobiž, visoka je 3 x višina monitorja plus višina
računalnika in drobiž, globoka je toliko kot računalnik
in drobiž. Vsekakor dobro premislite, kako boste razporedili
računalnike. Mi smo se odločili, da bodo v svojih ohišjih
ležali na boku, dva pa bosta ležala čez ostale. Tako je
bil prostor najbolj izkoriščen. Ker so računalniki stari
in nezahtevni, s hlajenjem ni težav.
Monitorje hočete stisniti čimbolj skupaj, da je slika
čimbolj enotna. Zato se jih splača oguliti plastičnih
ohišij, to pa prinese mnogo dodatnih zapletov. Le-te si bomo
natančneje ogledali v razdelku (f), za zdaj samo v grobem: ko
slečete plastiko, vam ostaneta katodna cev in kotrolno vezje. Na
srečo sta ponavadi povezana le s šopom kablov, tako da ju lahko
do neke mere neodvisno montirate. Katodna cev ima v kotih priročna
kovinska ušesa, ki jih uporabimo za pritrditev na ogrodje.
Najlaže je torej, če v omaro vgradimo police, na katere s sprednje
strani privijemo monitorje, na police pa za cevmi položimo vezja.
Skratka, splača se naročiti še police iz trdnega
materiala, dolge pa naj bodo približno 50cm.
Zgolj okvir omare je zaradi svoje velikosti precej majava reč. Tako
privijemo na prednjo stran še eno ploščo, ki bo navpično pritrjena (glej sliko)
stabilizirala ohišje, hkrati pa zakrila pogled na računalnike.
Izkazalo se je, da je to sicer fino, a da imajo računalniki disketnike
in gumbe za vklop še vedno na sprednji strani. Patent smo morali zato
naknadno malce nadgraditi tako, da smo to desko napravili premično.
(spet glej sliko).
b) Priprava računalnikov
Računalniki naj bodo
torej čimbolj enaki. Sami smo imeli srečo in dobili celo
pošiljko starih IBMovih 486 sistemov iz nekega vladnega urada, v
priročno majhnih (in nepriročno težkih) ohišjih.
Zato smo se odločili, da ne bomo komplicirali, temveč jih bomo
uporabili kar takšne. Iz njih smo pobrali diske in vse odvečno
kablovje, grafične kartice so bile integrirane, mrežne kartice
pa so bile seveda identične, celo s (skoraj) zaporednimi MAC naslovi.

Vsakega je potem treba preizkusiti (če se sploh prižge), v
BIOSu izključiti odvečne možnosti (varčevanje z
energijo, vhodi in izhodi, diski) in omogočiti zagon brez tipkovnice
in z diskete. To se od enega do drugega proizvajalca plošč
popolnoma razlikuje, zato je nesmiselno opisovati natančne lokacije,
so pa vse te možnosti zagotovo podprte v vseh BIOSih.
Kratek skok k programski opremi (d): uporabili bomo sistem "Thin-client", ki
uporabi računalnik le kot terminal, ki izrisuje, kar mu pošlje
strežnik. Za povezavo do strežnika mora računalnik
že ob zagonu naložiti gonilnik za mrežno kartico in
poklicati strežnik. Imamo dve možnosti (no ja, najnovejši
računalniki poznajo zagon po mreži že v BIOSu, a njih
zagotovo ne boste uporabljali kot Thin cliente :) - najlažji je zagon
z diskete, ki ima ustrezne gonilnike. Druga možnost je sprogramiran EPROM čip na
mrežni kartici. Prva možnost je precej enostavnejša, a ima
svoje slabosti: diskete se pokvarijo, disketniki prav tako, zagon traja malce
dlje. Pri drugi možnosti ne potrebujemo v računalniku
več niti disketnika, a moramo zato kupiti čipe in zapisovalnik
zanje (programator). Mi smo se za začetek odločili za prvo
rešitev. Na
http://www.etherboot.org/rom-o-matic
poiščete sliko
diskete z gonilnikom za vaše mrežne kartice. če
vašega modela ni na spisku, ni podprt. Navodila za zapisovanje slike na
disketo so na taisti strani. V Linuxu je postopek enostaven - v konzoli
napišemo:
dd if=imeslike.bin of=/dev/fd0
in počakamo do konca.
"dd" je kratica za "duplicate disk", "if" za
"input file" (vhodna datoteka), "of" za "output
file" (izhodna datoteka). "/dev/fd0" je običajen naslov
disketne enote v Linuxu; če je vaš drugačen, to verjetno
že veste. Dodatna pomoč je seveda "man dd". če
program javi "input/output error", vrzite disketo proč.
če se števili zapisov in preverjanj razlikujeta (ko boste enkrat
videli izpis programa, boste razumeli), vrzite disketo proč. če
ste vrgli proč že deseto zaporedno disketo, vrzite proč
še disketnik in začnite znova. Tehnologija disket je pač
zelo nezanesljiva in če se boste prejšnjih treh stavkov dosledno
držali, si boste prihranili mnogo živcev.
Ko imate pripravljenih toliko disket kot računalnikov, jih
označite in vtaknite v vsakega po eno. Poskusite zagnati vsak
računalnik posebej. če uspešno prebere disketo,
začne iskati strežnik - to prepoznate po pikicah, ki se
zaporedno prikazujejo. To pomeni, da je z računalnikom, mrežno
kartico in disketnikom vse v redu. Zaenkrat ga lahko postavite na kup
že pripravljenih za vgradnjo.
c) Priprava monitorjev
Monitorji naj bodo enakih
velikosti (kar niti ne predstavlja problema, ker so vsi 14 palčni
monitorji pač veliki 14 palcev). Sami smo imeli zopet srečo in
dobili dve tretjini monitorjev istega modela. Na tej točki morate biti
samo prepričani da delujejo, kar preverite tako, da jih
priljučite na prižgan računalnik :). Monitorji naj bodo
VGA (hercules monitorjev verjetno ne boste več mogli priključiti
na 486ke oziroma zanje ne boste našli dovolj grafičnih kartic),
kar prepoznate po treh vrsticah kontaktov v konektorju. Je še nekaj
lastnosti, ki jih boste cenili ob sami vgradnji, a jih bomo opisali takrat,
ker jih ne morete videti, dokler niste monitorja "slekli". Zato
imejte nekaj monitorjev na zalogi (preveč).
d) Priprava strežnika
Strežnik je srce
Videowalla, ostali računalniki so zgolj njegov zaslon. Vse kar boste
hoteli pokazati na Videowallu, mora biti strežnik sposoben napraviti.
To je edino vodilo pri tehničnih zahtevah, sicer je to povsem
običajen domači računalnik. Zanimiv del tu je le
priprava operacijskega sistema in programske opreme.
Na disk namestite poljubno distribucijo Linuxa, sami smo uporabili Debian
(ker je to edina prava distribucija :). Linux je zaradi svoje
prilagodljivosti za izdelavo takšnih bizarnosti precej bolj prijazen kot
pa recimo Windowsi(tm) poleg tega pa z njim mnogo ljudi takšne
bizarnosti že počne ter zanje prijazno piše navodila. Začnete
z najbolj okleščeno namestitvijo, nikakor ne potrebujete oken X
ali česarkoli bolj naprednega od jedra. Namestite še
strežnik DHCP in SSH. če boste pisali kak uporabniški
vmesnik, vam bo prišel prav Apache, če ga boste uporabljali tudi
za datotečni strežnik, morda ne škodi NFS. če boste
uporabljali tudi zvok, boste morali namestiti še gonilnike za
zvočno kartico.
Poletite do http://www.ltsp.org in
snamete najnovejšo različico, preberete navodila, ugotovite da
veljajo za prejšnjo različico, zato dalje berete ta recept. LTSP
je kratica za "Linux Terminal System Project". Je srednje zapleten,
a ko enkrat dela, je precej neuničljiv.
Ob koncu namestitev vas zanimata le še dve datoteki:
/etc/lts.conf
/etc/dhcp.conf
Sedaj je čas, da
preizkusite delovanje terminalov. Priključite jih na strežnik.
če ste vse prav nastavili in pustili zagonske diskete v disketnikih,
bi morali računalniki najti strežnik in se začeti
pritoževati, da ne vedo, kaj narediti zdaj. Medtem bodo besno
izpisovali niz znakov urejenih v pare: xx:xx:xx:xx:xx:xx . To je t.i. MAC
adress, univerzalno ime te-in-na-vsem-svetu-samo-te-in-točno-te
mrežne kartice. To ime morate vpisati v dhcp.conf na strežniku,
skupaj z navodili terminalu. To boste morali narediti za vsak terminal
posebej. Po ponovnem zagonu dhcp strežnika, se mora terminal zagnati v
tekstovnem načinu. Na tej točki se splača
računalnike, mrežne kartice, ohišja računalnikov in
mrežne kable oštevilčiti tako, kot so vpisani v dhcp.conf.
Tega številčenja se držite tudi ob naknadnih posegih v
Videowall.
e) Gradnja omare
Ko smo dobili les, smo
šli kupit ustrezne vijake. Teh sicer potrebujete manj, kot sprva
izgleda, a morajo biti kvalitetni - s samovrezno konico, šestkotno
glavo, iz kvalitetne zlitine, da ne počijo. Ne želite si popravljati
ogrodja, ko je Videowall že na pol postavljen. Izkazalo se je, da je
3cm lepljena plošča precej težek material. Že samo zato se
izplača na spodnjo stran dodati koleščke, ki pomagajo pri
premikanju. Pozor: ne skoparite pri njih. Sicer so precej dragi, a že
zgolj omara ima kakih 50kg, vsak monitor dodatnih 5-10kg, računalniki,
ki smo jih uporabili pa so imeli zelo težka ohišja, ki so tudi
dodala do 5kg. Skratka, koleščka morajo biti sposobna nositi vsaj
200kg. In vsa naj bodo vrtljiva.
Da lahko vgradimo police, moramo natančno izmeriti višino katodne
cevi. V ta namen lahko napredujete na naslednji razdelek in hkrati vgradite
še police, lahko pa poskusite srečo z našo empirično
ugotovitvijo, da je ustrezna višina 20,8 cm.
Torej , gradnja je enostavna: sestavimo okvir, dodamo prednjo loputo, dodamo
koleščke, dodamo police. Prednjo loputo se splača
pritrditi na spodnjem koncu z dvema vijakoma, na zgornjem pa z
vijačnim kavljem, ki ga je enostavno odviti, če želimo
dostopati do računalnikov. (glej sliko na začetku).
f) Vgradnja monitorjev
če se niste
odločili za optimiziranje Videowalla, vam monitorjev ni treba
slačiti in lahko torej mirno preskočite naslednje odstavke in
si prihranite precej živcev ter zagotovite bolj mirno spanje v
nadaljnjem življenju.
|

|
To je nabolj zabaven, najbolj adrenalinski, najbolj
nevaren, najbolj strašljiv, najpomembnejši del opravila. Za
začetek še enkrat preberite splošna opozorila pod (2). ...
... ... Ste že? Ne verjamem, še enkrat! ... V redu.
|
Najprej snemite zadnji plastični pokrov monitorja, da si lahko
pobliže ogledamo njegovo notranjo zgradbo. Pokrov je sestavljen iz
dveh ločenih delov, kar lahko vidite kot navpično zarezo okrog in
okrog ravnejšega dela plastike tik za ekranom. Obrnite monitor na glavo
(z zaslonom navzdol) in poiščite štiri globoke luknje na
kotih v plastiki. Tam notri so vijaki, ponavadi križni, ni pa nujno. Z
dolgim izvijačem jih odvijte, primite zožani del plastike in jo
snemite (malce premaknite gor - dol - levo - desno, da ugotovite
način). Med slačenjem pazite na kable, ki štrlijo iz
zadnjega dela monitorja. Do tu niste počeli še nič
nevarnega. Pred seboj ugledate drobovje monitorja.
|

|

|
Monitor je sestavljen iz napajalnika, kotrolnega vezja in katodne cevi.
Napajalnik pretvarja napetost iz 220V na ustreznih več (za cev) in
manj (za vezje). Sestavljajo ga kondenzatorji, ki imajo to lastnost, da
zadržujejo električni naboj, tudi ko monitor ni vključen
v električno omrežje! Prepoznamo jih kot navpične debele
valje in se jih izogibamo kot mušnic.
Kontrolno vezje je polno kablov, ki gredo na različne konce. Dva
prideta od zunaj - VGA in napajalni. Vsak od njiju je lahko
nadomeščen s vtičnico zanj. Drug šop kablov
(žičk) teče s središča vezja navzgor do
zadnjega dela katodne cevi. Nekaj naključno posejanih
žičk izgine neznano kam v sprednji del, ki je še
oblečen. Zaenkrat se jih še ne dotikamo.
Katodna cev izrisije sliko z uklanjanjem elektronov v vakuumu. Ne bomo
razlagali fizike, ki stoji za tem, naj zgolj omenimo, da to počnejo
elektromagneti pri visokih napetostih, elektrone pa dobimo s segrevanjem
kovine z napetostjo okrog 10000 V. Ni sicer tako nevarno, kot je
slišati, saj so električni tokovi zelo majhni. če se
dotaknete napačnega konca cevi in vas strese, samo brez panike. Kako
uro ne boste vedeli kje ste, sedeli boste pri miru, še kak dan vas bo
bolela glava, in nikoli več se ne boste dotaknili napačnega
konca cevi. In nikoli več se ne boste znebili spoštovanja do
elementarnih sil narave, kozmosa,...
|

|
Katodna cev je torej tista zvonasta umazana reč,
ki zasede večino prostora. Na njen zadnji del je nasajeno še
eno krmilno vezje. To je dejansko nasajeno in se lahko odtrga, če ga
grdo potegnemo. Temu se izogibajte, ker bo monitor sicer neuporaben (no ja,
lahko bi ga poskusili nasaditi nazaj... :))). Znotraj cevi je vakuum, torej
je razlika tlakov, ki jo vzdržuje stena cevi, 10 na peto pascala,
kar je precej, če se zadeva odloči eksplodirati. Na
srečo tega ne počne ravno pogosto (celo če s kamnom
tolčete po njej ne prav hitro). Po njej je napetih precej
strašljivih vzmeti in žic. Ne skrbite zaradi njih, ne grizejo.
|
Po tem izčrpnem opisu ste pripravljeni na nadaljno razdiranje. V kotih
katodne cevi lahko vidite ušesca, čeznja črne gumaste
podložke in ponavadi križne vijake. Odvijte jih in vrzite v
škatlo. Sedaj si ogledje vse robove cevi in odvijte vse vijake, ki
izgledajo, kot da držijo plastični pokrov. Vsak model monitorja
je v tem povsem drugačen, zato morate malce raziskovati. če ste
vse odvili, posadite ploščo in cev v pravilno lego in hkrati
povlecite plastiko proč. Za njo se vleče precej strašljiv
obroč iz aluminija in še en, sumljivo zavit v črn trak.
Skrbita za t.i. "degauss", to je funkcija, ki na vsakih nekaj
vklopov monitorja prevetri fosforni sloj, v katerega se zaletavajo elektroni.
Brez te funkcije slika sčasoma izgubi kontrast. To se da narediti tudi
ročno in ker ta dva obroča zelo kazita izgled zaslona, ju bomo
odstranili. Oni debelejši je na vezje priključen s konektorjem.
Potrudite se in ga najdite, lepo izklopite in spravite v škatlo. Morda
vas kdaj prime, da bi ga vključili nazaj. Oni aluminjasti je pritrjen
na ozemljitev. če ga lahko odvijete, prav, sicer pač
prerežite žičke. Prav tako ga shranite, nikoli ne veste,
kdaj bodo prišli prav. če se vam ta misel zdi trapasta, naj vas
spomnimo, da je natanko ta princip razlog, da ste našli tele (pra)stare
monitorje, ki jih zdaj vandalizirate in da brez njega ne bi mogli niti
pomisliti na svoj lasten Videowall, ker je ceneje kupiti projektor, kot pa
dovolj monitorjev.
Pripravljeni ste, da vgradite prvi monitor. če še niste vgradili
polic v omaro, je to pravi trenutek (glejte (a)). En prostovoljec sedaj prime
ekran od spredaj, drugi za njim nosi kotrolno vezje, ki sedaj visi zgolj na
šopu žičk. Od spredaj vtakneta v zgornji levi kot omare
najprej vezje, zatem cev, ki jo prvi prostovoljec podpira, medtem ko drugi
teče po akumulatorski izvijač, ugotovi, da ima ta še od sestavljanja
omare prazno baterijo, jo da polniti, poišče nadomestno baterijo,
pride nazaj, je vesel, ker je prvi prostovoljec preveč zaposlen s
podpiranjem zaslona in ga zato ne more mahniti, pograbi pripravljen vijak,
privije levo ušesce ekrana na nosilec, privije desno ušesce na
nosilec, teče ven iz prostora, da ga prvi prostovoljec ne bi mahnil,
in mu zato kupi pivo. Potem pa še sebi enega.

Vgradnja naslednjega monitorja poteka podobno, le da je baterija v
izvijaču najbrž še vedno polna in zato odpade
večina bedastih stavkov iz prejšnjega razdelka, ki smo jih lahko
zato v tem veselo nadomestili z bedastimi lingvističnimi opažanji.
Ker želite imeti zaslone čimbolj skupaj, boste desno
ušesce levega monitorja privili z istim vijakom kot levo ušesce
desnega monitorja. če vam tega ni uspelo smiselno prebrati, si oglejte
slikico.

Taisti postopek ponavljate do konca vrste. Potem greste lahko spet na pivo.
Mi smo bili skrajno neučakani in narcisoidno navdušeni nad sabo,
zato smo hitro dodali v omaro štiri računalnike in priklopili
prvo tretjino našega Videowalla. :) Potem smo šli spat.

Naslednji dan nadaljujemo s sedaj že rutinskim opravilom dodajanja
monitorjev. Popestritev postopka je vijačenje štirih ušesc z
istim vijakom na srednjih nosilcih (med vrstami, spet glej sliko). To zahteva
precej od- in za- vijanja po istih vijačnicah (luknjah), zato smo
srečni, ker imamo trdno bukovino in ne spužvaste iverke, ki nam
jo je hotel prodati mizar.
Bliže ko ste koncu, bolj vam gre na živce dejstvo, da je vsak
monitor sestavljen drugače. Si predstavljate, kako bo izgledalo
vzdrževanje?
No, ko privijete še zadnji ekran, morate poskrbeti za varnost. Kontrolne
plošče se ne smejo dotikati niti katodnih cevi, niti lesa. Zato
jih vse podložite s plastičnimi podlogami,
ploščami, nogicami, čimerkoli izolacijskim skratka. Seveda
podloga ne sme biti prevodna, ker bi sicer ustvarila kratek stik na vseh
spojih na vezju. Tega proizvajalci zagotovo niso predvideli. če
kadarkoli med vgrajevanjem opazite kaj sumljivega, dobro premislite, kaj to
pomeni. Nobena odrezana žička se ne sme dotakniti nobenega
drugega dela. Najbolje, da jo odrežete že pri korenu ali pa
izolirate. Nobena sestavina ne sme biti majava, ker je to znak slabega spoja.
V elektriki to nikoli ni dobro, v najboljšem primeru zgolj zato, ker
potem reči ne delujejo zanesljivo.
|

|

|
Zanimiv problem takšne konstrukcije predstavljajo gumbi za upravljanje
slike. Ponavadi so pritrjeni na vezju, zato lahko do njih dostopamo le
še skozi tanko režo med polico in zaslonom. Rešitve so
naslednje: a) s tem se sprijaznimo, b) podaljšamo vse žičke
med kontrolno ploščo in katodno cevjo na vseh monitorjih in nato
plošče zasukamo za 90 stopinj, c) že vnaprej nastavimo
svetlost in kontrast na največjo vrednost, geometrijo slike pa malce
na pamet (oz. med testiranjem v besedilnem načinu) in potem upamo, da
jih ne premaknemo med montažo. Nobena ni ravno elegantna, če se
spomnite kake boljše, nam prosim sporočite.

Oh, in vsi monitorji naj bodo prižgani - se pravi, stikala na sprenji strani
naj bodo vključena, tako da se odtlej dalje monitor prižge
takoj, ko dobi elektriko.
g) Vgradnja računalnikov in urejanje kablovja
če imate terminale
pripravljene, delujoče, nastavljene, potem je vgradnja trivialna.
Zložiti jih je treba po predvidenem načrtu in upati, da se
niste ušteli. Na tej točki je precej
nemogoče/nezaželeno posegati v kontrukcijo omare. Preden jih
zaprete noter, naj bodo stikala za vklop vklopljena in diskete v disketnikih.
Na tej točki se boste morali odločiti za sistem številčenja
monitorjev. Ta sistem bo odvisen od sistema priklapljanja monitorjev in
računalnikov v električno omrežje. Zagonski tok tega
Videowalla bo namreč nekaj amperov, kar je več, kot prenesejo
običajne varovalke (in povprečni razdelilci). Zato boste morali
kupiti ustrezno količino električnih razdelilcev. Mi
priklapljamo po štiri monitorje in računalnike hkrati, pa ne
deluje vedno (beri: izključi glavno varovalko). Poskušali smo
tudi s po tremi, pa prav tako včasih izključi lokalno
varovalko. V idealnem svetu bi imeli rele, ki bi zaporedno vklapljal
posamezne monitorje in računalnike. Je pa res, da Videowall ni
namenjen izklapljanju, tako da ni škode, če se ročno vtika
električne kable v vsakega posebej.
Skratka, če boste vklapljali vsakega posebej, ni važno,
če jih hočete skupiniti, pač zložite
računalnike tako, da boste vedeli v kateri podaljšek
vključiti kateri računalnik.

Je pa koristno vedeti, kateri monitor spada k kateremu računalniku. Mi
smo jih razporedili tako: računalniki v vrsti od 1-12, monitorji pa po
stolpcih od zgoraj desno do spodaj levo. Ni ravno najbolj intuitivno, a tako
je pač naneslo. Sistem vam bo prišel prav, ko kak računalnik
ne bo deloval po pričakovanjih.
Svojevrsten izziv so mrežni kabli. Najbolje je, če so vsi enako
dolgi (1m) in če jih vključimo kot zadnje, ker bodo naredili
pravo zmešnjavo. Mrežne kable je nemogoče lepo urediti,
razen če imate res preveč časa.
Strežnik pa pač porinete v predviden prostor. Predlagamo, da
ima svoje napajanje, morda skupaj s switchem, ločeno od ostalih delov
Videowalla.
h) Zagon
|

|
Sedaj lahko opozorimo vse v okolici, da shranijo
dokumente, se umaknejo na varno razdaljo in opazujejo. Nato začnemo
vklapljati skupine monitorjev in računalnikov v elektriko.
Računalniki prijazno piskajo, monitorji se prižigajo s
strašljivim sikanjem, pikice letijo po ekranu. če je šlo
vse prav, vidimo na vseh ekranih utripajoč kazalec. čas je za
programiranje.
|
i) Programska oprema
Nekaj malega o tem smo
omenili že v četrtem razdelku, sedaj pa sledijo natančna
navodila od začetka do konca. Vzpostavitev programja za ASCII videozid
zagotovo ni ravno mačji kašelj, a s temi navodili bi moralo to
uspeti vsakemu povprečno izkušenemu uporabniku Linuxa. Potrebne
so le male tajne velikih majstora.
Orišimo stanje in si poglejmo teoretične zmogljivosti:
Imamo močnejši strežnik, ki bo dekodiral video, ga spreminjal
v obliko ASCII in ga
takšnega razpošiljal na MxN terminalov, ki ga bodo na koncu
prikazali na svojih zaslonih. Vsi terminali so med seboj neposredno povezani
prek stikala omrežja Ethernet.
Za bolj konkretno razmišljanje bomo privzeli, da imamo tri vrste po
štiri terminale.
Izračunajmo koliko podatkov bo švigalo preko omrežja.
Terminale bomo poganjali v ločljivosti 80 krat 60 znakov (možne
so tudi druge nastavitve), kar pomeni, da bo velikost posamezne slike 4800
bajtov.
To moramo zmnožiti še s številom terminalov (3x4 = 12) in
številom slik na sekundo (v večini divx filmov 24), da bi dobili
velikost pretoka podatkov.
če torej izračunamo: 80*60*12*24 B/s = 1382400 bajtov na
sekundo. Mrežne kartice na terminalih pa bodo zmogle 10 mega bitov na
sekundo oziroma 1250000 bajtov na sekundo.
Na prvi pogled se zdi, da imamo problem. A tok 1.4MB/s bo tekel le s
strežniškega računalnika, medtem ko bo omrežno
stikalo zagotovilo, da bo vsak od terminalov prejel na svojo mrežno
kartico le podatke zase. To pomeni le 115200 B/s, kar ni le pod
teoretično mejo prenosa podatkov mrežne kartice 10mbps,
temveč tudi močno pod praktično mejo. Poskrbeti moramo
torej le za to, da bo strežnik uporabljal mrežno kartico s prenosom
100mbps.
Očitno je torej, da bo mreža dovolj zmogljiva in nam o
kompresiji podatkov na relaciji strežnik-prikazovalni terminali ni
potrebno razmišljati.
Pojavi pa se vprašanje sinhronizacije. Vsi prikazovalni
računalniki, bi morali svoj košček slike pokazati ob
natanko enakem času. To je seveda moč doseči programsko
s tako imenovanim medpomnjenjem (buffering), a problem pri uporabi enako
zmogljivih terminalskih računalnikov pravzaprav sploh ne pride do
izraza. Seveda moramo pri tem upoštevati nekaj omejitvenih
okoliščin: mreža med terminali in strežnikom se bo
uporabljala izključno za videozid, terminali pa ne bodo poganjali
nobenega procesa razen prikazovalnega.
Možno je izračunati tudi mrežne zakasnitve med prejemom
kosa slike prvega in zadnjega terminala, a iz praktičnih izkušenj
vam zagotavljamo, da je to nepotrebno. Veliko večji problem nastane ob
uporabi različno močnih terminalskih računalnikov.
Teoretično smo torej že na pol poti. Praktični del
izgradnje ustreznega programja pa se šele začenja.
Postavljajo se naslednja vprašanja:
1. kako imeti na terminalih čim lažji (lightweight) sistem,
brez potrebe po samostojnem disku za vsak terminal
2. kako dekodirati in pretvarjati video v ASCII
3. kako pretvorjen video razpošiljati na terminale
4. kako na vsakem od terminalov prikazovati svoj kos videa
Seveda je najpomembnejša lastnost vsakega inženirja lenoba. Zakaj
bi znova izumljali tisto, kar so naredili že drugi. V skupnosti odprte
in proste kode, kjer je prenašanje delov rešitev v nova okolja
še olajšano, pa lahko načelo lenobe preide v mantro.
Zagotovo je tisto, kar želite narediti, nekdo naredil že pred
vami. V konkretnem primeru smo to mi (zato berete to besedilo), v našem
primeru pa smo povezali kar največ obstoječih rešitev in
na vrh vsega skupaj dodali še ščepec lastnih začimb.
Ne le, da je rešitev poceni in neboleča, tudi okusna je! (seveda
še posebej za nas, saj je zrasla na našem zeljniku)
Torej, v kuharskem loncu bodo pristale sledeče sestavine:
- namestitev sistema LTSP (Linux Terminal Server Project) na strežniku
in terminalih (www.ltsp.org) z vsemi pripadajočimi storitvami (dhcpd,
tftpd, NFS)
- predvajalnik mplayer za dekodiranje videa (www.mplayerhq.hu)
- knjižnjica aalib, ki smo jo cepili z nekaj svoje kode
(http://aa-project.sourceforge.net/aalib/)
- doma vzgojen programček za neposreden prikaz videa s pomočjo
aalib
- nekaj začimb v obliki skript
Torej, najprej moramo vzpostaviti sistem LTSP. Ta omogoča, da se
terminali zbudijo v operacijski sistem Linux brez svojih diskov, njihov
datotečni sistem se nahaja na strežniku in je priklopljen preko
NFS.
Konkretno smo pri videozidu uporabili LTSP različice 4.0, a stvar je
rešljiva z vsako drugo. Terminale je mogoče obujati na dva
načina - s posebnimi zagonskimi disketami, ki poskrbijo za nalaganje
jedra preko mreže ali s posebnimi čipi na mrežnih
karticah, ki opravijo enako delo. Ker ustreznih dodatnih čipov nismo
imeli, smo se odločili za disketnike.
Kako usposobiti dvigovanje LTSP sistema ni tema teh navodil, vse potrebne
podatke dobite na naslovu www.ltsp.org.
Ko imate LTSP sistem postavljen, ga bo seveda treba prilagoditi.
Eden od pogojev je, da se jedro za LTSP terminale prilagodi tako, da dobro
deluje tudi na računalniku 486 z le 8Mb pomnilnika. Ker to ni
mačji kašelj, naj vam pomagamo z nastavitveno datoteko .config,
Datoteko prenesite v drevo izvorne kode Linuxa različice 2.4.23 in
jo preimenujte v ".config" nato začenite ukaz "make
bzImage modules modules_install". Po tem morate novo jedro še predelati
z programom buildk iz paketa ltsp_initrd_kit in ga prenesti na ustrezno mesto
v imenik kjer se nahajajo jedra za zagon preko mreže (navadno v
/tftpboot). Več o tem postopku si preberite v zelo kakovostnih
navodilih za LTSP.
V ustreznih nastavitvah za dhcp strežnik boste morali vpisati vse
svoje terminale. Terminale bomo poimenovali vwX, pri čemer bo X
zaporedna številka. Terminali se ločijo po številki ethernet
naslova - MAC. Ker gre za strojno opremo še iz časov, ko
tehnologije plug'n'pray še ni bilo, boste morali navadno vpisati tudi
parametre mrežne kartice ( v tem primeru NIC=3c509 io=0x300).
Primer za prve dva terminala:
host vw1 {
hardware ethernet 00:a0:24:2a:15:75;
fixed-address 192.168.0.201;
option host-name "vw1";
filename "/tftpboot/lts/vmlinuz-2.4.23-486";
option option-128 e4:45:74:68:00:00;
option option-129 "NIC=3c509 io=0x300 vga=0x0f07";
}
host vw2 {
hardware ethernet 00:A0:24:2A:15:B8;
fixed-address 192.168.0.202;
option host-name "vw2";
filename "/tftpboot/lts/vmlinuz-2.4.23-486";
option option-128 e4:45:74:68:00:00;
option option-129 "NIC=3c509 io=0x300 vga=0x0f07";
}
Kot vidite smo za terminale uporabili rang IP naslovov 192.168.0.2xx, seveda
mora biti tudi preostal del nastavitevene datoteke dhcp strežnika
ustrezno prilagojen, a to bo v veliki meri naredil že program za
namestitev okolja LTSP.
Nejasen je le še parameter vga=0x0f07; tu gre za ročno nastavitev
grafičnega načina v katerega naj se terminal zbudi. V tem
primeru je to ločljiost znakov 80x60. če želite videti
katere možnosti ponuja vaša strojna oprema vpišite tu
vga=ask.
Sedaj bi se morali vaši terminali že prebuditi v novem
grafičnem oziroma besedilnem načinu, nato pa bodo zelo zmedeni,
saj ne bodo vedeli, kaj jim je storiti. Preden greste naprej, to preverite.
Najprej bomo obdelali cel 'sprejemni' del našega sistema, nato pa se
bomo lotili oddajnega.
Da bi se na terminalih zagnal naš sprejemni program moramo prilagoditi
datoteko /opt/ltsp/i386/etc/lts.conf
V njej bomo za vsak terminal povedali, naj na prvem zaslonu zažene
program z imenom "vw":
[vw1]
SCREEN_01 = vw
[vw2]
SCREEN_01 = vw
Ta program (oziroma skripto) moramo postaviti v imenik
/opt/ltsp/i386/etc/screen.d
V njem naredimo datoteko z imenom "vw" v katero vpišemo
sledeče:
--------------------------------------------
#!/bin/bash
echo "Inside of $0"
echo "tty=" `tty`
exec /vw/scr
----------------------------
Vse, kar bo naredila, je zagon drugega programa z imenom /vw/src. Mimogrede,
datoteko moramo narediti še zagonljivo. To storimo z ukazom "chmod 755
vw".
Dobro, sedaj moramo torej ustvariti še datoteko /vw/scr. Ker gre za
lokalno poimenovanje datoteke znotraj datotečnega sistema terminala,
je to v datotečnem sistemu strežnika v bistvu datoteka
/opt/ltsp/i386/vw/scr
Gremo torej v /opt/ltsp/i386 in ustvarimo imenik vw, v njem pa datoteko scr z
naslednjo vsebino:
------------------------------
#!/bin/sh
/vw/setterm -blank 0
/vw/client
------------------------------
Spet jo moramo seveda narediti zagonljivo.
Vidimo, da nam manjkata še dva programa, setterm in client. Prvi je
standardni sistemski program, ki pa ga bomo morali prekopirati iz
datotečnega sistema strežnika (torej iz /usr/bin/setterm v
/opt/ltsp/i386/vw). Zahteval bo še nekaj knjižnjic, ki jih lahko
na enak način skopiramo iz /usr/lib v /opt/ltsp/i386/usr/lib).
Drugi program je client, gre seveda za naš sprejemni del. Na tem mestu
je smiselno pogledati kakšen bo protokol prenosa ASCII slik iz
strežnika v terminale.
Kot smo navedli že zgoraj, kompresije ne bo. Oblika enega paketa
(torej del slike za en sam terminal) v Cjevski sintaksi bo sledeča:
struct vwdata {
int flags;
int flags1;
int flags2;
int cwidth,cheight;
int scrsize;
char buffer[VWBUFFER_SIZE];
} vwdata;
VWBUFFER_SIZE bo v tem primeru cwidth*cheight, torej velikost slike enega
odjemalca. Zastavice so tu le zaradi lepšega.
Ker hočemo, da bo naš sistem čimenostavnejši, bomo
izbrali za prenos podatkov od strežnika k terminalom
najenostavnejši protokol - UDP. Ta protokol ne zagotavlja
nikakršnega preverjanja ali so podatki prispeli na cilj in njihove
verodostojnosti, a je za naš namen popolnoma zadovoljiv. Strežnik
bo vsakemu terminalu na njegov IP naslov preprosto neprestano pošiljal ustrezne
'slike', terminal pa jih bo takoj ob prejetju prikazoval.
Grda, neprečiščena in na starejšem programju
temelječa izvorna koda za client.c.
Skopirajte jo v imenik /opt/ltsp/i386/vw in prevedite z ukazom "gcc
client.c -o client".
Kot boste opazili bo prevedba zahtevala namestitev paketa aalib in njegovih
datotek z glavami .h. To vdano storite. Uporabite način namestitve
kakršen priteče vaši ljubljeni distribuciji Linuxa.
ker bo program tekel na LTSP terminalu morate ustrezne knjižnjice
prenesti v /opt/ltsp/i386/usr/lib. Katere knjižnjice so to, vam bo
program potožil pri vsakem neuspešnem zagonu na terminalu.
No, v tem trenutku bi morali biti na točki, kjer se terminali zbudijo
in po uspešnem postavljanju na noge prijazno čakajo z napisom v
zadnji vrstici:
AA inicializiran
Sedaj se lahko lotimo strežniškega dela videozidu.
Program mplayer na našo veliko srečo že zna predvajati
video v obliki ASCII prek že omenjene knjižnice aalib.
Knjižnica aalib pa ima to dobro lastnost, da podpira več
izhodnih gonilnikov - za izpis na linux terminal ali x-terminal itd.
Storili bomo sledeče: knjižnici aalib bomo dodali svoj izhodni
gonilnik, ki bo namesto izrisa na zaslon sliko razrezal na 12 delov in
vsakemu terminalu poslal svojega. Tako predelano knjižnico lahko
najdete tule.
Dodatni gonilnik se imenuje preprosto "my" njegov glavni del pa
najdemo v datoteki src/aamy.c. Gre seveda spet za enostavno predelavo drugega
gonilnika. V kolikor bo v vašem videozidu vladala drugačna
ločljivost, drugačni ip naslovi ali pa drugačno
število terminalov, morate datoteko src/aamy.c ustrezno spremeniti.
Poglejte si konstante CWIDTH, CHEIGHT (višina in širina v znakih),
CROWS in CCOLS (navpično in vodoravno število terminalov) ter
seveda polnjenje seznama številk IP cmatrix okoli vrstice 90.
Ko ste kjnižnjico nekam odpakirali (npr. v /opt/ltsp/i386/vw/myaalib),
pojdite v njen imenik in zaženite ukaza "make all" in
"make install".
To bo predelano kjižnico namestilo v imenik /usr/local/lib.
Tako, zdaj je vse nared, da pošljemo v naše terminale prvi video.
Naredimo še skripto za predvajanje poljubnih videov preko terminala:
-------------------------
#!/bin/sh
export LD_LIBRARY_PATH=/usr/local/lib
mplayer -loop 0 -zoom -x 640 -y 480 -fixed-vo -ao null -vo aa aaeight
-aaextended -aadriver my "$1"
reset
------------------------
Poimenujmo jo mpw, seveda pa ji moramo dati pravice za zagon s "chmod
755 mpw". Lahko jo damo tudi v sistemski imenik na strežniku
(recimo /usr/bin/) in tako zagotovimo, da bo povsod dostopna.
Sedaj lahko predvajamo poljuben video tako, da napišemo preprosto
"mpw video.avi".
Morda še razlaga skripte.
Prva vrstica zagotovi, da bo ob nalaganju knjižnic mplayerja
naložena naša spremenjena knjižnjica aalib, ki se nahaja v
/usr/local/lib.
Druga vrstica (mplayer...) je preprosta, nastavi ločljivost na
640x480, ponavljanje posnetka v nedogled (-loop 0), izklopi zvok, uporabi
gonilnik knjižnice aalib in podgonilnik "my" ter
začne s predvajanjem.
Tako, jed je pripravljena. Zelo tekne, če je postrežena s
Severino ali Paris Hilton. Pa dober tek!
j) Možne izboljšave
Na tej točki smo seveda vsi grozno zadovoljni s
svojim delom. Še vedno pa bi lahko nekaj reči izvedli bolje, če
bi si vzeli čas ali pa vložili nekaj več sredstev. Na nekatere
smo nakazali že med navodili.
Najprej okornost - Morda bi za omaro lahko uporabili drugačne
materiale, da bi bila lažja, bolj sestavljiva, a resnici na ljubo, z
lesom je najlažje delati.
Naslednje kar bomo morali napraviti so dodatni ventilatorji za odpihovanje
vročega zraka. Ali na strop, ali na stranice, čimvečji.
Omenili smo že, da disketniki niso nujni, lahko bi vse mrežne
karice opremili z programiranimi epromi.
Problem električne napeljave bi lahko omilili tako, da bi
računalnike zložili iz ohišij, za plošče
napravili nova držala in jih več hkrati priključili na
en napajalnik. Pridobili bi tudi precej prostora in zmanjšali
težo. Gre za podoben premislek, ki nas je vodil, da smo slačili
monitorje.
Z uporabo druge knjižnice za pretvorbo videa bi bila slika lahko
barvna. Pri takšni ločljivosti je sicer vprašanje
smiselnosti in preglednosti, a preiskusili bomo zagotovo.
Z uporabo video načinov, specifičnih za te grafične
kartice, bi najbrž lahko dosegli še malce večjo
ločljivost od standardne.
Z vgradnjo notranjih varovalk bi preprečili izpade elektrike v
prostoru.
Z večjimi kolesi in
avtomobilsko kljuko bi Videowall najbrž lahko registritrali kot
tovorno prikolico in šli z njim na turnejo po Evropi.
k) Povezave
http://www.ltsp.org
http://www.etherboot.org
http://www.wikipedia.org
http://creativecommons.org
http://www.kiberpipa.org
|