# OBEX-i KIO moodul: kataloogide lehitsemine Bluetoothiga

## Üldist

Protokoll OBEX on töötatud välja spetsiaalselt mobiilsete seadmete tarbeks. Kui sa oled näiteks "kiiranud" VCardi ühelt mobiililt teisele, oled sa OBEX-it juba kasutanud. Kuid sellele protokollile on ka muid rakendusi. Kõige enam väärib vahest tähelepanu failisüsteemi lehitsemise protokoll. Kui mobiilne seade seda mõistab, võid antud kliendi teostust kasutades lehitseda oma mobiilse seadme faile ning neid alla või üles laadida. Ka sünkroniseerimisprotokollidel (näiteks IrMCSync või SyncML) on OBEX-i toetus ning neid saab kasutada antud kliendi vahendusel, kuigi näiteks Konqueroriga sünkroniseerimine ei ole võimalik.

OBEX-i protokollid kasutavad mitmeid transpordimeetodeid. Algselt oli selleks IrDA, kuid neid on ka teisi: Bluetoothi jaoks, jadaliinidele ning TCP/IP ühendustele.

OBEX toetab kaht autentimisviisi. Esimene ja tuntuim on kliendi autentimine serveril. Kuid ka klient võib serveri identiteeti kontrollida. Autentimiseks kasutatakse MD5 kontrollsummat. See tagab, et kunagi ei transporditaks klaartekstis paroole.

## URL vorming

OBEX-i ressursse saab kasutada URL-ide abil. Protokolli poolelt on tegemist puhta OBEX-iga: asukohakomponent sisaldab asukohta serveril. Masina poole pealt on asi veidi keerulisem.

Serverite korral, millele pääseb ligi TCP/IP kaudu, on masina komponent tavapärane. Kontakteerumiseks saab kasutada serveri masinanime või IP aadressi. Ka siis, kui server töötab mittestandardses pordis (standardne port on 650), võib pordinumbri tavapäraselt lisada. Näide: `OBEX://masinanimi:port/asukoht`

IrDA või Bluetooth transpordimeetodi korral saab kasutada tarkvara-aadressi standardsel topeltkoolonitega eraldatud oktettide kujul. Ainus halb asi selle puhul on see, et Bluetoothi seadme tarkvara-aadressi ei ole enamasti eriti lihtne meelde jätta. Näide: `obex://[ef:01:23:45]/asukoht` või `obex://[12:34:ef:01:23:45]/asukoht`

Seepärast pakume võimalust määrata masina aliased, mida protokolliga OBEX kasutada. Aliaseid saab määrata KDE juhtimiskeskuse OBEX-i moodulis. Seal võib anda mõne hõlpsasti meeldejääva nime, lasta seade tuvastada ja siis siduda tarkvara-aadress määratud nimega. Aliaste kaudu võib kasutada ka jadatransporti tarvitavaid seadmeid. IrDA ja Bluetoothi korral on olemas eelnevalt määratud aliased irda ja bluetooth. Mõlemad tuvastavad seadme ning püüavad saada ühendust esimese leitud seadmega.

Edukat kiikamist naabri mobiili :))

## Nipid ja trikid

Nagu iga KIO mooduli puhul, saab kio_obexi abil vahetult avada Bluetoothi seadmetel olevaid faile ja neid sinna salvestada. Kui soovid näiteks kirja panna ostunimekirja, võid selle valmis kirjutada KEditis ja salvestada otse telefonile.

Selle tegevuse saab muuta veelgi kiiremaks, kui lisada faili salvestamise dialoogis järjehoidjate ribale vastav järjehoidja.

## Piirangud

### OBEX ja KDE

KIO klient ei suuda kontrollida mooduli numbrit, mis mingi sihtkohaga püüab ühendust saada. Seepärast võib sageli juhtuda, et töötab mitu moodulit. OBEX-i transpordimeetodid (välja arvatud TCP/IP) toetavad aga ainult üht transpordiühendust seadmega. See võib tekitada mooduleid, mis ühendust ei saa ja teatavad, et "seade või ressurss on hõivatud". OBEX pakub sellele osalist lahendust: kui server seda toetab, saab mitmele ühendusele mõeldud paketid edastada ühe transpordiühenduse kaudu. Siiski ei ole ma näinud seadet, mis sellist võimalust toetaks. Pealegi nõuab see igale sihtmärgile eraldi transpordideemonit. Niisiis: kui sa kohtad sellist võimalust toetavaid seadmeid, anna sellest teada ja ma lisan sellise deemoni toetuse.

Mingit spetsiaalset meetodit failide ümbernimetamiseks või liigutamiseks seadmel ei ole vaja, seda tehakse lihtsalt andmeid seadmele või seadmelt kopeerides. See on küll aeglane ja käivitab kaks KIO moodulit, mis võib tuua kaasa äsjakirjeldatud probleemi.

### Seadmete ühilduvus

Kuna käesolev klient kasutab avatud standardit, võib loota, et päris paljud seadmed töötavad sellega väga ja väga edukalt. Kuid muidugi võib esineda ka erandeid.

Klient töötati välja SIEMENS S45i peal, kasutades IrDA-t või SIEMENS-i spetsiifilist jadaühendusele mõeldud BFB protokolli. Loomulikult töötab klient siis ka antud telefoniga.

Mobiiltelefoni Nokia 3650 teatud versioonides esineb püsivaraviga, mille puhul tagastatakse kaustade hankimisel vigased XML-failid. Sellisel juhul näeb, nagu oleks kaustad tühjad. Viga esineb kindlasti püsivara versioonis 2.50. Versioonis 3.16 on viga ära parandatud. Testimise eest tuleb tänada Fred Schättgenit <Sch@ttgen.net>.