Uudistuksia labilla, osa 3

19.6.2016 / Projektit, Yleinen / Lauri Hakkarainen

Labin projektikamera on vihdoin saavutettu sellaiseen tilaan, että kuka tahansa pystyy sitä käyttämään. Kameralle tulostettiin teline ja nyt kameran lataus ja synkronointi hoituu suoraan Raspberry Pi:lla. Pi tunnistaa kameran ja imuroi kuvat talteen, jonka jälkeen kamera tyhjennetään. Täten varmistetaan että kortilla on aina tilaa. Raspi synkkaa kuvat yöllä Flickriin, jolloin hieman hitaahko nettiyhteytemme ei mene synkronoinnista jumiin.

TfJNWYA

Lisäksi kytkimme labin printterin Raspiin kiinni ja konfiguroimme sen verkkotulostimeksi, eläköön langaton tulostus! Myös uusi lahjoitettu tussitaulu asennettiin seinälle.

Terminaali 80-luvulta

10.2.2016 / Projektit / Max Sandholm
Falco 5220e-terminaali

Falco 5220e-terminaali

Hacklabille saapui vanha sarjaterminaali 80-luvulta (Falco 5220e). Se näyttää niin hyvältä, että se oli pakko saada toimimaan tietokoneen terminaalina, ja tiistaina teimme juuri tämän.

Falco 5220e on ns. ”älykäs” terminaali, joka emuloi RS232-sarjaportin yli mm. VT100- ja VT300-terminaaleja. Se tukee myös tulostimia ja modeemeja, ja tukee monta samanaikaista sessiota ja ikkunaa. Terminaalissa on kaksi RS232-sarjaporttia DB25-liittimellä.

Labin pöytäkoneessa on tavallinen RS232-sarjaportti DB9-liittimellä, eli aloitettiin etsimällä varastosta DB25- ja DB9-liittimet. Valmista kaapelia ei ollut, mutta löytyi eri kaapelinpätkiä, joissa oli tarvittavat liittimet. Seuraavaksi suunniteltiin miten DB25 ja DB9 kytketään oikealla tavalla yhteen. Jos etsii netistä niin löytää helposti nollamodeemikaapelin kaavan, mutta se ei ole tähän tarkoitukseen sopiva. Tässä tapauksessa luettiin terminaalin manuaalista RS232-pinout, ja kytkettiin sen mukaan DB25-pinnit DB9:ään seuraavalla tavalla:

DB9   - DB25
2:RXD - 2:TXD
3:TXD - 3:RXD
5:GND - 7:GND
7:RTS - 5:CTS
8:CTS - 4:RTS

Itse kolvattu kaapeli toimi ensimmäisellä yrityksellä, ja voitiin heti alkaa säätää softassa asetuksia. Terminaalin puolella aloitettiin turvallisesti laittamalla 9600 baud, 8-bit no parity, 1 stop bit, poistettiin käytöstä kaikki receive/transmit control-funktiot, ja valittiin VT100-emulaatio. Labin pöytäkoneessa on käyttöjärjestelmänä Ubuntu, ja sen puolella ajettiin komento:

# getty -L 9600 ttyS0 vt100

Tämä aloittaa tavallisen login-promptin sarjaportilla ttyS0 nopeudella 9600, ja asettaa terminaalin tyypiksi vt100 (näin ohjelmat käyttävät vain VT100-terminaalin tukemia toimintoja). Tämä toimi suurin piirtein ensimmäisellä yrityksellä, ja nostettiin nopeus 19200 baudiin. getty-ohjelma ei silti aivan sovellu ajettavaksi normaalista shellistä, niin siksi kannattaa lisätä getty sarjaportille init-järjestelmän konfiguraatiossa. Tässä seuraa ohjeet Fedoralle (systemd) ja vanhemmalle Debianille (SysVinit), mutta muille järjestelmille on myös helppo löytää ohjeita netistä.

