sunnuntai 29. joulukuuta 2013

Disclaimer: Tiedän, että on henkilöitä, jotka potevat kamera-allergiaa, jopa kamerafobiaa. Jos kuulut heihin, älä missään tapauksessa lue tätä. Terveisin Kirjoittelija


Raspikamerat
Mikrofanin kerhoiltaa varten

Pikku tietokoneeseen Raspberry Pi on saatavana kameramoduli. Kerhoillan esittelyssä on kameran tavallinen versio sekä versio, mistä ir-suodatin on poistettu.

Raspberry Pi:n käyttömahdollisuuksista

Tietoa käyttömahdollisuuksista löytyy esimerkiksi sivuston vadelmapii.com blogista. Katsele, jos et ole allerginen tuotesijoittelulle – miksi olisit.

Tietoa kamerasta (ja raspista)

Tietoa suomeksi lyhyesti löytyy esimerkiksi sivuston vattu.fi linkistä ”RaspiCam”.
Tietoa kameran käyttöönotosta ja esimerkkejä kokeilua varten löytyy englanniksi osoitteesta http://www.raspberrypi.org/camera.

Raspikameran ja raspinoir (ilman ir-suodatusta) vertailua ja tietoa löytyy esimerkiksi sivuston raspi.tv blogista
on selkeästi ryhmiteltynä käyttö- ja kokeiluvinkkejä Raspberry Pi:lle.

Jo pelkkä mahdollisuuksien katseleminen voi olla antoisaa:
saati sitten kokeileminen.

Miten yönäkö halvalle kirppiskameralle (usb-kamera)

Youtubessa (mm.) on useita videoleikkeitä, missä homma esitetään havainnollisesti. Esimerkiksi http://www.youtube.com/watch?v=TUtBuOHfxnA
Näin on tehty myös standardi raspicam:ille. Tehtävä on yksinkertainen, mutta vaatii kellosepäntarkkaa toimintaa ja huolellisuutta. Jos haluat kokeilla, tee homma halvalle laitteelle.













keskiviikko 11. joulukuuta 2013

Raspberry PI:n kameramoduuli ja piilovandalismi


Mielessäni on ollut houkutus. Mahtaisiko Raspberry Pi:n voida säätää niin, että siitä saisi riistakameran. Miksei, myydäänhän niitä valmiinakin. Harrrastaja tekee mielellään joitain asioita ihan itse. Onhan tuo minun Raspini jo ollut kamerapalvelimena. Pari pikku yksityiskohtaa on vaivannut, palvelimen toiminnan tahmeus ja kirppistasoisen kameran melko vaatimaton resoluutio. Erityisesti videovirta vaatii niin paljon pikku tietokoneen resursseja, että tarvitaan hyvä mielikuvitus, jotta voisi puhua katselunautinnosta.

Tutkin netistä Raspberry Pi:n kameramoduulia ja yritin arvioida sen käyttöönottoa. Olen  ryhtynyt toimeen, koska luet tätä. Pikku moduulikortti painaa n. 40 grammaa ja sen hinta on ostopaikasta riippuen 30-40 euroa. Kortin mitat ovat 25 x 20 x 9 mm. Siinä on 5 megapikselin sensori, tuki on 1080p, 720p, ja 640x480p videolle. Laitteelle löytyy natiivi ohjelmistotuki Raspbian käyttöjärjestelmästä. Kun vielä olen melko hyvin sinut debian-tyyppisen linuksin kanssa, uskoin, että käyttöönotto olisi usb-kameroihin verrattuna ongelmattomampaa. Näin uskoin siitä huolimatta, että nettisivut lupailivat tehtävään monimutkaisia kiemuroita.

Nettisivulla http://www.raspberrypi.org/camera on selkeät ohjeet kameramoduulin käyttöönottoa varten. Käyttöönotto tapahtuu suorittamalla ensin kaksi päivitystä komennoilla sudo apt-get update ja sudo apt-get upgrade. Sen jälkeen otetaan käyttöön Raspin konfigurointi-ikkuna komennolla sudo raspi-config ja otetaan kamera käyttöön (valinnasta camera). Katso em. ohjesivua vaikkapa uskon vahvistamiseksi. Tässä oli koko homma.

