Connexions Bluetooth

De Cacauet Wiki
Dreceres ràpides: navegació, cerca

La tecnologia Bluetooth es va començar a dissenyar l'any 1998 per tal de realitzar connexions inalàmbriques de proximitat, en especial per dispositius mòbils (també per domòtica). És important aquest darrer detall: al ser pensat per dispositius mòbils té una reducció forta del consum d'energia, cosa que no realitzen protocols similars com el de la WiFi.

float

El Bluetooth SIG (Special Interest Group) el van fundar el 1998 les companyies:

  • Ericsson
  • Intel
  • IBM
  • Toshiba
  • Nokia

Al que després s'ha afegit:

  • Motorola (1999)
  • Lenovo
  • Microsoft (2006)
  • ...actualment té mes de 12.000 membres.


Compatibilitat amb Linux[modifica]

Si heu de comprar una antena Bluetooth convé mirar que sigui compatible amb Linux. Per realitzar els exercicis proposats aquí necessitareu que ho siguin.

Aquí trobareu una llista de marques que són compatibles: https://wiki.ubuntu.com/HardwareSupportComponentsBluetoothUsbAdapters


Característiques del Bluetooth[modifica]

Simplificant, es podria dir que el Bluetooth es va pensar com a alternativa inalàmbrica al USB (per exemple per ratolins i impressores), però afegint una estandarització dels serveis que ofereix. A mesura que aquests serveis s'han millorat amb les posteriors versions, el Bluetooth també ha adaptat capacitats més sofisticades com la de crear xarxes PAN (Personal Area Network) el què l'acosta una mica a una interfície de xarxa com el WiFi, tot i que no té tan bons resultats.

Emparellament o pairing[modifica]

Potser el tret més característic a l'hora de treballar amb BT és que cal emparellar els dispostius. L'emparellament (pairing) és el procés pel qual els dos dispositius BT es reconeixen i s'autoritzen mútuament a transferir-se dades. Així evitarem que algú es connecti al nostre PC sense permís. Més o menys podríem dir que l'emparellament equival a "connectar el cable" si fos un USB.

El procés d'emparellament sol consistir en que el dispositiu al que es vol accedir demana un codi (PIN) al dispositiu client (i que nosaltres hem d'introduir en aquest). Per exemple, si tenim un mòbil que ens donarà accés a Internet:

  • Detecció del dispositiu client que demana connexió (per exemple, un netbook).
  • El mòbil ens demana si autoritzem la connexió (diem que sí).
  • El mòbil ens dona un PIN aleatori per pantalla que el client també haurà d'introduir.
  • Si el client (netbook) introduexi el PIN correctament, el mòbil permetrà l'emparellament.

Trust[modifica]

Però això no s'acaba aquí. Un cop emparellats els dos dispositius cal activar i autoritzar els serveis desitjats en el servidor (compartició d'Internet a través de xarxa PAN, transferència de fitxers, etc.).

Si, a més, volem que sempre que el dispositiu client ho vulgui es pugui connectar sense haver de tornar a demanar autorització, cal donar-li permisos de "confiança" (TRUST). Si el dispositiu servidor el posa a la llista de dispositius en què es confia (trusted) no caldrà repetir l'autorització del servei i el client es podrà connectar sempre que vulgui.

Serveis Bluetooth[modifica]

Un dongle bluetooth per USB. L'antena s'ha reduït a la mínima expressió.

La tecnologia bluetooth disposa de nombrosos serveis:

  • Transmissió d'arxius per protocol OBEX (OBject EXchange): típicament fotos entre dispositius mòbils o descàrrega d'arxius del mòbil al PC.
  • Connectivitat de perifèrics (impressores, escàners, càmeres, etc.): substitució del USB.
  • Connexió a xarxes personals (de proximitat) o PAN: Personal Area Network
  • Connexió a mòdem (obsolet, ara es resol per xarxa PAN).
  • Transmissió d'àudio (auriculars o headsets inalàmbrics).
  • Sincronització de dades: agenda, calendari, contactes, etc. El típic exemple és quan sincronitzem les dades del mòbil amb el gestor de correu (contactes) o quan el mans lliures del cotxe carrega l'agenda del mòbil per poder trucar des del dispositiu frontal o a través de reconeixement de veu.
  • ...


Tethering[modifica]

El tethering és una connexió bluetooth per poder compartir la connexió a Internet. La realitzarem a través d'una xarxa personal o PAN: Personal Area Network. Es tracta d'una xarxa de proximitat personal associada a una persona o a un equip determinat.

Casos típics:

  • Connectar el nostre portàtil o netbook a Internet a través del nostre mòbil 3G.
  • Connectar dispositius mòbils com palms sense connexió 3G a una xarxa local.

Normalment el procés a realitzar és el següent:

  1. Instal·lació i configuració del programari de client i servidor.
    • Si tenim un telèfon no cal que configurem el servidor ja que sol venir configurat per treballar com a AP (Access Point) d'Internet. En principi només caldrà activar el servei si és que el tenim apagat.
    • Si volem fer servir un PC com a pasarel·la d'internet a través de BT cal que instal·lem el programari adient (blueman).
  2. Emparellar (pair) els dispositius: això es realitza per seguretat i evitar que se'ns connectin al nostre dispositiu mòbil sense la nostra autorització.
  3. Connectar amb el dispositiu i amb servei desitjat, en aquest cas, a la xarxa bluetooth que ens proveirà accés a Internet.