Jos käytät vanhempaa Debiania jossa on SysVinit, niin sarjaterminaali lisätään init:iin muokkaamalla tiedostoa /etc/inittab. Tässä tiedostossa on yhdessä kohdassa rivit, jotka määrittelee virtuaaliterminaalit, jotka näyttävät suurin piirtein tältä:

1:2345:respawn:/sbin/getty 38400 tty1
2:23:respawn:/sbin/getty 38400 tty2
3:23:respawn:/sbin/getty 38400 tty3
4:23:respawn:/sbin/getty 38400 tty4
5:23:respawn:/sbin/getty 38400 tty5
6:23:respawn:/sbin/getty 38400 tty6

Näiden rivien (tai vastaavien) jälkeen lisätään seuraava rivi:

s0:2345:respawn:/sbin/getty -L 19200 ttyS0 vt100

Seuraavalla käynnistyksellä terminaalin pitäisi toimia normaalisti ja näyttää login-prompti.
Jos käytät Fedoraa jossa on systemd (tai muuta käyttöjärjestelmää joka käyttää systemd:tä), niin tämä tehdään toisella tavalla. Aja ensin komento:

# systemctl enable serial-getty@ttyS0

Sen jälkeen muokataan tiedostoa /etc/systemd/system/getty.target.wants/serial-getty@ttyS0.service . Tässä tiedostossa on rivi joka näyttää tältä:

ExecStart=-/sbin/agetty --keep-baud 115200,38400,9600 %I $TERM

Tässä voi muokata agetty:n parametreja kuten esim. baudit halutuiksi. Säästä muutokset ja käynnistä uudelleen, ja sarjaterminaaliin avautuu login-prompt.

Ja näin labilla on nyt aito toimiva 80-luvun terminaali kytkettynä pöytäkoneeseen!

Raspberry Pi HTPC-asennus

21.12.2015 / Projektit / Lauri Hakkarainen

rpi

Olen käyttänyt kotiteatteritietokoneessani (Home Theater PC, HTPC) jo ensimmäisen Xboxin ajoilta peräisin olevaa Xbox Media Center-sovellusta, joka nykyään kulkee nimellä Kodi. Kodi on erittäin näppärä mediasoitinsovellus, varsinkin jos omistaa verkkolevyn, jolla säilyttää mediatiedostot. Kodi soittaa lähes minkä tahansa mediaformaatin monelta erilaiselta verkkomedialta, paikallista tallennustilaa unohtamatta.

Koska Kodi on vain tavallinen sovellus, vaatii se alleen käyttöjärjestelmän jonka päällä sovellus pyörii. Pelkkään mediakeskuskäyttöön on hieman turha asentaa täysiveristä Linuxia tai Windowsia, mutta onneksi Kodin kumppaniksi on rakennettu muutamia erilaisia mediakeskuskäyttöjärjestelmiä, kuten Linuxiin pohjautuva OpenELEC. OpenELEC on hyvin pelkistetty ja riisuttu versio Linuxista, jonka perimmäinen tarkoitus on toimia alustana Kodille.

Oma kotiteatterikoneeni alkaa käydä melko vanhaksi ja kuluttaa suhteessa käyttöön paljon sähköä. Päätin päivittää koneen vihdoin ajantasalle vaihtamalla alustan – ironista kyllä – Raspberry Pi 2:n. Pi 2 neliydinprosessorillaan alkaa olla jo melkoisen mehukas laite Kodin pyörittämiseen. Jo ensimmäinen versio toimi melko sulavasti, kiitos kovan optimointityön, mutta Pi 2 on tehoiltaan jo erittäin riittävä.

Aion tässä artikkelissa kertoa pääpiirteittäin omasta HTPi -asennuksestani, jotta lievästi kokematonkin pääsee ohjeilla Kodin ihmeelliseen maailmaan.

Komponentit

  • Raspberry Pi 2

Raspberry Pi 2:n sijaan voit kokeilla asennusta myös alkuperäiselle Pi:lle, mutta tässä artikkelissa käsittelen asennusta Pi 2:n näkökulmasta.

  • microSD -muistikortti

