keskiviikko 26. kesäkuuta 2013


Cubox – GeeXbox – Xbmc

GeeXboX on Linux-jakelu, jossa on mahdollista käyttää esimerkiksi valmiiksi konfiguroitua XBMC Media Center-ohjelmistoa HTPC (Home Theater PC) kotiteatterina. XBMC on mediasoittimen tapaan toimiva graafinen käyttöliittymä.

GeeXboX itsessään ei ole sovellus, vaan se on täydellinen monipuolinen nopean käynnistyksen käyttöjärjestelmän. GeeXboX Linux-jakelu on kevyt ja suunniteltu yhtä tarkoitusta varten, muuntaa tietokone multimediasovellusten käyttöalustaksi. Voitaneen siis puhua sulautetusta järjestelmästä.




Olen aikaisemmin käyttänyt XBMC:tä myös Raspberry Pi:ssä, mutta kuten jo ennakkoon arvelin, sen suorituskyky ei mitenkään riitä multimediatehtäviin. Miniatyyrikoneessani Cubox pro:ssa on vapaata keskusmuistia noin puolitoista gigaa ja ARM-prosessori pystyy ilman kiidytystäkin esimerkisi käsittelemään viedotallennetta. Pitää vain saada sopiva softa rouskuttamaan multimediaa – ja softalle siis alusta. Toisin kuin Raspberryssä, jonka ympärille on kehittynyt vilkas ja monivivahteinen yhteisö, Cubox:iin on kaikki hiukan enemmän hakusessa. Raspini suorittavat kyllä monipuolisesti ja varmasti niille antamiani tehtäviä. Cubox:ini pystyisi kaikessa samaan, mutta sen parempi suorituskyky olisi niissä tehtävissä hieman hukkakäytössä.

Tukin moneen kertaan mahdollisuuksia asentaa GeeXboX laitteeseen. Tehtävä näytti monimutkaiselta. Oli ilmeisesti myös mahdollista tehdä kohtalokkaita virheitä asennustoimissa. Kokemukseni on osoittanut, että jos se on mahdollista, niin se myös tapahtuu. En keskittynyt riittävästi maaseudun rauhassa toimiin, ja kun ajatus harhaantuu, niin myös lipsahtaa. Ensimmäinen yritykseni sotki koneen falsh-muistin ja sen jälkeen minulla oli vain 5x5x5 sentin kokoinen musta laatikko. Tarkkaan katsoen voin havaita, että verkkokortti näytti olevan hengissä. Muuten laitteessa ei näyttänyt olevan elämää. Joku varmaankin toteaa, että mitäs hölmö ryhdyit hommaan, jota et osaa. Kysynpä, että mitäs jos et aikanaan olisi kokeillut pyörällä ajoa tai uimista ensimmäistä kertaa. Pikku (isokin) epäonnistuminen sopii kyllä minulle, harrastajalle – jollekulle taas sopii valmis maailma. Ajattelin, ettei näin hienoa laitetta voi sentään pitää pelkkänä sisustuselementtinä. Olin joskus nettiä penkomalla selvittänyt täysin kuolleen Aspire Onen käynnistyksen palauttamisen. Valmistusprosessissa on tavalla tai toisella Cubox:in muistiin tungettu käynnistysohjelmisto. Voisinko tehdä sen myös itse. Voisin, sillä muutoinhan en kirjoittelisi tätä vaan ohikulkiessani loisin kaihoisia katseita pieneen mustaan sisustuselementtiin ja ajattelisin, että kuinka paljon näppärää älyä maailmassa hukataankaan.

SolidRun:in wiki-sivustoilla kerrotaan monipuolisesti Cubox:in ominaisuuksista, käyttömahdollisuuksista, käynnistysjärjestelmästä, asennuksista ja säätämisestä. Tietoa on olemassa. Tieto on melko hajallaan – ja miten se muutoin voisi ollakaan. Aikaisemmin uudet it-maailman tiedot piti lukea varta vasten tehdyistä ohjekirjoista. Kirjoja tehdään edelleenkin. Maailma on kyllä muuttunut siten, että tietojen etsiminen netistä taitaa useimmin olla etusijalla. Tässä tarvitsemiani tietoja on nimenomaan kätevää hakea netistä.