Varsinainen haaste on siinä, mitä aiot uudella kamerallasi tehdä. Itse asetin laitteelleni, joka em. toimin oli muuntunut pikku tietokoneenrääpäleestä tehokkaaksi kamerapalvelimeksi, muutamia toiminnallisia tavoitteita. Komentoriviltä ajettavat valmiit ohjelmat raspivid ja raspistill mahdollistavat videon tai yksittäisen kuvan kaappaamisen kortilta. Toimintoja saan aikaan yksikertaisilla komennoilla tai pikku skripteillä. Alkuun pääset edellä mainitun nettisivun esimerkeillä.

Esimerkkejä komennoista tai skripteistä:

Still-kuvan tallennus raspistill -o image.jpg
Kuva tallentuu hakemistoon, josta annoit komennon. Jos kirjoitat kuvan nimen eteen myös polun voit tallentaa kuvan muuallekin.

Videoleikkeen voit tallentaa vastaavasti komennolla  raspivid -o video.h264

Esimerkiksi seuraava skriptini hhkamera käynnistää videon suorakatseluun

#!/bin/bash

raspivid -t 0 -p 200,100,1024,768
exit 0

Lukupari 200,100 määrittelee videoikkunan yläkulman sijainnin koordinaatistossa, jonka origona on näytön vasen yläkulma
Lukupari 1024,768 määrittelee ikkunan leveyden ja korkeuden
Videokuva toistuu HDMI-kaapelilla näytölle laadukkaasti, selkeänä ja nykimättä.
Tätä videoikkunaa on turha yrittää katsella esimerkiksi etäkäytöllä, se on suoraan prosessorin tuottamana ihan oma omituinen itsensä. Etäkatselua tarvitseva joutuu striimaamaan videovirran nettiin. Esimerkiksi VLC näyttää sitten etäkoneen lähetyksen nettiyhteyden laadusta riippuen ehkä hieman nykivänä ja tahmeammin, koska onhan Raspi tällaiseen hommaan sentään aika vaatimaton laite. Videon lähetys netin kautta ei onnistu pelkästään em. natiiviohjelmilla vaan on tehtävänä huomattavasti vaativampi. Se olkoon sitten oma messunsa. Muistikortille tallentamalla selvitään, ainakin osittain, vaatimattoman suorituskyvyn aiheuttamista ongelmista.

Huomasit, että Raspin graafista työpöytää ei tässä käytetty ollenkaan. Ohjelmassa raspi-config voi laitteen toki säätää käynnistymään suoraan graafiselle työpöydälle. Vaikka se on tässä tarpeetonta, ei siitä olisi merkittävää haittaakaan. Meikäläiselle notepad-käyttäjälle komentokielellä askartelu sopii oikein hyvin. Grafiikkaa tarvitaan välttämättä vain siellä, missä kuvia katsellaan.

Edistyneemmässä Raspin käytössä kamerapalvelimena pitää skriptien tietenkin olla vähän (vain vähän) monimutkaisempia. Siinä on harrastajalle mukavasti pikku haasteita. Lisää haasteita laitteen käyttöön riistakamerana tuovat Suomen talvi ja syvemmällä korpimailla akun kapasiteetti.

Urbaaneissa oloissa huomioon on otettava myös vandalismilta suojautuminen. Raakaa konkereetista vandalismia voi yrittää torjua pomminvarmalla suojarakenteella. Taannoin nähdyssä jääkarhujen elämää kuvaavassa ansiokkaassa luontodokumentissa kuvauksen kohde osoitti suurta mielenkiintoa upeasti kehiteltyä kuvausrobottia kohtaan. Melkein kaikki oli varmistettu sekä kuvauksia että mekaanista suojausta ajatellen. Lopputuloksena tuossa episodissa oli, että utelias jääkarhu lopulta talloi robotin lyttyyn ikiaikaisella jään rikkomiskonstillaan. Kyseessä ei siinä tapauksessa ollut vandalismi. Luonto puhui luojastaan - ydinfysiikan professori K. V. Laurikaista (1916-1997) mukaillen.

