Avui he provat de connectar el PC amb el mòbil per primer cop, per tal de descarregar-ne unes fotografies, i per a això he utilitzat un Adaptador Bluetooth USB que m’ha deixat un amic (una peça semblant a un Pendrive però més petita, que val al voltant d’uns 15€; la majoria d’ells arriben fins a uns 100 metres de distància). La veritat és que he quedat sorprès de la facilitat amb què l’he pogut utilitzar a l’Ubuntu, però de totes formes aquí us deixo una explicació de com fer-ho (a la Feisty):

Instal·lació:

1. Obre una terminal i executa-hi: sudo apt-get install bluetooth gnome-bluetooth libbluetooth2 obexftp.

2. També recomano fer (i si hi hagués problemes i us heu saltat aquest pas proveu a fer-lo també, no ho he provat sense): sudo apt-get install obexfs obexpushd openobex-apps gnome-vfs-obexftp. Entre d’altres, això et permetrà navegar per les carpetes del dispositiu remot des del Nautilus entrant a la ruta “obex:///”.

3. Els passos 1 (i 2) no tardaran gaire, ja que són tot coses que ocupen molt poc (i algunes ja venen pre-instal·lades). A continuació, si teniu un dongle bluetooth (és a dir, un “bitxo” extern), executa (també a la terminal): sudo /etc/init.d/bluetooth restart.

4. (Com el punt anterior, aquest tampoc cal si tens un portàtil amb Bluetooth integrat.) Ara comprova que el dispositiu ha estat detectat. Per això executa l’ordre “lsusb” (pot tardar un temps); sortirà alguna cosa semblant a això: Bus 006 Device 003: ID 1310:0001 Roper Class 1 Bluetooth Dongle.

5. També executa “hcitool dev“. Sortirà alguna cosa com “hci0 00:0A:28:61:2F:A5“. La seqüència aquesta, amb el format aa:bb:cc:dd:ee:ff és l’identificador mac del dongle; en cas de que tot fossin zeros torna al punt 3.

Connectant al mòbil
A continuació tot farà referència a telèfons mòbils, encara que hauria de funcionar igual amb els altres dispositius amb capacitat Bluetooth.

6. Per tal de detectar l’aparell, has de fer-lo visible (“descobrible) als altres i abans que la seva visibilitat expiri executar això a la terminal: hcitool scan. L’operació tardarà uns pocs segons i buscarà tots els aparells propers; si no trobés el teu, torna a efectuar aquest punt des del principi, aquest cop corrent una mica més. Un cop tinguis el nombre mac del teu mòbil, apunta’l.

7. Ara, per tal que es carreguin les eines que has instal·lat al punt 2 (i 3), reinicia el GNOME. Per fer això, prem alhora les tres tecles [Ctrl] + [Alt] + [Borrar], i veuràs com la pantalla queda negra i al cap d’uns pocs segons torna a demanar-te el nom d’usuari i la contrasenya. Aquest cop, quan s’iniciï la sessió t’apareixerà una nova icona al panell superior: la del Bluetooth.

8. (No estic segur si aquest pas és necessari, però el poso per si de cas. Executa això a la terminal, sudo hidd –connect aa:bb:cc:dd:ee:ff, substituint aa:bb:cc:dd:ee:ff pel codi mac que has aconseguit al punt 6.)

9. Tot seguit, si no n’estàs segur, comprova que el teu mòbil sigui compatible. Per a això, utilitza l’ordre sdptool browse aa:bb:cc:dd:ee:ff (on aa:bb:cc:dd:ee:ff, el nombre mac). Això provocarà l’aparició d’un munt d’informació – els serveis de que disposa el mòbil; assegura’t que hi apareix “Service Name: OBEX File Transfer” i “Service Name: OBEX Object Push“.

Perfecte: Ja pots començar a transferir dades!

Treballant amb Bluetooth

Per tal de rebre un llistat de les carpetes que hi ha al mòbil utilitza l’ordre “obexftp -b aa:bb:cc:dd:ee:ff -l” (la L per “list”). Per veure el contingut d’una carpeta en concret, “obexftp -b aa:bb:cc:dd:ee:ff -l la/carpeta”.

Per descarregar un arxiu del mòbil, un cop en saps el directori (consulta el paràgraf anterior per descobrir com fer-ho), pots utilitzar aquesta ordre per transferir l’arxiu que vulguis a la carpeta actual: “obexftp -b aa:bb:cc:dd:ee:ff -g carpeta/arxiu.extensió” (la G per “get”).

I, per últim, per enviar-hi un arxiu utilitza “obexftp -b aa:bb:cc:dd:ee:ff -B X -p /carpeta/arxiu.extensió” (la P per “put”). On hi ha la X has de posar-hi el canal de del OBEX Object Push, que t’apareixerà entre les dades que dona la 9a instrucció d’aquest text, poc després de la línia on surt “Service Name: OBEX Object Push“.

El primer cop que realitzis una d’aquestes ordres (en la tercera potser no, però amb les altres si) segurament el mòbil et dirà que s’ha de vincular al dispositiu, i et demanarà confirmació. A continuació, et demanarà la contrasenya Bluetooth; en aquest camp pots escriure-hi el que vulguis, “1234” mateix ja serveix. Un cop introduït allà, sota el panell superior et sortirà una notificació emergent dient que s’ha d’introduir una contrasenya i al fer-hi clic s’obrirà una finestra demanant-la: allà hi has d’escriure exactament el mateix codi que al mòbil. Un cop fet això, ja estaran vinculats i no et molestarà més, encara que, depenent del telèfon, pot ser que demani permís cada cop que vols fer alguna cosa.

Descarregar tots els arxius d’un directori

Pot ser que tinguis sort i utilitzant “carpeta/*.*” puguis baixar tot el contingut d’una carpeta de cop, però en cas de que això falli (com m’ha passat a mi) hi ha una solució, i aquesta és un script que he fet :). El programet està fet en PHP, així que si no el teniu instal·lat teniu dues opcions: o bé feu sudo apt-get install php5 i instal·leu aquest des dels dipòsits; o us baixeu el XAMPP for Linux, el descomprimiu al directori /opt (us caldràn permisos d’administració per a això, també), i l’inicieu amb “sudo /opt/lampp/lampp start”.

Un cop tingueu PHP activat (o si ja l’hi teníeu) descarrega el codi d’aquest script meu, que està sota llicència GPL, aquí: getDirFromCell, descomprimeix l’arxiu getDirFromCell.php on vulguis, edita’l amb el gEdit (o algun altre programa com el Bluefish Editor o el Geany) i canvia les 3 variables de configuració:

$mac: El identificador mac del teu mòbil.
$path: El directori del que vols descarregar els arxius (no s’inclouen subdirectoris).
$overwrite: Si vols que es sobreescriguin arxius existents (per no descarregar dos cops el mateix o borrar arxius que tinguin el mateix nom) (true / false).

Finalment executa l’ordre “php /carpeta/getDirFromCell.php” o “/opt/lampp/bin/php-5.2.1 /carpeta/getDirFromCell.php”, tenint el mòbil encès i a prop, i la transferència començarà. Tingues en compte que pot ser que el mòbil et demani permís per a cada arxiu so?licitat, però sempre és millor que haver d’escriure el nom de cadascun individualment. També pensa que els arxius apareixeran al directori on estàs quan executes l’ordre.

Nota (05/05/2007): He actualitzat el script i ara té l’opció de recursivitat i de “mode debug”.


(Fonts d’Informació:
BluetoothSetup i Como Bluetooth en Ubuntu 2.)