lauantai 28. huhtikuuta 2012

Selaimella ja skripteillä

Mobiiliyhteyden päässä oleva etäkoneeni tarvitsee joskus ylläpitoa. Itse mobiilidatayhteys tarvitsisi huomattavan parannuksen, mutta se on ihan toinen juttu. Etäkäyttöohjelmalla (Teamviewer) voin hyvin suorittaa ylläpitotoimia. Näillä uusien ”huidottavien” tablettien käyttiksillä em. ohjelma on aika tahmea käytettävä, käyttö on kömpeloä. Windows- ja Linux- käyttiksillä tehtävät sujuvat jouheammin. Tabletti taas on mukava ottaa mukaan reissuille. Sen akku jaksaa pitkään ja ”joka miehen” pikku asioissa se on kyllä kätevä. Sekä tabletissani, että HTC-kännykässäni on käyttöjärjestelmänä Android. Se on aika suljettu käyttis, jolla siis hyvin sujuvat tietotekniikan käyttäjän yksinkertaiset päivittäiset toimet. Vaativammat etätehtävät joudun suorittamaan maaseutukonettani netin kautta komentaen. Kun etäkoneeni käyttöjärjestelmänä on Linux, Ubuntu 11, on sen komentaminen ja säätäminen periaatteessa yksinkertaista. Käynnistät vain etäkäyttösovelluksen, ja teet homman, jos verkkoyhteys pysyy hengissä. Mutta entä se Android tai Applen OS. Mietin miksi käynnistäisin koko etäkäyttöarsenaalin. Voisiko jokin tehtävä hoitua vähemmällä.

Etäkäynnistyksellä tarkoitan tässä etäkoneen jonkin ohjelman käynnistystä. Löysin Adroid-nettikaupasta sovelluksen Remote Launcher. Marketin nimi oli muutettu nimeksi ”Play-kauppa” (”Google play”), kuvannee nykytrendejä – mikä pyhäinhäväistys. Tälle löydetylle etäkäynnistäjälle piti sen jälkeen löytää Linux'issa toimiva etäpari. Linux'in Symantic pakettienhallinnasta ei tässä ollut apua, mutta googlaamisesta oli. Löytyi Remote-Launcher-Server. Asentaminen ei ollut kovin monimutkainen juttu. Tämä serveri saa osaamisensa (ominaisuutensa) yksinkertaisesta ohjaustiedostosta, johon koodaat tarvitsemasi etätoiminnat. Kun tiedosto ja nettiyhteys ovat kunnossa, niin Android-tabletin tai -kännykän Remote Luncher'illa voi suorittaa ao. etätoiminnan. Esimerkiksi etäkoneen voi komentaa päivittämään jotain tarpeellista, vaikkapa etäkoneelle rakennetun nettisivun peukalokuvat. Asia näyttää perin yksinkertaiselta, ja onkin sitä. Tämä tapa soveltuu tehtäviin, joissa ei tarvitse välittömänä palautteena nähdä etäkoneen antamaa tulostetta. Tilanne saattaa muuttua monimutkaisemmaksi, kun esimerkiksi mobiilipalvelu milloin tahansa vaihtaa ip-osoitteen, jolla etätukiasema on yhteydessä Internetiin. Tällaisessa tapauksessa tukiasemani lähettää kännykkääni tekstiviestinä uuden ip-osoitteen. Yhteyden korjaus vaatii omat toimenpiteensä ja lyhyen odottelun. On siis tarpeettoman monimutkaista vaikkakin olen valmistellut etäkoneeni Remote-Launcher-Serverin tämän ongelmatilanteen varalta. Huomaat, että tässä tarvittiin välttämättä palaute, uusi ip-osoite ja palute on ulkoistettu kännykän tekstiviestipalvelulle. Monet yksinkertaiset etäkäynnistykset voin kyllä hoitaa Android'in Remote Launcher'illa.

Mietin voisinko käyttää selainta etäkäynnistystehtäviin. Oletus oli, että voisin. Myös yksityiskäyttäjille ja harrastajille sopivat pilvipalvelut ovat pikku hiljaa lisääntyneet ja kehittyneet. Tavoittelematta millään tavalla pilvipalvelun ideaa, tuntuu luonnolliselta, että harrastajakin voisi kehittää jotain samaan tapaan. Siispä ajatus etäkoneen komentamisesta selainta käyttäen tuntui hyvältä idealta. Sopivilla etäkoneen skripteillä voisi käyttö olla niin helppoa, että se tuntuisi myös kännykällä luontevalta.