Vandalismi on monitahoinen ilmiö. Sillä on ulottuvuus, jota tässä nimitän piilovandalismiksi. Vanha suomalainen liitännäisilmaisu voisi olla myös selkään puukottaminen. Henkilö piiloutuu virtuaalisen "J-naamarin" taakse ja aiheuttaa vahinkoa, mutta kaikki on olevinaan ok. Joissakin primittivisissä kulttuureissa ilmenee vieläkin kuvaamisen pelkoa, pelkoa siitä, että kuvattavan sielu vahingoittuu kuvaamisesta. Kuvaamiselta suojaudutaan kieltämällä tai tuhoamalla kamerat, joskus ääritapauksessa tappamalla kuvaajat. Onneksi Pikku-Hitlereillä tai Pikku-Napoleoneilla on huonosti kysyntää nyky-yhteiskunnassa. Edistyneessä nyky-yhteiskunnassa piilovandalaismin kasvot ovat verhotummat kuin edellä esitetyssä esimerkissä. Ilmiön käyttövoimana lienee taustalla olevien primitiivisten pelkojen ohella kauna ja kateus, ja sitä ruokkii tietämättömyyden ohella epävarmuus. Näköalattomuus yhteisödynamiikassa vahvistaa piilovandaalin omaa mielikuvaa toimintansa oikeutuksesta. Miten torjua piilovandalismia. Itse torjun sitä tässä ajankohtaisessa erityispapauksessa viemällä laitteeni noin 120 kilometrin päähän kaupunkiasunnoltamme. Voi olla, että lyhyempikin turvaväli olisi riittävä, turvaväli on kuitenkin tässä välttämätön. Turvaväli turvaa meille myös raikkaammat ja avarammat näköalat. Varmaankin paljon käytettynä yleisenä torjuntakeinona on periaate "mitä ei katso, sitä ei ole".

Luontoystävällisissä merkeissä joulukuussa 2013
Hannu Haapasaari


perjantai 26. heinäkuuta 2013

Cubox – GeeXbox – infrapunaohjaus

Olen kehittämässä Cubox:ini XBMC- käyttöliittymästä apulaista (”mediakeskusta”) taulutelkkarimme kylkeen. Televisionomainen käyttö tapahtuu kapulalla (infrapunaohjain). Infrapunaliikenteen tarkempi tutkiminen on minulle jäänyt aikaisemmin vain ajatukseksi jonnekin bittiavaruuteen. Kun useimpien medialaitteiden ohjaus kai tapahtuu kapuloita käyttäen, on kevyt pinnallinen infrapunaliikenteeseen perehtyminen nyt tullut ajankohtaiseksi.

Cubox:issa on ir-vastaanotin 38 kHz ohjaimia varten. Ohjainten käyttömahdollisuus pullahti esiin, kun maaseutuasunnossamme sattumalta havaitsin, että Cubox:ini tottelee samaa kapulaa kuin Sony taulutelkkarimme. Kapulan käyttö tuntui luontevammalta kuin käytössä myös olevan langattoman näppäimistö- hiiriyhdistemän. Mietin, olisiko maailma niin valmis, että voisin muuallakin käyttää käsiin sattuvaa ir-ohjainta noin vain. Epäilin, että ei kai nyt sentään. Ei ollut. Täällä Tampereella telkkarimme on myös Sony. Se on eri mallia kuin maalla. Samoin kapula on eri näköinen. Äveriäämmästä laitteistosta huolimatta, kaupunkikapula ei toiminut Cubox:in kanssa. Maailma ei siis itsestään selvästi ole valmis tältä osin. Tutkin asiaa hieman.

