User Tools

Site Tools


informatica:linux:bluetooth

This is an old revision of the document!


bluetooth

bluetooth bluez obexftp obexftpd bluetoothd

Requisitos:

  • Pc con tarjeta de bluetooth integrada o adaptador pinchado (lo vemos con un 'lspci -vv' o un 'lsusb'
  • Móvil con bluetooth activado, configurado como visible y (no se si todos los móviles lo soportan) habilitada la capacidad de ser examinado

1. Habilitar módulos del kernel

modprobe btusb

Creo que no hace falta, pero por si las moscas:

modprobe uhci_hcd ehci_hcd

2. Instalar paquetes:

aptitude update && aptitude install bluetooth obexftp obexpushd

Por si ascaso listo los paquetes que yo tengo instalados:

ii  bluetooth                            4.42-2                     Bluetooth support
ii  bluez                                4.42-2                     Bluetooth tools and daemons
ii  bluez-alsa                           4.42-2                     Bluetooth ALSA support
ii  bluez-cups                           4.42-2                     Bluetooth printer driver for CUPS
ii  bluez-firmware                       1.2-2                      Firmware for Bluetooth devices
rc  bluez-gnome                          0.27-1                     Bluetooth utilities for GNOME
ii  bluez-gstreamer                      4.42-2                     Bluetooth GStreamer support
rc  bluez-utils                          4.42-2                     Transitional package
rc  libbluetooth2                        3.36-1                     Library to use the BlueZ Linux Bluetooth sta
ii  libbluetooth3                        4.42-2                     Library to use the BlueZ Linux Bluetooth sta
ii  mplayer-skin-blue                    1.6-2                      blue skin for mplayer
rc  gnome-vfs-obexftp                    0.4-1+b1                   GNOME VFS module for OBEX FTP
ii  libmulticobex1                       0.23-1                     multi-protocol cable OBEX library
ii  libobexftp0                          0.23-1                     object exchange file transfer library
ii  libopenobex1                         1.5-2                      OBEX protocol library
ii  obex-data-server                     0.4.4-2                    D-Bus service for OBEX client and server sid
ii  obexftp                              0.23-1                     file transfer utility for devices that use t
ii  obexpushd                            0.7-1.1                    program for receiving files via Bluetooth or

3. Arrancar el demonio de bluetooth:

/usr/sbin/bluetoothd

Para comprobar que tenemos un dispostivo bluetooth funcionando:

hcitool dev
Devices:
	hci0	00:16:41:8A:27:B6

4. Parear los dispositivos

  • Desde el teléfono móvil

4.1.1 Situarse en el directorio en el que se quiere recibir los archivos y escribir:

bluetooth-agent 1234

4.1.2 Desde el móvil buscar dispositivos, seleccionar el nombre susceptible de ser el ordeñador y teclear '1234'

  • Desde el pc

4.2.1 Situarse en el directorio en el que se quiere recibir los archivos y escribir:

bluetooth-agent 1234

4.2.2 Teclear:

rfcomm connect mac_telefono_movil

Error:

Can't find a config entry for rfcomm0

Tengo que depurarlo

Recibir archivos

1. Arrancar el demonio para recibir archivos:

obexpushd

2. Hacer visible nuestro dispositivo:

  • NO funciona
dbus-send --system --dest=org.bluez /org/bluez/hci0 org.bluez.Adapter.SetMode string:discoverable
  • Funciona
hciconfig hci0 piscan

Para comprobar que nuestro dispositivo es visible:

hciconfig
hci0:	Type: USB
	BD Address: 00:16:41:8A:27:B6 ACL MTU: 384:8 SCO MTU: 64:8
	UP RUNNING PSCAN ISCAN 
	RX bytes:786030 acl:1915 sco:0 events:1467 errors:0
	TX bytes:19928 acl:1227 sco:0 commands:112 errors:0

Tienen que estar presente los valores 'ISCAN PSCAN'

3. Ahora podemos recibir archivos de dos formas:

  • Desde el pc (recomendado, más cómodo)

3.1.1 Rastrear dispositivos. Lógicamente hay que habilitar el usb del móvil y situarlo cerca:

hcitool scan
Scanning ...
	00:17:83:ED:AD:14	HTC_P3650
	00:09:DD:50:6E:1C	airis-0

3.1.2 NOTA No se si todos los móviles soportan la capacidad de ser examinados.

Listar el directorio que el móvil comparte. En este ejemplo usamos la dirección MAC de la HTC P3650:

obexftp -b 00:17:83:ED:AD:14 -l
Browsing 00:17:83:ED:AD:14 ...
Connecting..\done
Tried to connect for 27ms
Receiving "(null)"...|<?xml version="1.0"?>
<!DOCTYPE folder-listing SYSTEM "obex-folder-listing.dtd">
<folder-listing version="1.0">
  <parent-folder name="" />
  <folder name="100MEDIA" created="20090921T165014Z"/>
</folder-listing>
done
Disconnecting../done

En mi caso vemos que el directorio que comparte contiene únicamente otro directorio, '100MEDIA', por lo que para listar el contendio de '100MEDIA':

obexftp -b 00:17:83:ED:AD:14 -l 100MEDIA
Browsing 00:17:83:ED:AD:14 ...
Connecting..\done
Tried to connect for 16ms
Receiving "100MEDIA"...-<?xml version="1.0"?>
<!DOCTYPE folder-listing SYSTEM "obex-folder-listing.dtd">
<folder-listing version="1.0">
  <parent-folder name="" />
  <file name="VIDEO0001.mp4" created="20090922T181420Z" size="503311"/>
  <file name="IMAG0005.jpg" created="20091015T191332Z" size="368229"/>
  <file name="VIDEO0006.mp4" created="20091020T182922Z" size="435611"/>
</folder-listing>
done
Disconnecting..\done

3.1.3 Situarnos en el directorio en el que queramos recibir el archivo:

cd /tmp/

3.1.4 Recibir el archivo:

obexftp -b 00:17:83:ED:AD:14 -g 100MEDIA/VIDEO0001.mp4

* Desde el móvil

3.2.1 Seleccionamos el archivo (depende del modelo de móvil el como hacerlo)

3.2.2 Seleccionar 'transferir' o 'enviar por bluetooth' o algo así (depende del modelo de móvil el como hacerlo)

El archivo irá a parar al directorio desde el cual se ejecutó la instrucción 'bluetooth-agent 1234'

Enviar archivos

1. Enviar archivos

  • Móvil ⇒ pc

Seleccionar el archivo, 'transferir' o algo así y seleccionar el pc. En el pc aparecerá un mensaje:

Pincode request for device /org/bluez/2884/hci0/dev_00_17_83_ED_AD_14

El archivo se dejará en el directorio desde el cual se lanzó el comando 'bluetooth-agent 1234'

  • Pc ⇒ móvil
obexftp -b 00:17:83:ED:AD:14 -p /tmp/log.txt 
Browsing 00:17:83:ED:AD:14 ...
Connecting..\done
Tried to connect for 69ms
Sending "/tmp/log.txt".../done
Disconnecting..-done
informatica/linux/bluetooth.1258221907.txt.gz · Last modified: 2015/04/13 20:19 (external edit)