RSS

Koppla sig till mobilen från terminalen med obex

24 Mar

När jag använder Ubuntu som det är tänkt, d v s att jag använder det grafiska gränssnittet Unity, då finns det en del bra funktioner. En sådan är att jag får upp en ikon som gör att jag kan hantera Bluetooth, Blåtand, vilket är praktiskt när jag vill ladda över bilder från mobilen. Men nu använder jag oftast inte Unity och då är frågan hur jag ska göra?

Problemet dyker också upp om jag försöker att bara leva i terminalen. Då finns det inga ikoner eller grafiska program att luta sig mot. Men det mesta går att göra i terminalen i Linux, så även hantera Blåtand.

För att det här ska fungera krävs det att din dator har ett kort för att hantera Bluetooth. Din mobiltelefon har det troligen, men det är inte helt säkert med datorn. Har du en bärbar är chansen stor.

Obex

Det finns ett protokoll som heter OBEX (OBject EXchange). Tanken bakom är att man ska kunna överföra så kallade binära objekt, t ex bilder, mellan enheter. Det finns i Linux ett par program som heter just något på obex och som är tänkta att hantera just det protokollet: obexfs, obexftp och obextool. Om de inte redan finns på din dator, installera obexfs och obexftp.

Jag vill lägga in en lite brasklapp. Det här kommer bara att fungera på enheter som har stöd för OBEX. Kanske är det en allmän standard idag, men det vet jag inte.

Eftersom det mesta vi kommer att göra sker i terminalen, så installerar vi programmen även därifrån.

sudo apt-get install obexfs obexftp obextool

Nu har vi alla verktyg på plats. Så om Blåtand är aktiverat på datorn, är det nu dags att få kontakt med mobilen.

Sök upp mobilen

Slå på Bluetooth på mobilen, om du inte har gjort det redan. Vi ska nu från datorn skanna efter mobilen. Öppna en terminal och skriv följande.

hcitool scan

Beroende på hur många enheter som kör Blåtand i närheten, kommer du att få upp en lista på en eller flera enheter. Listan innehåller dels en så kallad MAC-adress (xx:xx:xx:xx:xx:xx), dels namnet på enheten. Det är MAC-adressen som är intressant för oss här.

För att få lite mer information om mobilen, skriver vi följande kommando, där ”xx:xx:xx:xx:xx:xx” är MAC-adressen. Här behöver man ha administrativa rättigheter, så vi använder ‘sudo’ och får ange vårt lösenord.

sudo hcitool info xx:xx:xx:xx:xx:xx

Det kan underlätta om vi vet vilken kanal som mobilen sänder på. Informationen är inte nödvändig, men kan vara bra att ha.

sdptool search FTP

Vi får nu upp en del info och då bland annat channel, kanalen vi ska använda. Tänk bara på att kanalen kan ändras mellan varje gång, så det går inte att använda samma hela tiden.

Protocol Descriptor List:
  "L2CAP" (0x0100)
  "RFCOMM" (0x0003)
    Channel: 7
  "OBEX" (0x0008)

Skulle kommandona hcitool och sdptool inte finnas på din dator, behöver du installera paket bluez.

sudo apt-get install bluez

Ansluta till mobilen

Dags att ansluta. Men skapa först en mapp i din hemkatalog där mobilen ska monteras. Här skapar jag mappen ‘mobilen’ för att ha som monteringspunkt i framtiden.

mkdir mobilen

Sedan monterar man enheten med kommandot obexfs. Se till att ange MAC-adress rätt och att den mapp där mobilen ska monteras är skapad.

obexfs -b xx:xx:xx:xx:xx:xx -B7 ~/mobilen

Beroende på hur du har ställt in mobilen, kommer den nu att reagera på att någon vill ansluta till den. Du behöver då bekräfta att det är OK och så blir du insläppt.

Kör nu följande kommando för att se om mobilen är monterad och se filerna.

ls mobilen

I mitt fall dyker det upp två mappar: Telefonminne och Minneskort. Dyker det inte upp något, har mobilen inte monterats. Gå då tillbaka och se var det kan ha gått fel.

Kan du köra en grafisk filbläddrare, som i mitt fall PCManFM, då kan du försöka komma åt mobilen från den genom att i adressfältet ange följande, vilken öppnar huvudmappen på mobilen: Telefonminne och Minneskort.

obex://[xx:xx:xx:xx:xx:xx]

Filbläddraren och obex

Vare sig du använder filbläddraren eller terminalen, kan du nu börja föra över dina bilder, eller vad det nu är, till datorn.

FTP-funktionen

Det går också att använda en FTP-liknande funktion för att föra över filer mellan mobilen och datorn. Man använder då kommandot obexftp. Jag ska villigt erkänna att det här känns lite omständligt, men det fungerar, vilket är huvudsaken.