Etäkoneeni kamera kerää kuvia koneen kiintolevylle liikehavainnoista. Jos olisimme keskellä riistan paljoutta, se kai olisi riistakamera. Kuvien keräämiseen se ei tietenkään tarvitse nettiä, vain sähköä ja vähän väkisin koneelle väännettyä älyä. Linux-koneeni hakemistosta voin toki etäkäytöllä saada kuvatiedoston sisällön näkyville, mutta se mitä tulee näytölle on hiukan onnessa, koska kuvien nimet hakemistolistauksessa eivät ole millään lailla havainnollisia. Siispä ensiksi tein yksinkertaisen bash-skriptin, joka koostaa nettisivun peukalokuvineen. Selaimella voin tuolta sivulta klikkaamalla saada kuvan näkyviin. Pienestä peukalokuvasta (thumb nail) voin tehdä valinnan kuvan näyttämisksi. Bash- tai shell-skriptit ovat komentokielisiä, usein hyvinkin lyhyitä kuvauksia halutusta. Skriptissäni on vain muutama rivi, mutta asiaan vihkiytymättömälle se on aika kryptinen. En siis rasita lukijaa sillä enempää. Ehkä sitten joskus kerhoillassa voimme perehtyä asiaan enemmän. Skripti kirjoittaa palvelimen hakemistoon html-sivun, esim. ”kuvat.html”. Jos nettiyhteys on kunnossa, palvelin lähettää sivun selaimelle ja sivulta voi tavalliseen tapaan klikata haluamansa kuvan. Kuvien lisääntyessä palvelimella pitää nettisivun tiedosto päivittää, samalla skriptillä tietenkin, jotta myös uudet kuvat saadaan nähtäviksi.

Päätin yksinkertaistaa tämän kuvasivun katselua niin, että pyydettäessä sivua nähtäväksi, skriptit rakentavat sen sillä hetkellä olemassa olevista kuvista. Sivua ei siis ole ollenkaan olemassa ennen kuin sitä tarvitaan. Muistan joskus huvitelleeni yhdessä matikan oppilaitteni kanssa ajatuksella ”tiedätkö, että takkisi on olemassa käytävän naulakossa, jos et näe sitä luokasta”, mutta sehän on taas toinen juttu. Sivun koostamiseen tarvitsin bash-skriptin lisäksi sivunkuvauksessa hyvin suosittua php-kieltä. Tämäkin skripti on hyvin lyhyt. Ei muuten mitenkään tavatonta arkielämässäkään, siis usemaan ilmaisutavan käyttäminen yhtä aika – oma puhekieli, elekieli, sivistyssanat, murteelliset tai vierasperäiset ilmaisut. Rakentelin muutaman vastaavan skriptin palvelimen hallitsemiseksi. Nyt voin suorittaa suoraan kännykällä joitain toimia, joihin ennen piti käynnistää etäkäyttöohjelma. Kun mobiilipalvelu vaihtaa tukiaseman nettiin pääsyssä tarvittavan ip-osoitteen, voin kännykän tekstiviestinä saadulla osoitteella tyyliin ”paas päivittäin pari nimipalvelua” (suomennettu php-skriptin nimi) saada yhteydet taas kuntoon ja ilottelu jatkuu. Pelkästään kännykkää käyttäen voin myös esimerkiksi luoda päivän hakemiston kameran kuvia varten. Palvelinhan tietää kyllä oman päiväyksensä, joten toiminto on automatisoitu – pyytää pitää. Samoin voin kopioida koko päivän kuvasaaliin em. hakemistoon. Tässäkään ei käyttäjän tarvitse olla selvillä päivien kulusta. Ehkäpä jotain ihan hyödyllistäkin voisi näin toteuttaa, mutta epävarmasti toimivat mobiilidatayhteydet opettavat varovaiseksi. Enpä perustaisi 10000:n yksilön kanalan automaatiota mobiiliyhteyden varaan, jos en muutenkaan. Jossain kerhoillassamme voimme ehkä palata asiaan demojen (ja mahdollisten demoefektien) muodossa.

Vappua odotellessa 2012
Hannu Haapasaari

maanantai 2. huhtikuuta 2012

Langatonta – langatonta 

Kokeilut toimivien nettiyhteyksien aikaansaamiseksi hankalissa maaseutuoloissa ovat edistyneet. Tämän hetkinen toteutus vapaa-ajan asunnossamme saanee kelvata toistaiseksi. Harrastajallahan harvoin mikään on valmista, edes melkein valmiissa maailmassa. Onnistuin löytämään hyvin toimivan laiteyhdistelmän. Nettitikku on Telewell 3G HSPA+. Se on kytketty Telewell'in reitittimeen TW-EA510 v3 ( c ). Aikaisemmin kokeiltuihin laitteisiin verrattuna tällä yhdistelmällä on mahdollista toteuttaa pari uuttakin toimintoa. Voin tekstiviestikomennolla buutata tukiaseman estämättä muiden laitteiden sähkönsaantia. Olen säätänyt tukiaseman lähettämään oman ip-osoitteensa tekstiviestillä. Näiden lisäominaisuuksien käyttöön saamaiseksi piti tukiaseman ohjelmisto päivittää sopivaan versioon, alkuperäinen firmware oli hiukan köyhempi. Tämä nopeasti ja lyhyesti kerrottu vaati aika paljon kaikenlaisten ”pikku juttujen” penkomista. Netti on korvaamaton. 