Ir-ohjainten liikenteessä on käytösää ainakin seuraavat prokollat: NEC, RC-5, RC-6, JVC, SONY, LIRC. Ilmeisessti NEC on yleisimmin käytössä. Lisäksi kunkin ohjaimen lähettämät koodit ovat juuri tuolle laitteelle yksilöllisiä. Olen kokeillessani säätänyt Cubox:ini ymmärtämään muutamaa ohjainta. Vanha Terratec:in tv-kortin mukana tullut ohjain käyttää NEC:iä. Hong Kong -liikkeestä noin kuudella eurolla ostettu käyttää RC-5 protokollaa. Kirpputorilta kahdella eurolla ostettu Smartbox-ohjain käyttää joko NEC tai RC-5 protokollaa. Vanha ruotsalainen.Kungen tai jotain sinne päin on itsessään niin monipuolinen, etten viitsinyt tutkia pidemmälle, kuinka saisin kaiken Cubox:issa tarvitsemani toimimaan sillä – jäi siis ”vaiheeseen”. Maaseutukapula on Sony-perhettä, en ole tutkinut sitä, sillä sehän toimi silloin – ei ehkä toimi enää. Keskustelupalstojen perusteella arvelen, että SONY on varmaankin aika hankala. Nyt mukanani maalle kulkee Cubox:in lisäksi myös esimerkiksi hongkongilainen tai kirppiskapula.

Hiukan tutkimisesta ja koodaamisesta

Nettisivustosta http://www.solid-run.com/mw/index.php/GeeXboX kohdasta ”Remote control – Setup” löytyy aika hyvät ohjeet. Sivulla http://xbmc.exstatic.org/ir_keys.txt on lista xbmc:n koodeista. En yritä kirjoittaa tekstiäni ohjeenomaisesti. Paras tapa perehtyä kapulaliikenteeseen on käyttää em. linkkien tietoja ja tätä kuvailua, josta varmaankin puuttuu joitain ”pikku juttuja”. Edellä mainittujen kahden linkin tutkiminen on välttämätön edellytys sille, että arvoisan lukijan mahdollinen oma yritys voisi onnistua.

Kapulaliikenteen tutkiminen alkaa parin GeeXboX-linux:in palvelun pysäyttämisellä: komento systemctl stop eventlircd.service pysäyttää infrapunaliikenteen palvelimen ja komennosta systemctl stop xbmc.service voit päätellä, että se pysäyttää xbmc:n palvelun. Jos kapulasta ei ole mitään tietoja voi kokeilla esimerkiksi komennon  
ir-keytable -c -p NEC,RC-5,RC-6,JVC,SONY,LIRC -t käyttöä. Komennon valitsin -t käynnistää ir-keytable:n testimoodissa ja se jää odottelemaan kapulan näppäimen painamisen aikaansaamaa lähetystä ja palauttaa painetun kapulanäppäilyn koodin. Testauskomento ir-keytable -t soveltuu jo koodatun kapulan testaukseen esimerkiksi, kun näppäilyn toimintaa pitää muuttaa. Jos selostus vaikutti sekavalta ja hämärältä asiaa varmaankin selventää seuraava ”hannunkapulan” kooditiedosto, tiedoston muoto on 
koodi KEY:

# table hannununkapula, type: RC5
0x0f KEY_OK
0x2c KEY_OK
0x2a KEY_UP
0x35 KEY_DOWN
0x22 KEY_LEFT
0x38 KEY_RIGHT
0x2c KEY_OK
0x0a KEY_EXIT
0x28 KEY_EXIT
0x3c KEY_PAUSE
0x2b KEY_PLAY
0x29 KEY_STOP

Huomaat, että toiminnoille ”OK” ja ”EXIT” olen varannut kaksi kapulan näppäintä kummallekin (kerran pedagogi – aina pedagogi).

Cubox:issa GeeXboX:in hakemistossa /etc/rc_keymaps on lukuisia valmiita kooditiedostoja erilaisille infrapunaohjaimille. Muokkaamalla niistä jotain sopivaa voit kaiken kirjoittamiseen verrattuna hiukan pienemmällä vaivalla saada oman kapulasi avulla XBMC:n käyttäytymään asiallisesti ja siivosti. Kun olet komennon ir-keytable -t avulla selvittänyt kapulastasi haluamasi näppäilyt ja koodit ja tallentanut haluamallasi nimellä uuden kooditiedostosi hakemistoon /etc/rc_keymaps, voit ottaa sen käyttöön muokkaamalla tiedostoa /usr/bin/change-rc. Oma muokattu tiedostoni näyttää esimerkiksi tältä:

#!/bin/sh

KEYMAPS="hannunkapula"

if [ -n "$KEYMAPS" ] ; then
ir-keytable -w /etc/rc_keymaps/$KEYMAPS && echo "changing keymaps to $KEYMAPS"
else
echo "No specific keymaps, abording ..."
fi
exit 0

Tässä esimerkissä otetaan siis käyttöön ”hannunkapula”.

Olen tehnyt kooditiedostot muutamaa erilasta kapulaa varten ja laitan tähän lopuksi malliksi skriptin, jolla otetaan käyttöön ”hannunkapula”:

#!/bin/bash

cp /usr/bin/cha1 /usr/bin/change-rc
systemctl stop eventlircd.service
systemctl stop xbmc.service
sleep 1
ir-keytable -c
ir-keytable -w /etc/rc_keymaps/hannunkapula
sleep 1
systemctl start eventlircd.service
systemctl start xbmc.service

Muutamien omien kapuloitteni kooditiedostoihin viitataan tiedostoissa cha1 cha2 cha3 ...
Haluttu ”cha” kopioidaan tiedostoon change-rc,
kaksi palvelua sammutetaan,
hannunkapula” otetaan käyttöön ja
sammutetut kaksi palvelua käynnistetään.

Siis Cubox:ini hakemistossa /root on esimerkiksi ajokelpoiset skriptit kapula, kapula-t ja kapula-k. Kun suoritan esimerkiksi komennon ./kapula, voin käyttää ”hannunkapulaa”. Monien kapuloiden käytössä ei tietenkään ole mitään järkeä, mutta tutkittujen joukosta voi sitten valita parhaiten käteen sopivan.

Kapulakielinen tekstini suotaneen anteeksi asian luonteesta johtuen.

Kapulat rivissä heinäkuussa 2013
Hannu Haapasaari

Ps. Elokuussa 2013

XBMC on XBMC-säätiön kehittämä ilmainen ja avoimen lähdekoodin mediasoitin. Mietin, että se varmaankin olisi asennettavissa eri käyttöjärjestelmille. Kokeilin ensiksi sen asentamista Ubuntuun. Synaptic ohjelmasta löytyi asennuspaketti kirjastoineen. Asennus onnistui vaikeuksitta. Käytettävyys oli linux-koneeni suorituskyvyn mukaisesti hyvä. 

Kuljetan kaupunki- ja maaseutuasuntomme välillä mukana Windows 8:lla varustettua läppäriä. Googlen haulla "xbmc download" olin löytänyt nettisivun, jolla oli XBMC:n latauslinkit kahdeksalle eri käyttöjärjestelmälle, mukaan luettuna Windows. XBMC:n asennus Widowsiin oli niinikään vaivaton ja ongelmaton. Soittimen käytettävyys oli erittäin hyvä. Otin käyttöön myös XMBC:n web-palvelimen. Sain kapulavalikoimaani vielä yhden lisän, HTC-kännykkäni. "Kapulaksi" käy itse asiassa mikä hyvänsä kännykkä tai tietokone, jossa on mahdollisuus ottaa paikallisverkossa selainyhteys. Voin siis ottaa paikallisverkossani selainyhteyden XBMC:hen ja komentaa sitä kännykkäni tai tietokoneeni näyttööni ilmestyneellä "kapulalla". Teknisesti katsoen XBMC:n http-palvelin lähettää ohjaimen käyttäjän selaimelle lomakkeen (kapulan kuvan). Kuvan näppäimet välittävät koodattuja palvelupyyntöjä soittimen web-palvelimelle (esimerkiksi: "Paas näyttäin sääennuste"). Jos olet kiinnostunut XBMC-mediasoittimen käyttämisestä tällä tavoin, pääset esimerkiksi Windows-koneella vaivattoman asennuksen ja muutamien säätötoimien jälkeen kokeilemaan ihmettä.

Kokeilumielellä HH




tiistai 16. heinäkuuta 2013


Cubox-GeeXbox-kokemuksia