Jos et halua tallettaa mediatiedostoja itse HTPi:lle, jo muutaman gigatavun kortti käy. Mikäli haluat tallettaa julisteita yms HTPi:lle mediakirjastoa piristämään, kannattaa valita n. 8-16GB kortti. Mikäli tietokoneessasi ei ole microSD-korttipaikkaa, hanki kortinlukija ja/tai sopiva adapteri.

  • microUSB -virtalähde

Virtalähteen olisi hyvä pystyä tarjoamaan n. 2A virta.

  • HDMI -kaapeli

HDMI-kaapelin käyttäminen on suositeltavaa jo pelkästään teräväpiirtokuvan näyttämiseksi. HDMI-kytkennän etuina on myös digitaalisen äänen kulkeminen samaa piuhaa pitkin, sekä mahdollisuus ohjata televisiota HTPi:ltä käsin. Tämä artikkeli ei käsittele muita liitäntätapoja, mutta pienellä säädöllä kaikki on mahdollista.

  • Näppäimistö (Asennuksen aikana, asennuksen jälkeen valinnainen)

Jos haluat käyttää näppäimistöä jatkuvasti, kannattaa valita mahdollisimman pienikokoinen langaton näppäimistö.

  • Bluetooth -dongle (Valinnainen)

Käytän Bluetooth-donglea Playstation 3:n kaukosäätimen yhdistämiseen, jotta käyttämiseen ei tarvitse kömpelöä näppäimistöä.

  • Verkkosovitin

Pi:n isompikokoisemmissa malleissa on sisäänrakennettuna liitin verkkokaapelille, mutta OpenELEC tukee myös useita langattoman verkon sovittimia. Mikäli harkitset toistaa videotiedostoja verkkolevyltä, suosittelen kuitenkin verkon kytkemistä kaapelin kautta. Langaton verkko ei toimi varmatoimisesti ja sisällön puskuroinnissa kestää epämiellyttävän kauan.

Ohjelmiston asentaminen

Käyttämämme OpenELEC-sovelluksen voi ladata ohjelmiston kotisivuilta. Valitse Raspberry Pi-kohdasta omalle Raspberry Pi -versiollesi sopiva ”Stable build” Disk Image – esim tämän artikkelin kirjoittamisen hetkellä lataan RPi2 Second-Generation quad core models (Model B 1024MB) otsikon alta [Stable] OpenELEC 6.0.0 (arm) Disk image. Tallenna levykuva koneellesi.

Kun lataus on valmis, on aika kirjoittaa levykuva muistikortillesi. Tähän on olemassa hyvät ohjeet Raspberry Pi Foundationin kotisivuilla. Valitse tietokoneesi käyttöjärjestelmälle sopiva ohje kohdan WRITING AN IMAGE TO THE SD CARD alta. Tämä artikkeli ei tarkemmin käsittele miten levykuva kirjoitetaan kortille, mutta pääpiirteittäin kaikilla alustoilla se tapahtuu niin, että liität muistikortin (jolle haluat OpenELECin asentaa) koneeseesi, valitset lataamasi OpenELEC levykuvan, ja kirjoitat levykuvan tälle kortille. Huomaathan, että OpenELECin asennus tyhjentää muistikortin sisällön.

Kun levykuvan kirjoitus on valmis, irroita muistikortti ohjeiden mukaan, ja laita se varovasti Pi:n muistikortille tarkoitettuun paikkaan. Älä käytä voimaa, ja varmista että asennat kortin oikein päin.

Laitteiden kytkeminen ja OpenELECin ensimmäinen käynnistys

Kun muistikortti on kytketty, voit kytkeä muutkin laitteet. Kiinnitä HDMI-kaapeli sekä Pi:hin että televisioon, kytke USB-laitteet ja vasta lopuksi virtalähde, sillä laite käynnistyy samantien kun se saa virrat. Televisio kannattaa pistää jo valmiiksi päälle oikealle kanavalle, niin televisio tunnistuu varmasti.

