Pro připojení k internetu prostřednictvím GPRS jsem použl telefon NOKIA 6233, USB Bluetooth adaptér CCK Bluetooth USB Dongle (ale lze použít i jiný, např. Mobile Action MA-730G, který T-mobile nabí k tomuto telefonu) notebook Prestigio 156 a operační systém Fedora Core 6 a T-Mobile. Klčíovým podkladem pro úspěch byl i návod pana Miroslava Zajíčka, který jsem našel na internetu a kterému tímto děkuji. A) Konfigurace bluetooth- Seznam Linuxem podporovaných Bluetooth zařízení je zde ale fungují i další ..
Dále je třeba mít nainstalované potřebné balíky (např. bluez-utils ) - Komunikace se zařízením obstarává hcid.
Ověříme, zda je tato služba spuštěná:
service bluetooth status - Pokud chybí zařízení /dev/rfcomm, vytvoříme jej pomocí příkazu:
mknod -mode 666 /dev/rfcomm0 c 216 0 - Příkaz hciconfig vypsal v mém případě toto:
[root@localhost root]# hciconfig hci0: Type: USB BD Address: 00:11:67:04:86:76 ACL MTU: 678:8 SCO MTU: 48:10 UP RUNNING PSCAN ISCAN RX bytes:464 acl:0 sco:0 events:23 errors:0 TX bytes:330 acl:0 sco:0 commands:20 errors:0 Zapneme bluetooth na mobilním telefonu (do režimu viditelný) - příkaz hcitool scan nám vypíše přístroje, které jsou „vidět“. V mém případě byly v dosahu dva telefony
k jejichž IP adresám by bylo možné se připojit: Scanning … 00:19:B7:87:4C:D8 Nokia 6233 00:13:70:AC:76:6E Nokia 6230i 00:19:B7:87:4C:D8 je adresa mnou požadované detekované Nokie 6233. Pokud známe tuto adresu, můžeme se na zařízení dále odkazovat: root@localhost /]# hcitool info 00:19:B7:87:4C:D8 Requesting information ... BD Address: 00:19:B7:87:4C:D8 Device Name: Nokia 6233 LMP Version: 2.0 (0x3) LMP Subversion: 0x6cc Manufacturer: Cambridge Silicon Radio (10) Features: 0xbf 0xee 0x0f 0xc6 0x9a 0x39 0x00 0x00 <3-slot packets> <5-slot packets> <3-slot EDR ACL> <5-slot EDR ACL> Pozn: Utilita hcitool má celou řadu parametrů, se kterými lze experimentovat a získat zajímvé údaje o bluetooth připojení. Užitečný může být rovněž hcidump, který monitoruje provoz probíhající mezi bluetooth zařízeními. - Chceme – li si být spojením úplně jistí, můžeme na telefon zkusit pingnout. U mne byl výsledek tento:
l2ping 00:19:B7:87:4C:D8 Ping: 00:19:B7:87:4C:D8 from 00:11:67:04:86:76 (data size 44) … 0 bytes from 00:19:B7:87:4C:D8 id 0 time 10.72ms 0 bytes from 00:19:B7:87:4C:D8 id 1 time 41.42ms 0 bytes from 00:19:B7:87:4C:D8 id 2 time 42.41ms 0 bytes from 00:19:B7:87:4C:D8 id 3 time 41.40ms 4 sent, 4 received, 0% loss - Protože spojení máme v pořádku, je třeba přikročit ke konfiguraci:
- Upravíme konfigorační soubor služby hcid /etc/bluetooth/hcid.conf
Můj soubor vypadá nálsedovně: [root@localhost /]# cat /etc/bluetooth/hcid.conf # HCI daemon configuration file. # HCId options options { # Automaticky iniciovat nová zarizeni autoinit yes; # Nastavení správce zabezpečení # none - Správce zabezpečení vypnutý # auto - Použít místní PIN pro příchozí spojení # user - Vždy se ptát užvatele na PIN security auto; pairing multi; # Umístění souboru s kódem PIN (může být změněno) #pin_helper /usr/bin/bluepin; pin_helper /usr/local/bin/bluez_pin_simple;} # Standardní nastavení HCI zařízeníDefault settings for HCI devices device { # Místní název zařízení # %d - device id # %h - host name #name "BlueZ (%d)"; name "Linux"; name "%h-%d"; # Třída místního zařízení class 0x100; # Standardní typ paketů pkt_type DH1,DM1,HV1; # Pátrání a sken stránky iscan enable; pscan enable; # Standardní typ připojení # none - žádný specifický postup # accept - vždy přijmout příchozí připojení # master - přo příchozí připojení se stát masterem # zakázat přepínání rolí pro odchozí spojení #lm accept,master; lm master; # Standardní postup připojení # none - žádný specifický postup # rswitch - povolit role připojení # hold - dovolit hold mode # sniff - povolit sniff mode # park - povolit park mode #lp hold,sniff; lp hold,sniff,park; # Autentizace a enkrypce #auth enable; #encrypt enable; }
Pro položku pin_helper je třeba nastavit skript. V mém případě je to spustitelný soubor bluez_pin_simple: [root@localhost /]# cat /usr/local/bin/bluez_pin_simple #!/bin/bash echo "PIN:1234"
B) Připojení přes T-mobile CZ- Komunikace s přes bluetooth probíhá pomocí sériového rozhraní,
které je vytvořeno pomocí utility rfcomm. Ke spojení použijeme následující příkaz:
[ludek@localhost]$ rfcomm connect rfcomm0 00:19:B7:87:4C:D8 Connected /dev/rfcomm0 to 00:19:B7:87:4C:D8 on channel 1 Press CTRL-C for hangup Na displeji mobilního telefonu se objeví žádost o potvrzení připojení, kterou potvrdíme - Přístorje musíme spárovat. To provedeme zadáním PINu na telefonu.
Na PC používám k tomuto účelu gnome-bluetooth applet do kterého zadám stejné číslo. Spárování je tak dokončeno. . - Dále je třeba iniciovat pppd komunikaci s poskytovatelem připojení.
Připojení provedeme pomocí příkazu:[root@localhost]# pppd call gprs Aby tento příkaz proběhl jak má musí být nastaveny parametry v souborech: /etc/ppp/chat-gprs a /etc/ppp/peers/gprs (dle doporučení v [3 ] a [4]) Zde je první výpis: [root@localhost]$ cat /etc/ppp/chat-gprs TIMEOUT 12 ECHO ON ABORT '\nBUSY\r' ABORT '\nERROR\r' ABORT '\nNO ANSWER\r' ABORT '\nNO CARRIER\r' ABORT '\nNO DIALTONE\r' ABORT '\nRINGING\r\n\r\nRINGING\r' '' 'ATE1' OK AT+CGDCONT=1,"IP","internet.t-mobile.cz" OK ATD*99***1# CONNECT \d\c a druhý: [root@localhost]$ cat /etc/ppp/peers/gprs debug connect "chat -f /etc/ppp/chat-gprs -r /dev/console" noauth usepeerdns /dev/rfcomm0 115200 115200 local nocrtscts defaultroute noipdefault - T-mobile využívá pro spojení Challenge Handshake Authentication Protocol
— (CHAP), takže pro úspěšné připojení je navíc třeba soubor:[root@localhost root]# cat /etc/ppp/chap-secrets # Secrets for authentication using CHAP # client server secret IP addresses gprs gprs gprs - Nakonec je třeba správně nastavit DNS v souboru /etc/resolv.conf
podle doporučení T-mobile: nameserver 62.141.0.1 nameserver 213.162.65.1 - Připojení (k T-mobile i k bluetooth) ukončíme např. příkazem
killall pppd
D) Přístup k datům v telefonu přes OBEX- Nejprve je nutné mít funkční bluetooth spojení:
[root@localhost ~]# rfcomm connect rfcomm0 00:19:B7:87:4C:D8 Connected /dev/rfcomm0 to 00:19:B7:87:4C:D8 on channel 1 Press CTRL-C for hangup Spojení můžeme ověřit též příkazem l2ping 00:19:B7:87:4C:D8 - Nyní je třeba zjistit ke ketrému kanálu se budeme připojovat.
K tomu nám poslouží příkaz: sdptool browse .. jako příklad si můžeme vzít kanál 10: Service Name: OBEX File Transfer Service RecHandle: 0x1001f Service Class ID List: „OBEX File Transfer“ (0x1106) Protocol Descriptor List: „L2CAP“ (0x0100) „RFCOMM“ (0x0003) Channel: 10 - Vytvoříme přípojný bod (adresář):mkdir /mnt/nokia/sd
- A nakonec připojíme telefon:– pro přístup k datové kartě telefonu (-B10):
mount -t fuse „obexfs#-b00:19:B7:87:4C:D8 -B10“ /mnt/nokia/sd - Nebo je možné umístit odpovídající řádek do /etc/fstab
obexfs#-b00-19-B7-87-4C-D8\040-B10 /mnt/nokia/sd fuse allow_other 0 0 Pozn: Using fstab spaces in mount point name (especially before -B option) must be replaced with their octal character code (040) preceded by \ (backslash)
Odkaz na homepage obexfs: http://openobex.triq.net/obexfs E) Synchronizace s PC Pro synchronizaci s vlastním počítačem je možné Wammu. Pro synchronizaci na serverovém základě je asi nejlepší volbou FUNAMBOL: http://www.funambol.com/ Pokud máme funkční datový přenos, můžeme využít po zaregistrování online službu: http://my.funambol.com/c/portal Nebo můžeme rozběhnout vlastní funambol server a přistupovat k němu pomocí bluetooth. |