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




Ei kommentteja:

Lähetä kommentti