Kun kytket virrat päälle, ilmestyy televisioon OpenELECin logo. Asennus suorittaa ensimmäisellä kerralla muutamia operaatioita ja käynnistyy hetken päästä uudelleen. Kun laite käynnistyy uudemman kerran, saavut tervetulotoivotukseen. Onneksi olkoon, OpenELEC on nyt asennettu. Seuraavaksi vuorossa on konfigurointi.

Yleisten asetusten tekeminen

Asennuksen jälkeen voit konfiguroida laitteen haluamallasi tavalla. Oma tarpeeni on lisätä medialähteet sarjoille ja elokuville, asettaa automaattinen sisällön skannaus päälle sekä asentaa muutama kätevä lisäosa.

Tervetuloruudun asetukset

  • Aseta ensin nimi, jolla laite näkyy verkossa (Hostname)
  • Valitse verkko (esim Wired)
  • Mikäli käytät Windows -verkkojakoja, kytke Samba päälle. Mikäli haluat etähallita konetta, laita SSH päälle

Käyttöjärjestelmän asetukset

System – OpenELEC -osion alta löytyvät OpenELEC käyttöjärjestelmän asetukset. Täältä voi säätää verkkoa, bluetooth laitteita yms. Lisää bluetooth kaukosäädin parittamalla laite Bluetooth-alavalikosta. Täältä voit myös säätää järjestelmän automaattisen päivityksen päälle.

Muut asetukset

Kun tervetuloruudun asetukset on tehty, käy System – Settings -osiossa tekemässä loput asetukset. Enterillä pääset eteenpäin valikoissa, ja askelpalautin vie taaksepäin. Appearance-osiossa olen ottanut navigointiäänet pois (Skin-asetukset), Valinnut kielen, kellonajan ja paikalliset asetukset (International-asetukset).
Video-osiossa olen säätänyt videokirjaston päivittämisen käynnistyksessä päälle (Library-asetukset). Loput oletusasetukset ovat alkuun hyvät.

Medialähteiden lisääminen

Tärkein asetus on tietenkin lisätä median lähteet, jotta päästään katsomaan viihdettä.

Sarjat

Mene Videos -osioon, valitse Files. Mene TV Shows-kohdan päälle ja avaa valikko painamalla näppäimistöltä c. Valitse Edit source, josta voit lisätä kansioita tähän lähdekategoriaan. Itse lisään verkkolevyltäni sarjat lisäämällä uuden lähdekansion valitsemalla Add ja sen jälkeen Browse. Avautuvasta valikosta valitsen Windows network (SMB). Navigoin verkkolevylläni oikeaan kansioon ja painan lopulta OK. Tämän jälkeen valitsen OK dialogin alareunasta. Sen jälkeen valitaan hakemistojen sisältötyyppi. Valitsen tälle kansiolle TV shows, ja käytän scraperina the TVDB:tä. Tämän jälkeen taas OK. Kodi kysyy, että haluanko päivittää kansion tiedot, valitsen Yes.

Elokuvat

Edelleen Videos – Files näkymässä ollessani lisätään kohta myös elokuville. Paina Add videos -kohtaa. Valitse Browse ja navigoi kansioon jossa elokuvasi sijaitsevat. Jätä osion nimeksi Movies. Tämän jälkeen voit taas painaa OK. Valitse sisällön tyypiksi Movies, ja paina OK. Haluat jälleen päivittää sisällöt, joten valitse Yes.

Riippuen kokoelmiesi koosta, ruksuttaa Kodi aikansa. Kodi koittaa tunnistaa elokuvat ja sarjat parhaansa mukaan, mutta ei aina tehtävässään onnistu. Tärkeää olisikin nimetä tiedostot oikein. Vaikka tiedostojen tarkemmat tiedot eivät löytyisikään, saa kuitenkin Files-listauksesta selailtua kansioita tiedostonimien mukaan. Skannauksen jälkeen elokuvat ja sarjat näkyvät nätisti omina osioinaan päävalikossa.

