====== parear cascos (actualizado) ======
Instalar bluetooth
sudo apt update && sudo apt install bluetooth
Ejecutar:
bluetoothctl
default-agent
pairable on
devices
Si sale el mismo que hay que parear mejor olvidarlo:
remove F8:4D:89:25:92:89
Poner el dispositivo bluetooth a parear en modo "descubrible". En mi caso unos airpods
scan on
Encontrar el ID del dispositivo
pair F8:4D:89:25:92:89
En futuras ocasiones:
bluetoothctl
connect F8:4D:89:25:92:89
====== 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
Lo interesante de esta receta es poder enviar/recibir archivos **sin tener que instalar KDE/Gnome y sus applets**
===== Habilitar bluetooth =====
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
===== Parear los dispositivos =====
==== Arch Linux ====
http://wiki.archlinux.org/index.php/Bluetooth#Pairing
1. Lanzar como root el comando(parte del paquete 'bluez'):
sudo bluez-simple-agent
Si todo va bien, se tiene que ver:
Agent registered
Si aparece algun error de python, reiniciar el demonio bluetooth:
sudo /etc/rc.d/bluetooth restart
2. Lanzar como usuario, y pasando la direccion MAC del dispositivo a parear:
bluez-simple-agent hci0 MAC_DISPOSITIVO_A_PAREAR
3. (Movil) confirmar que se quiere parear
4. (Pc) teclear el codigo que se quiere usar
5. (Movil) Teclear el mismo codigo que el paso 4.
Otra:
* 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
* Desde el pc 2 (funciona 14/12/2009)
4.3.1 Situarse en el directorio en el que se quiere recibir los archivos y escribir:
bluetooth-agent 1234
4.3.2 Desde otra consola averiguar la dirección mac del móvil:
hcitool scan
Scanning ...
00:17:83:ED:AD:14 HTC_P3650
00:09:DD:50:6E:1C airis-0
4.3.3 Listar el contenido del móvil (no se si todos los móviles soportan esta opción):
obexftp -b 00:17:83:ED:AD:14 -l
4.3.4 En el móvil teclear '1234'
===== 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)"...|
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"...-
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 MAC_MOVIL -c DIRECTORIO_REMOTO -p ARCHIVO_LOCAL
o
obexftp -b MAC_MOVIL -p ARCHIVO_LOCAL
Browsing 00:17:83:ED:AD:14 ...
Connecting..\done
Tried to connect for 69ms
Sending "/tmp/log.txt".../done
Disconnecting..-done
===== Gnome applet debian lenny =====
Módulos instalados:
hci_usb 18460 3
bluetooth 57636 9 rfcomm,l2cap,hci_usb
ehci_hcd 36620 0
uhci_hcd 26272 0
Paquetes:
ii bluetooth 3.36-3 Bluetooth stack utilities
ii bluez-audio 3.36-3 Bluetooth audio support
ii bluez-gnome 0.27-1 Bluetooth utilities for GNOME
ii bluez-utils 3.36-3 Bluetooth tools and daemons
ii gnome-bluetooth 0.9.1-1 GNOME Bluetooth tools
ii libbluetooth2 3.36-1 Library to use the BlueZ Linux Bluetooth stack
ii gnome-vfs-obexftp 0.4-1 GNOME VFS module for OBEX FTP
ii libopenobex1 1.3+cvs20070425-2 OBEX protocol library
ii obex-data-server 0.3.4-1 D-Bus service for OBEX client and server side functionality
ii obexftp 0.19-7 file transfer utility for devices that use the OBEX protocol
ii obexpushd 0.7-1 program for receiving files via Bluetooth or IRDA
Servicios corriendo:
3885 ? Ss 1:12 /usr/sbin/dhcdbd --system
14599 ? Ss 0:00 /usr/sbin/hcid -x -s
14612 pts/0 S 0:00 /usr/bin/bluetooth-applet
14614 ? S 0:00 /usr/bin/obex-data-server --no-daemon
14616 ? S 0:00 gnome-obex-server
14704 pts/0 S 0:00 /usr/bin/bluetooth-applet
Hay algunos problemillas de instalación:
http://lists.alioth.debian.org/pipermail/pkg-bluetooth-maintainers/2008-July/001636.html
===== Guión para copiar archivos =====
Pulir una miaja
#!/bin/bash
directorio="100MEDIA"
mac="00:17:83:ED:AD:14"
rm /tmp/mobil.txt; for i in `obexftp -c $directorio -l`;\
do name="` echo \"$i\" | grep name | sed 's/"//g' | sed 's/^name=//g' `";\
echo $name >> /tmp/mobil.txt; done; \
echo `cat /tmp/mobil.txt|sed 's/\n//g'` > /tmp/mobil2.txt; sleep 1;\
obexftp -b $mac -g $directorio/`cat /tmp/mobil2.txt`
===== beacon =====
Lanzamos el scan y mientras está el scan el btmon:
hcitool lescan
4A:F6:C7:2E:D3:DE (unknown)
44:9B:E0:3A:70:DA (unknown)
E7:9F:D3:88:87:66 (unknown)
42:AA:DA:C2:5D:5C (unknown)
14:51:9A:A1:9C:E3 (unknown)
F8:DF:15:C8:E0:E2 JBL Flip 4
sudo btmon
> HCI Event: LE Meta Event (0x3e) plen 42 [hci0] 662.852030
LE Advertising Report (0x02)
Num reports: 1
Event type: Connectable undirected - ADV_IND (0x00)
Address type: Random (0x01)
Address: E7:9F:D3:88:87:66 (Static)
Data length: 30
Flags: 0x06
LE General Discoverable Mode
BR/EDR Not Supported
Company: Apple, Inc. (76)
Type: iBeacon (2)
UUID: 25786407-ebc6-cfaf-b14f-e2a49306a5fd
Version: 256.512
TX power: -40 dB
RSSI: -61 dBm (0xc3)
Para buscar dispositivos que también nos sirve para ver la señal:
sudo btmgmt find
Discovery started
hci0 type 7 discovering on
hci0 dev_found: 67:27:CE:8B:B9:47 type LE Random rssi -89 flags 0x0000
AD flags 0x1a
eir_len 30
hci0 dev_found: 73:02:AE:3E:48:1D type LE Random rssi -72 flags 0x0000
AD flags 0x1a
eir_len 30
hci0 dev_found: 72:9B:24:DA:2E:6D type LE Random rssi -63 flags 0x0004
AD flags 0x00
eir_len 31
hci0 dev_found: 0F:CE:FC:59:11:D2 type LE Random rssi -92 flags 0x0004
AD flags 0x00
eir_len 31
hci0 dev_found: 28:11:A5:33:A0:B7 type LE Public rssi -87 flags 0x0000
AD flags 0x19
eir_len 25
hci0 dev_found: 49:ED:F5:D8:8E:FA type LE Random rssi -87 flags 0x0000