Tethering en Linux (Ubuntu)[modifica]

La següent configuració l'hem realitzat amb Ubuntu Lucid 10.04. Seguirem les passes descrites més amunt.


Pas 1: Instal·lació del servidor[modifica]

Com hem descrit abans, si tenim un telèfon com a AP d'Internet no cal instal·lar res, només activar la compartició d'Internet.

Configuració de l'aplicació Blueman de Linux per a utilitzar la màquina com a servidor AP (Access Point) d'Internet.

Si volem configurar un PC perquè ens actuï de AP d'Internet (pasarel·la) cal fer el següent:

  • Fer el PC visible clicant el logo del BT que apareix a la part superior esquerra (és el gestor de BT del Gnome) i fem:
    BT -> Preferències -> Fer el PC visible
    També podem canviar el nom del PC per quelcom que sigui fàcilment reconeixible.
  • Instal·lar paquet blueman (el que ve per defecte amb el Gnome no ens resoldrà les funcions de server).
$ sudo apt-get install blueman
  • Si volem (però no ho aconsellem), podem desinstal·lar la aplicació integrada del Gnome:
    $ sudo apt-get remove bluetooth-properties
  • Arrencar el blueman amb la comanda
$ blueman-applet &
  • Configurar el software blueman anant al logo de Bluetooth de la barra superior dreta (OJU: pot haver-hi també la anterior programa del Gnome amb el mateix signe, no els confongueu).
    • Anem a (botó dret)->Local Services
    • Activem tots els serveis "Group network"=PAN i "Network Access Point"=NAP)
    • Activem la opció "dnsmasq" i "Enable routing (NAT)"
  • Apliquem canvis.

El servidor està configurat :)

Pas 2: emparellar els dispositius[modifica]

Anem per l'emparellament (client):

  • Instal·lem el blueman al client i l'engeguem:
$ sudo apt-get install blueman
$ blueman-applet &
  • Obrim el blueman-applet (clic normal) i anem a "Search"
    Els dispositius bluetooth disponibles apareixen.
  • Localitzem el nostre servidor, cliquem amb el botó dret i fem "Pair".
  • Introduïm el PIN als dos dispositius.

Ja tenim els dos dispositius emparellats.

Pas 3: connectar el client[modifica]

Prerequisits:

  • Dispositiu emparellat prèviament (pas 2).
  • Instal·lar els paquets addcionals bluez-compat, bluez-pan i bluez-network per tal que el network-manager reconegui les connexions bluetooth.
    $ sudo apt-get install bluez-compat bluez-pan bluez-network


Amb el network-manager del Gnome és força senzill: en aquest cas estem connectant-nos al dispositiu iEnric amb la MAC DC:2B:61:18:3A:7C

A partir de la Ubuntu 10.04 l'ideal és fer-ho amb el network-manager, tot i que també es pot fer amb el blueman afegint certa configuració manual.

  • Amb el network-manager (el logo en miniatura de les interfícies de xarxa de la barra superior dreta de l'escriptori):
    Cliquem amb el botó normal (esquerre) del ratolí i hauria de sortir-nos el dispositiu prèviament emparellat, cal fixar-se amb el friendly name (està en gris que no es veu gaire bé) i caldrà que cliquem sobre l'adreça MAC del nostre servidor. Si no està emparellat no ens sortirà la opció.
  • Amb el blueman: obrir-lo, clicar amb el botó dret sobre el dispositiu "servidor" i triar "Connect to: Network Access Point". Però amb això no hi ha prou: hem establert contacte i s'ha creat la connexió de xarxa "bnep0" però sense adreça IP. Per aconsguir-ne una executem:
     $ sudo dhclient bnep0


ALGUNES NOTES

  • De vegades els telèfons o certs dispositius no es configuren correctament i cal repetir el procediment d'aparellament (pairing) i reintentar la connexió. Pot caldre reiniciar el telèfon o intentar emparellar des del telèfon enlloc de prendre la iniciativa des del PC.
  • Un cop Ubuntu memoritza una MAC Bluetooth ja no cal tornar a emparellar el dispositiu. Podem anar al network-manager directament i al connectar la xarxa al dispositiu "PANU" ell mateix realitza l'emparellament ja que els dos dispositius "ja es conèixen".


Versions d'Ubuntu anteriors a la 10.04[modifica]

Possibles problemes amb el client: que no funcioni bé el network-manager per les connexions bluetooth PAND. Caldrà connectar-ho a mà amb les següents instruccions:

  • Explorem els dispositius bluetooth:
    $ hcitool scan
  • Prenem nota de la MAC del servidor detectada i l'apliquem a la connexió:
    $ sudo pand --connect <MAC-servidor> -n
  • Obtenim una IP i DNS:
    $ sudo dhclient bnep0

I ja ho tenim!

Si en algun moment volem tancar la connexió:

$ sudo pand -K


Tethering en Windows[modifica]

TODO...