Cubox:ini GeeXboX on ollut tutkimisen kohteena. XBMC käyttöliittymä on osa ”valmista maailmaa”. Käyttöliittymä tottelee sekä näppäimistöä että hiirtä. Miellyttävä yllätys on ollut, että voin komentaa Cuboxiani myös taulutelkkarimme kapulalla. Jos pysyttelen graafisessa ”valmiissa maailmassa”, hoituu XBMCn menujen käyttö kätevästi, televisionomaisesti. Komennot välittyvät viiveittä. Toimintaviiveitä tietenkin tulee johtuen surkeasta mobiilidatayhteydestä ja osin Cubox:in suorituskyvystä. Todellakin, täällä ”maalla” tietokoneitteni tukiasemana toimii kännykkä. Yhteyden kaista ei ole mitenkään riittävä multimediatoimiin, mutta joutuuhan suunnistajakin kilpailussaan joskus valitsemaan umpimetsän mukavan polun tai metsätien sijasta. Tietenkin palveluntarjoaja myisi mielellään nopeamman yhteyden, kalliilla hinnalla, mutta ottaen huomioon laitteitteni ja ohjelmistojeni mitättömät kustannukset olisi enempi sijoittaminen datayhteyteen sekä hölmöä että tyylitöntä.

Ensi tuntumalta vaikuttaa siltä että XBMC:n käyttäjä on kovastikin sidottu käyttiksen suljettuun ”valmiiseen maailmaan” - vain se on mahdollista, mitä
valikoista löytyy. Toki se riittää useimmille multimedian käyttäjille, ja onhan käyttömukavuus mukavan käytännöllistä. Mitä siis löytyy.

Videot
Videovalikon toimintoja ovat ”Tiedostot” ja ”Lisäosat”. Valinnalla ”Lisäosat” voidaaan paitsi ottaa käyttöön jo asennettu lisäosa myös asentaa tarjolla olevia lisäosia. Lukuisista lisäosista mainittakoon esimerkiksi YouTube, Elisa Viihde ja Documentary.net. YouTube on melkein missä olosuhteissa hyvänsä toimiva järjestelmä, Elisa Viihteestä kokemukseni ovat pääasiassa kielteisiä. Se toimii miten kuten ”Elisan kattavassa verkossa”, kunnolla ei juuri muualla – ei myöskään kännykkätukiaseman varassa olevassa Cubox:issani. Mielenkiintoista on, että useimmat muut tarjolla olevista lisäosista toimivat. Documentary.net:istä valitsin katseltavakseni ”Nature”-ryhmään kuuluvan tallenteen ”A Norway Passage – The Most Beautiful Voyage”. Risteilyalus ”Nordnorge” matkasi Bergenistä Kirkenesiin. Kuvaus oli upeaa, kuva laadukasta ja myös selostus musiikkeineen toistui erinomaisesti. Kännykkäyhteydestä huolimatta näyttöpuskurin lataus ei kertaakaan pysäyttänyt esitystä. Erinomaista. Kun vielä Cubox:ini on komennettavissa käytössä olevan taulutelkkarin kapulalla, voin todeta, että tältä osin toiminta on juuri niinkuin pitääkin.

Kuvat
Kuvat-toimintoon on samoin mahdollista asentaa lisäosia, esimerksi osat nimeltä ”google” ja ”Picasa”, jotka eräiden muiden lisäksi ovatkin käytössäni. ”Valmiista maailmasta” olen välillä siirtynyt ”harrastajan tontille”. Käyttöjärjestelmänähän on GeeXboX linux – siis linux. Harrastajan on varmaankin kätevintä ottaa ssh-yhteys koneeseen ja sen avulla suorittaa säätö- ym. toimia. Samoin käyttiksessä on toiminnassa ftp-palvelin, kuinkas muuten. Olen sekä toisesta linux-koneesta, Android-tabletista, Android-kännykästä että Windows-koneestani käsin käyttänyt em. yhteyksiä. Windows-koneeni TotalCommanderilla mm. tein paikallisverkossamme ftp-siirtoja ja nyt Cubox:issani on muutama tuhat matkakuvaa. Kolmenkymmenenkahden gigan mikroSD-kortin muistista on tällä hetkellä käytössä kaiken kaikkiaan noin 35%. ”Kuvat”-toiminnossa voin käynnistää diaesityksiä (slideshow). Niistä on mukava muistella joskus toteutettujen matkojen tunnelmia. Diaesitykset toimivat erinomaisesti.