Mainituilla wiki-sivuilla selostettiin erilaisia menetelmiä esimerkiksi flash-muistin päivittämiseksi. Löytyi myös lääke ”kuolleen lasaruksen” (kirjoittajan ilmaisu, ei tietoteknistä slangia) henkiin herättämiseen. En yritä kuvailla yksityiskohtaisesti toisella linux-koneella tekemääni palautusta. Se oli sen verran monimutkainen, että varmaankin jotain oleellista jäisi pois ja ohjeen mukaan yrittäjän homma kaatuisi. Itse onnistuin kolmannella kerralla. Netissä oli ladattavaksi muutama välttämätön paketti, jotka purin ja sijoitin usb-muistitikulle. Lisäksi varmistin Linux-koneellani, että asennettuna olivat Cubox:iin tapahtuvaa tiedonsiirtoa varten tarpeelliset ohjelmat. Siirto tapahtui sarjaliikenteellä Linux-koneen usb-portista Cubox:iin kytketyllä kaapelilla. Kun Cubox oli ”herännyt” loput asennuksen vaatimat toimet tein Putty-ohjelman ssh-yhteydellä. Ohjeet olivat paikoin sen verran pelkistettyjä, että tarvitsin todellakin kolme yritystä, ennen kuin homma oli valmis.

Nyt on Cubox:illani, kukin erillsellä, pikkusormen kynnen kokoisella microsd-kortilla, kolme käyttistä, Ubuntu 12.04, Arch linux ja GeeXboX. Ensimmäisiä tehtäviä uudella miniatyyri-multimedialaitteellani oli sääennusteen säätäminen näyttämään kahden paikkakunnan säätietoja. Niitä onkin tällä kesäkelillä mukava katsella. Elisa-viihteen tallenteita voin pikku ihmeelläni myös katsella netin kautta. Testattavana on ollut myös surkein nettitikkuyhteyteni. XMBC:n ilmeisen fiksu kuvanpäivitystapa yhdessä youtuben palvelun kanssa antavat juuri ja juuri mahdollisuuden videoiden katseluun surkealla nettitikkuyhteydellä youtubesta. Musta pikku kuutioni saattaisi siis auttavasti palvella myös maaseudun rauhassa. Latauksia joutaa kyllä vartoilemaan, sillä kiirettähän eläkeläisellä ei ole siellä eikä täällä, vaikka joku muuta väittäisikin.

Joudun palauttamaan mieleeni XBMC:n käyttämisen kikkoja. Käyttötaitojen palauduttua saan boksistani ulos yhtä sun toista muutakin. Peruskäyttäjän välineiksi nämä miniatyyrikuutiot ja saippuarasiat ovat ehkä hieman haastavia, mutta Don Quijoten aseenkantajalle hyvinkin mielenkiintoisia. Eipä olisi Sancho Panza aikoinaan arvannut, että hänen faninsa laajentaa taulutelkkarinsa hyödyntämään myös nettiä.

Tampereen helteessä 2013
Hannu Haapasaari

lauantai 8. kesäkuuta 2013

Raspberry Pi viestittää

Aluksi pari lainausta verkkosivulta Internetix opinnot:

1. "Maailma on jatkuvassa muutoksen tilassa. Jokainen hetki on täydellisesti erilainen kuin toinen. Se ruusu, jonka poimin tänään, on huomenna kuollut. Vaikka jättäisin sen kasvamaan, se kuihtuu eikä pysy ennallaan. Kuitenkin sen tilalle kasvaa uusi ruusu, samanlainen; onko mikään sittenkään muuttunut?"

2. "Hyvyys on harmoniaa ja tasapainoista tarkoituksenmukaisuutta, joka ilmenee ihmisen teoissa, yhteiskunnissa ja koko maailmankaikkeudessa. Pahan ideaa ei ole samalla tavalla olemassa, vaan tietämättömyys hyvästä aiheuttaa tekoja, jotka eivät ilmennä hyvyyttä oikein." 

