» »

ASCII Videowall

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 486-ke z najmanj 8 MB pomnilnika, disketnikom in grafično ter mrežno kartico. Mrežna kartica je lahko 10 Mbitna, 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 100 Mbitno 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 50 cm.

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 BIOS-u, 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 486-ke 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 3 cm 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 50 kg, vsak monitor dodatnih 5-10 kg, računalniki, ki smo jih uporabili pa so imeli zelo težka ohišja, ki so tudi dodala do 5 kg. Skratka, koleščka morajo biti sposobna nositi vsaj 200 kg. 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 220 V 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 (1 m) 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.4 MB/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 10 mbps, temveč tudi močno pod praktično mejo. Poskrbeti moramo torej le za to, da bo strežnik uporabljal mrežno kartico s prenosom 100 mbps.

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 z vsemi pripadajočimi storitvami (dhcpd, tftpd, NFS)
  • predvajalnik mplayer za dekodiranje videa
  • knjižnjica aalib, ki smo jo cepili z nekaj svoje kode
  • 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 8 Mb 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 prva 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 izvršljivo.
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 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

Šifriranje nosilcev podatkov v okolju Linux in Windows

Šifriranje nosilcev podatkov v okolju Linux in Windows

Cryptography is a data-protection technology just as gloves are a hand-protection technology. Cryptography protects data from hackers, corporate spies and con artists, whereas gloves protect hands from cuts, scrapes, heat, cold and infection. The former can frustrate FBI wiretapping, and the latter can ...

Preberi cel članek »

CRT proti LCD (1. del)

CRT proti LCD (1. del)

Uporaba elektronskih naprav za prikazovanje slike, ki temeljijo na LCD ali CRT tehniki, kamor štejemo med drugim računalniške in TV zaslone, digitalne prikazovalnike na mobitelih ter urah, je postala v zadnjem času del našega vsakdana. Še več, brez njih si življenja ...

Preberi cel članek »

Kaj kupiti (2. del)

Kaj kupiti (2. del)

Kaj kupiti, je večno vprašanje, ki si ga vsak izmed nas zastavi vsakokrat, ko se odpravi v trgovino, pa naj bo to lokalna prehrambeno usmerjena prodajalna ali pa kaj zanimivejšega -- naprimer računalniška trgovina. Kamorkoli pridemo, tam nas čaka nekdo, ki želi od nas ...

Preberi cel članek »

Varnost slovenskih GSM omrežij

Varnost slovenskih GSM omrežij

V članku so predstavljeni rezultati varnostne analize slovenskih GSM omrežij, ki smo jo opravili v prvi polovici leta 2012. Namen članka je opozoriti na varnostne ranljivosti v slovenskih GSM omrežjih z namenom, da se varnostne ranljivosti odpravijo, posledično pa se poveča stopnja varnosti in zasebnosti ...

Preberi cel članek »