Sää
XBMC:n päävalikosta kannattaa vielä mainita ”Sää”. Tähän toimintaan voi valita kolmen paikkakunnan sääennusteen. ”Sääprofeetankin” voisi valita. Olen käyttänyt oletuksena olevaa ”Weather Underground” -palveluntarjoajaa. Paikalliset sääennusteet saan melko monipuolisina ja kohtuullisella tarkkuudella. Kun maaseutasunnollamme käytettävissä oleva viljelypinta-ala on kahdessa lohkossa selvästi alle aarin luokkaa, en tarvitse tarkempia ennusteita. Pyöräilykelit varmistamme vielä katsomalla ikkunasta ulos ja ennusteiden osuvuuden todennamme empiirisesti.

Järjestelmä
Järjestelmä-valikossa on valittavissa ”Asetukset”, ”Tiedostonhallinta”, ”Käyttäjäprofiilit” ja ”Järjestelmän tiedot”. Viimeksi mainittu valinta tuo näkyville mm. koneen ip-osoitteen paikallisverkossa (ei siis tarvitse lähteä mustalta ruudulta kyselemään). Tietoa ip-osoitteesta tarvitsen mm. ssh- ja ftp-yhteyksien muodostamiseen.

Päävalikossa on lisäksi valinnat ”Musiikki” ja ”Ohjelmat”. Jälkimmäisessä valinta ”GeeXboX network configuration” oli tarpeen laitteen liittämisessä langattomaan paikallisverkkoon. Kokeilin kahta donglea. Kummallakin langaton yhteys syntyi ongelmitta sekä kodin kiinteään tukiasemaan että kännykän tukiasemaan. Kannattaa myös mainita ”Ohjelmat”-valikon valinta ”RSS Editor”. Sen avulla sain Yle:n uutisotsikoiden nauhan juoksemaan tuttuun tapaan näytön alariville. Olen myös asentanut ohjelmavalikosta Web-selaimen, mutta se ei likikään anna totuttua graafisten selainten käyttömukavuutta. Koska Cubox:issani on käynnissä webpalvelin, voin toki ulkopuolisesta tietokoneesta ottaa selainyhteyden Cubox:ini web-tarjontaan.
Tämän Cubox:iin sijoittamani XBMC:n käytettävyys on opettelun jälkeen osoittautunut kohtalaiseksi – kapulaa käyttäen jopa melko hyväksi. Kun vielä valmiiden ominaisuuksien loppuessa voin paeta ”mustalle ruudulle”, niin mikä ettei.

Maaseudun rauhassa heinäkuussa 2013
Hannu Haapasaari

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
 
 

torstai 30. toukokuuta 2013

Raspberry Pi ja riistakamera

On helppo ratkaisu katsella maailmaa vain hyvin pienestä reiästä – näkee juuri sen minkä ansaitsee. Haasteellisempaa on ryömiä tuosta ikkunasta maailmaan.

Kirjoitan tätä blogia maaseudun rauhassa, ystävällisten ihmisten yhteisössä. Täällä ei ole vaaraa, että törmäisi yksityisyyden suojan varjolla kiukutteleviin haaskalintuihin tai pikkumaiseen nipottamiseen. On hyvä, että "Ystävyyden talo" (John Steinbeck, Tortilla Flat, 1935) on vieläkin jossain olemassa ja täälläkin tavoitettavissa. Katso vaikkapa Toini Havun kirjoitus nettiosoitteessa http://www.hs.fi/juttusarja/kritiikinklassikot/artikkeli/Steinbeckin+Tortilla+Flat/1135244928070

Minulla on kaksi Raspberry Pi model B -värkkiä. Laitteen on kehittänyt brittiläinen Raspberry Pi Foundation. Raspberry Pi Model B sisältää yhdellä piirilevyllä ARM11-ytimellä varustetun 700 megahertsin Broadcom-järjestelmäpiirin. Keskusmuistia laitteessa on 512 megatavua. Käytössä sähkön ottoteho on 3-4 wattia. On siis melkein vihreä laite. Tietokonehan se on toki tämäkin. Siinä on suurin piirtein käyttöön tarvittavat liitännät ja toiminnot. Käyttöresurssit ovat huomattavan niukat. Ajatuksenani on kokeilla raspia riistakameran palvelimena.