(1. Muutoksen ja pysyvyyden ongelma 2. Platonin idealismi, Johdatus filosofiseen ajatteluun
Minna Vähämäki/Otavan Opisto)

Entäpä, jos mikään ei toimi

Todella, maailma muuttuu. Ihmisten keskeisessä kanssakäymisessä muutokset voivat joskus olla äkillisiäkin, ja myös peruuttamattomia. Entinen siedettävä tilanne muuttuu ehkä sietämättömäksi. Siis tilanneko - vai ihminen. Enemmän tai vähemmän dramaattisia kokemuksia on varmaankin kaikilla. Ääripäänä on ehkä täydellinen luottamuksen katoaminen. Kerran menetettyä luottamusta ei voi palauttaa - sanotaan.

Entäpä tietotekniikassa. Rakentaessaan luotettavaa järjestelmää yrittää suunnittelija ottaa etukäteen huomioon mahdollisia yllättäviä tekijöitä. Tietotekniikassa tehtävä on hallittavissa. Bitit ja tavut järjestyvät koodauksen mukaisesti. Mahdollisten ongelmien ennakointi on toki hiukan monimutkaista. Hyvin suunnitellussa sovelluksessa käyttäjälle jää vain vähän mahdollisuuksia suorittaa vääriä, ongelmiin johtavia toimia. Ulkopuolelta tulevista vaikutuksista muodostuu oma ongelmakenttänsä. Vaikutuksia voi olla monenlaisia, sähkökatko, ukonilma, häiriöt verkkopalveluissa, ilkivalta jne. Osa ongelmatilanteista on sellaisia, että seurauksena on "mikään ei toimi".

Varmistamisesta

 Olen rakentanut vaatimattomaan Raspberry Pi tietokoneeseeni toimintoja, joita hallitaan etäkäytöllä. Raspin etähallinta on perusteltua vaikkapa siksi, että oman koneen näyttö voi toimia myös Raspin näyttönä. Ja tietenkin, etäkäyttöinen Raspi voi olla sijoitettuna melkein mihin vain, kunhan siihen saa verkkoyhteyden. Suuri osa laitteen toiminnasta  on automaattisten, sovelluksiin kirjoitettujen, toivottavasti vakaiden toimintojen varassa, mutta välillä tarvitaan myös käyttäjää. Turvallisuussyistä koneelle pääsy on rajoitettu minimiin, kuten edellisessä blogissa kuvailin. Vain ssh-yhteys on käytettävissä. Koneen ja sen toimintojen hallinta tällä tavoin vaatii käyttäjältä osaamista. Mikä siis voisi olla ongelmana. Sähkökatkosta toipumisen voi automatisoida ja niin olen tehnytkin. Häiriö verkkoyhteydessä on ehkä hieman hankalampi. On mahdollista, että em. häiriön seurauksena tai muusta syystä yhteys nimipalvelimeen katkeaa. Etäkäyttö ulkoverkosta on silloin mahdotonta. Koneiden välinen liikenne on ip-osoitteiden varassa. Nimipalvelimet palauttavat hukatun yhteyden automaattisesti tai yhteyden luominen vaatii käyttäjän toimia. Jos automaattinen palautus ei syystä tai toisesta toimi, niin mikä neuvoksi, kun yhteyttä ei voi saada käyttäjän koneelta. Ongelma ratkeaa, kun etukäteen ohjelmoi etäkoneen ilmoittamaan ip-osoitteensa sähköpostilla tai tekstiviestillä.

 Cron

 Cron on ajastuspalvelu Unix-pohjaisille käyttöjärjestelmille. Cron ajastuspalvelua käytetään hyvinkin erilaisiin tehtäviin. Tässä rajoitun kuvailemaan, kuinka voin ajastuspalvelun avulla saada Raspini lähettämään oman ip-osoiteensa sähköpostilla. Kone voisi lähettää ip-osoitteensa muullakin tavalla koneen käynnistyttyä, mutta cron voi ajastaa osoitteen lähetyksen tapahtumaan esimerkiksi kerran tunnissa. Cron suorittaa Raspissani lisäksi kahta muuta palvelua. Niistä en halua lähetystä sähköpostiini. Olen siis sulkenut niiltä sähköpostin lähetyksen. Varmaankin olen noviisi cron:in säätämisessä - niinkuin monessa muussakin asiassa. Etsin kyllä tietoja, mutta kun ei löytynyt helpolla, päätin antaa rootin lähettää tiedon ip-osoitteesta. Kaksi muuta ajastustoimintoa on säädetty tavalliselle käyttäjälle eikä niistä lähetetä sähköpostia. Siis miten root lähettää?
 
 Rootin sähköposti lähtee hakemistoon /etc/cron.hourly kirjoittamallani pienellä skriptillä kerran tunnissa. Ohjelmalla wget root kysyy palvelimelta curlmyip.com että "mikä mahtaisi olla minun ip-osoitteeni". Vastaus löytyy wget:in kirjoittamasta tiedostosta "index.html". Netistä löytyy moniakin palvelimia, jotka selvittävät käyttäjän koneen ip-osoitteen. Tämä löytämäni curlip.com näytti sopivan hyvin käyttööni. Toivottavasti palvelimen administraattori ei hermostu, kun joku hölmö tunnin välein kysyy aina samaa asiaa. Pikku tuumailun jälkeen sain aikaan toimivan skriptin tiedon lähettämiseksi:
 