Loppusanat

Loppujen lopuksi asennus on helppoa, vaikka ottaakin aikansa. Lopputuloksena on kätevä mediasoitin, joka on laajasti kustomoitavissa erilaisilla teemoilla ja lisäosilla. Asennuksen jälkeen kannattaa selailla internetistä erilaisia ohjeita ja tutorialeja, jotta Kodi-kokemus muovautuu mahdollisimman mieluisaksi. Hyviä elokuvahetkiä!

Arcade-kabinetti, osa 1

21.12.2015 / Projektit / Lauri Hakkarainen

Olin jo pitkään haaveillut oman pelikabinetin tekemisestä, ja vihdoin aika tuntui olevan omalta osaltani kypsä sellaisen rakentamiseen; Jo valmiiksi hankkimani Raspberry Pi 2 riittää tehoiltaan jo reippaasti monenlaisiin emulaattoreihin ja RetroPie-projekti alkaa olla jo melkoisen mukava käyttää. Olin ostanut etukäteen myös arcade-joystickin ja nappeja, sekä labilta löytyi kabinettiin soveltuva näyttö, joten kasaus alkakoon!

Projekti alkoi testaamalla, että näyttö pelittää. Se soveltui projektiin mainiosti, kun huomasin ottaa värinkorjaukset pois päältä. Tämän jälkeen avasin näytön ja ilokseni huomasin että näyttö sisältää kaiuttimet, joita voin hyödyntää kabinetissa.

Ohjaamista varten olin jo aikaisemmin rakentanut USB-laitteen, johon saan omat kytkimet kiinni. Se näkyy käyttöjärjestelmälle standardina USB-joystickinä. Se toimi hyvin Raspberry Pi:n kanssa ja päätyy siis kabinettiin. Laite perustuu raphnetin skemoihin pienin muokkauksin. Olin myös aikaisemmin rakentanut adapterin, jolla saan NES ja SNES ohjaimet toimimaan USB-laitteina, sekin päätyy nyt osaksi tätä kabinettia.

Laitteen sunnittelun aikana sain työkaveriltani lahjoituksena iCade-kabinetin, josta hyödynsin napit, sillä niiden mikrokytkimissä oli parempi tuntuma kuin aikaisemmin ostamissani. Käytän kuitenkin muutaman aikaisemmin hankitun nappulan sillä haluan laitteeseen lisänapit pinball-pelejä varten. Valitettavasti iCaden kotelo oli liian pieni valitsemalleni näytölle, joten sitä en voinut projektissani hyödyntää.

Kun totesin osien olevan melkolailla kasassa, aloin suunnittelemaan laittelle koppaa. Otin hieman mallia iCaden kotelosta, jossa oli mielestäni näppärät muodot. Otin suunnittelun lähtökohdaksi sen, että kaikki palat saisi leikattua saman levyisiksi, jolloin materiaalin mittaan sahaaminen olisi helppoa. Yhteiseksi mitaksi määräytyi 400mm. Materiaaliksi valitsin 12mm koivuvanerin. Mallinsin boksin Onshapella, joka osoittautui jälleen kerran erittäin hyväksi työkaluksi vapaasti muuteltavien mittojen ja relaatioiden takia. Kun osat oli mallinnettu, otin kappaleiden mitat talteen ja tilasin osat valmiiksi leikattuna. Kätevää.

Koppa syntyi melko nopeaa tahtia, kun kaikki mitat sai cadipiirrustuksesta. Kun koppa oli vihdoin kasassa, sain kiitellä onneani että olin arponut näytön kulman ja muut mitat juuri passeleiksi.

kabinetti

Kun kabinetti oli kasassa, mallinsin kaiuttimille pidikkeet, jotka laitoin tulostumaan. Ensikerralla saan ne paikalleen, sekä on aika alkaa ahertaa kontrollerin painikkeiden kanssa. Lisää projektista ensipostauksessa.