Valmiissa maailmassa on hyvinkin päteviä, monipuolisia riistakameroita, mutta minähän yritänkin nyt käyttää sitä pientä ikkunaa. Tälle kamerapalvelimelle tulee pääsemään vain ssh-yhteydellä. Kaikki tarpeelliset seuranta- ja ylläpitotoimet suoritetaan siis ”etänä, mustalla ruudulla”. Koska resurssien etäkäyttö on pudotettu minimiinsä, on vastapoolina kotona (tai maailmalla) älykkäampi ja suorituskykyisempi tietokone. Homma kaikkineen vaatii hieman ideointia ja kohtalaisen määrän tutkimista. Kokeilujen perusteella raspi pystyy juuri ja juuri tehtävään.

Kameraohjelmana käytän pientä sovellusta fswebcam. Käynnistän ohjelman bash-skriptillä, joka ensin siirtää käyttäjänsä sopivaan työhakemistoon. Kameran tarvitsemat ohjaustiedot voin sisällyttää kaikki samaan komentoon. Tallennus ohjataan tällä komennolla hakemistoon, josta havaintotiedot sitten löytyvät. Mainittu komento sisältää myös ajastustiedon. Malleja komennon kirjoittamiseksi löytyy netistä. Tällä sivulla on eräs:
Komento tallentaa kameran ottamia kuvia annetuin aikavälein. Toiminnon periaate on samantapainen kuin esimerkiksi tiehallinnon kelikameroissa. Live-videota voi tietenkin yrittää, mutta raspin resurssit eivät riitä siihen kunnolla.

Tallessa on siis aina viimeksi otettu kuva. Kuvaushistorian kerääminen vaatii omat keinonsa. Käytän tietojen keräämisessä taustaprosessia cron. Tämä on aivan perusväline, yksinkertainen käyttää. Rajoituksena on prosessin ”harvakäyntisyys”, joten kuvattava yökissa saattaa hyvinkin välttyä joutumasta kuvatuksi – tai olla onnekas ja päästä kuvaan. Kuva-aineiston kerääminen vaatii vähän muutakin, esimerkiksi cron:in käynnistämän pikku skriptin, jolla kuva siirretään havaintohakemistoon. Toinen skripti ryhmittelee myöhemmin, tunnin välein, aineiston tuntihakemistoihin, cron:in avulla tietenkin.

Kun raspissa on käytössä vain ssh-palvelin, pitää kuva-aineisto raspista käsin toimien siirtää käyttäjän tietokoneelle katseltavaksi. Grafiikkakuorman pitämiseksi kohtuullisena käytän raspissa komentoriviltä ajettavaa ftp asiakasohjelmaa. Sekin ajetaan pikku skriptillä, joka siirtää automaattisesti koko halutun sortimentin käyttämäni kaupallisen webhotellin palvelimelle. Sitä ennen aineisto vielä paketoidaan komentoriviohjelmalla tar (tape archiver – huomaa historian siipien havina). Tyypillinen vuorokauden paketin koko on tässä tapauksessa ehkä 20 MB ja kuvien määrä esimerkiksi 1440. Hotellipalvelimeni tallennustilat riittävät aika monellekin paketille. Kotikoneeni ftp:llä lataan aineiston katselua varten.

Aineiston katselu tapahtuu kotikoneelle asennetun php-koosteen minigal nano avulla. Tuntihakemistojen lisääminen ja poistaminen on helppoa ja se pystyy kätevällä tavalla näyttämään kuvia suurestakin kuva-aineistosta.

Jos olisin opettaja, antaisin arvoisalle lukijalleni tehtävän: ”Kokoa riistakamerajärjestelmä käyttäen enintään 10 euron usb-liityntäistä kirpputorikameraa, laitetta Raspberry Pi sekä tarpeellisia ulkoisia ja kodin sisäisiä palveluita. Aikaa on.”

Maaseudun rauhassa toukokuussa 2013
Hannu Haapasaari