Laitteiston käynnistyminen ja toiminta on kokeiluissa osoittautunut vakaaksi. Soitettuani kännykällä gsm-pistorasiani numeroon laitteisiin kytkeytyy sähkö. Nettitikku ottaa automaattisesti yhteyden Internetiin ja tukiasema muodostaa lähiverkon. Tietokone ja ip-kamera on liitetty tukiasemaan kaapelilla. Myös paikallinen kodin wlan on käytettävissä. Aikaisemmin olen kuvaillut tietokoneen automaattiseen käynnistymiseen liittyviä asioita.

Käynnistyssoiton jälkeen saan parin minuutin kuluttua kaksi tekstiviestiä. Toinen ilmoittaa virran kytkennästä ja toinen kertoo tukiaseman julkisen ip-osoitteen. Palvelimeni käynnistysskripti on päivittänyt laitteiston julkisen  ip-osoitteen myös palveluun dy.fi, joten voin selaimellakin katsella kameran ottamia kuvia. Etäkäyttöohjelmalla pääsen käyttämään maaseutukonettani. Etäkäytöllä olen tehnyt laitteistolle lisää säätöjä. Samoin olen sillä katsellut kameran live-lähetystä. Porttiohjauksia live-lähetystä varten pystyn etäkäytöllä toki tekemään, mutta kameran kaapeli pitää joskus käydä ihan paikan päällä kytkemässä toiseen porttiin tukiasemassa. 

Entäpä kun nettitikku vaihtaa tukiasseman ip-osoitteen yht'äkkiä, milloin sattuu. Kännykkäni saa siitä tekstiviestillä ilmoituksen. Klikkaamalla HTC-kännykkäni saamaa numeerista ip-osoitetta pääsen siitäkin suoraan katsomaan kännykällä kameran nettisivua ja tallenteita. Etäkäytöllä pääsen yksinkertaisella skriptillä päivittämään ip-osoitteen myös dy.fi palveluun. Huonon mobiilidatayhteyden ja osoitteiden satunnaisen vaihtelun takia mobiilipalvelun tarjoaja ei tosiaankaan saa kiitosta, mutta harrastaja pystyy näin temppuilemalla tietokoneen maaseutukäyttöön. Olen päätynyt siihen johtopäätökseen, että myipä palveluntarjoaja kuinka monta geetä (2G 3G, 4G, LTE) tahansa, syrjäkulman asuja saa tyytyä juuri ja juuri toimiviin palveluihin. Laitteet kyllä toimivat, mutta yhteydet eivät ole tätä päivää. 

Kuitenkin on mielenkiintoista seurata ”talvisään” palaamista jo melkein keväisiin maisemiin. Eilen kaksi henkilöä näkyy käyneen soittamassa ovikelloamme. Uskonnollinen valistus ei välittynyt etänä 120 kilometrin päähän kameran katselijalle.

Onnistuin hankkimaan liikkeestä Verkkokauppa.com lähetin- vastaanotinparin HD-kuvan siirtoon tietokoneelta olohuoneen telkkariin. Laitteisto on nimeltään Asus Wavi. Se ei tarvinnut mitään säätöjä, vaan lähti toimimaan vaivattomasti. Voin katsella langattomasti tablettini videokuvaa telkkarin näytöllä tai vaikkapa naapurihuoneen linux- palvelintani langattomalla näppäimistöllä ja hiirellä ohjaten. Linux- palvelimen etäkäyttö sohvalta telkkariruutua katsellen ei sekään ole kovin hankalaa akrobatiaa. HDMI-liitäntöjen ansiosta myös ääni välittyy. En ole päässyt kokeilemaan monikanavaista äänen siirtoa, koska nuo laitteet puuttuvat meiltä. No musiikkia ymmärtävä saa kuuntelukokemuksensa nuottikuvastakin vaikka melko arkaaista se sentään olisi. Nämä Asus'in laatikot pystyvät välittämään muidenkin HDMI- liitäntäisten medialaitteiden antia. Mukavuuden lisääntyessä kuntoilu vähenee ja painovoiman vaikutus näyttää tehostuvan, henkilövaa'an jousen kuoleentumisesta päätellen.

Tampereella helmikuun alussa 2012
Hannu Haapasaari