#!/usr/bin/env bash
wget -o - http://curlmyip.com && ssmtp omaposti@gmail.com omaposti@gmail.com < index.html && rm index.html*
  

Postin lähetys tapahtuu ohjelmalla ssmtp, joka on konfiguroitu käyttämään gmail:ia. Lyhyt selväkielinen selitys ehkä vähän krypitiselle komentoriville: wget tallentaa Raspin ip-osoitteen tiedostoon "index.html". Ohjelma ssmtp  käyttää syötteenään tiedoston "index.html" sisältämää tietoa ja lähettää sähköpostin. Tiedostoa "index.html" ei enää tarvita ja se poistetaan. Vaikka aikaansaamani vähäinen, tunnin välein toistuva liikenne hyvin hukkuu gmail:in käsittämättömän suureen liikennemäärään, toivon ettei kukaan gmail:issa hermostu, kun joku hölmö lähettää itselleen aina tunnin välein neljä pisteellä erotettua kokonaislukua sisältävän sähköpostin. 
  

Lopuksi
 
 Jos en pidä kännykkääni äänettömällä, se kilahttelee silloin tällöin ja aina tunnin välein. Ongelmatilanteesssa Raspi lopettaa lähettelyn. Se ilmoittaa itsestään hiljaisuudella, josta erottuu kaikki "silloin tällöin" lähetetty. Jos säännölliset kilahtelut taas joskus alkavat, kyseessä oli vain sähkökatko. Alkukesän lämmössä voin regoida "kännykkähiljaisuuden" suhteelliseen tiivistymiseen tai vain antaa olla. Kaupunkiasunnon terassilla hiljaisuutta vähentää joskus meren ääniä muistuttava liikenteen taustakohina. Maalla hiljaisuus on toisenlaista. Minkälaista hiljaisuutta köyhän kivityömiehen poika, nuorena satamatyöläinen ja sepän apulainen, lopulta kirjailija ja akateemikko, mahtoikaan kuunnella joskus 1900-luvun alkupuolella. Liitän arvoisan lukijan kuunneltavaksi hänen ajatelmansa: "Pysähdy ja ole hiljaa ja kuuntele. Maailman äänet eivät ole vain pahuuden ja tyhmyyden ääniä. Kaikkialla humisevat myös hyvät äänet, mutta niitä voi kuulla vain se, joka pysähtyy kuuntelemaan." (Ajatelma kirjasta "Totuuden ja kirkkauden tiellä", WSOY 1958, Toivo Pekkanen, 1902-1957)
 
  Hannu Haapasaari