Börja med att bara ansluta till mobilen och se vilka undermappar det finns.

obexftp -b xx:xx:xx:xx:xx:xx -l

Och här dyker en av de lite jobbiga sidorna upp. Resultatet är inte helt lättläst eftersom det visas som en XML-fil. Men den intressanta delen ser ut så här.

<folder-listing version="1.0"><folder name="Telefonminne"/>
<folder name="Minneskort"/>

Det viktiga är vad som anges i de båda ”folder name”: Telefonminne och Minneskort. För att söka mig vidare längre ner, måste jag nu göra om sökningen med någon av dessa mappar. Här nedan listar jag alla bilder i bildmappen.

obexftp -b xx:xx:xx:xx:xx:xx -l Minneskort/DCIM/100MSDCF

Även resultatet av den här sökningen är i XML-format, så man måste förstå vad man ska leta efter.

<file name="DSC03085.JPG" size="1195608" 
created="20121202T133602Z" accessed="20121202T000000Z" user-perm="RWD"/>

Det är alltså värdet för ”file name” vi är intresserade av. Och med den här kunskapen kan vi nu hämta filer från mobilen till datorn. Tänk bara på att bilderna kommer att laddas ner i den mapp du står i när du skriver det här kommandot. Så står du direkt i din hemkatalog, är det där bilderna hamnar. Så vill du ha bilderna direkt i mappen Bilder, gå dit först.

obexftp -b xx:xx:xx:xx:xx:xx -g Minneskort/DCIM/100MSDCF/DSC03030.JPG

Alternativt gör man så här. Här anger vi den mapp på mobilen vi utgår från. Sedan kan vi genom att utnyttja historiken i terminalen, med hjälp av upp-pilen få tillbaka det förra kommandot och då bara ändra namnet på filen.

obexftp -b xx:xx:xx:xx:xx:xx -c Minneskort/DCIM/100MSDCF -g DSC03030.JPG

Men man kan också föra över bilder från datorn till mobilen. Jag använda det för att ladda upp en redigerad bild som jag skulle ha som bakgrund.

obexftp -b xx:xx:xx:xx:xx:xx -c Telefonminne/Bilder -p minbild.jpg

Nu finns det också ett grafisk program som kan sköta det här. Det liknar på en del sätt en FTP-klient. Tyvärr måste man dock starta det från terminalen för att den ska ansluta till mobilen, vilket känns lite bakvänt.

obextool --obexcmd "obexftp -b xx:xx:xx:xx:xx:xx"

Det här öppnar ett fönster som ser ut så här.

Obextool

Här finns det sedan funktioner för att ladda ner och upp, ta bort filer och skapa mappar.

Avsluta

När man är klar behöver man avmontera mobilen. Det gör man på följande sätt.

fusermount -u ~/mobil

Vi har nu kopplat från mobilen och kan stänga av Bluetooth på den, om man vill. Den drar trots allt en del energi.

Uppdatering 140209
Den här texten handlar främst om hur man ansluter till mobilen via blåtand. Men nu har jag haft anledning att se hur man gör för att koppla ihop dator och mobil via USB. Det funkade så här.

Först måste man installera paketet openobex-apps

sudo apt-get install openobex-apps

Man ansluter nu mobilen med USB-kabeln och kör följande kommando.

obex_test -u

Svaret jag fick såg ut så här.

Using USB transport, querying available interfaces

Interface 0: Sony Ericsson Sony Ericsson J10 Sony 
Ericsson Device 144 USB WMC OBEX Interface

Use 'obex_test -u interface_number' to run interactive 
OBEX test client

Det som är intressant här är nummret för Interface, som i det här fallet är ‘0’ (noll). Det är det man ska använda vid monteringen. Man behöver också en monteringspunkt, en mapp där man kan lägga till mobilen. Precis som beskrivits ovan.

obexfs -u 0 monteringspunkt

Om allt har fungerat, ska man nu kunna öppna mobilen i sin filbläddrare om man går till monteringspunkten.

När man sedan vill avmontera, skriver man som jag har beskrivit ovan.

 
Lämna en kommentar

Publicerat av på 24 mars 2013 i Dator, Gör så här, Terminalen

 

Etiketter: , , , , , , , , , , ,

Kommentera

Fyll i dina uppgifter nedan eller klicka på en ikon för att logga in:

WordPress.com Logo

Du kommenterar med ditt WordPress.com-konto. Logga ut / Ändra )

Twitter-bild

Du kommenterar med ditt Twitter-konto. Logga ut / Ändra )

Facebook-foto

Du kommenterar med ditt Facebook-konto. Logga ut / Ändra )

Google+ photo

Du kommenterar med ditt Google+-konto. Logga ut / Ändra )

Ansluter till %s

 
%d bloggare gillar detta: