Bylo to v době, kdy jsem používal Mandrakelinux 9.2 a zdaleka ne všechen potřebný software byl součástí mé distribuce. Od té doby však již nějaký ten pátek uplynul, a tak dnes pravděpodobně ve své oblíbené distribuci najdete vše potřebné. Uvedený příklad je platný pro Mandrivu 2005 LE a grafické prostředí KDE, ale s menšími změnami jej lze uplatnit na libovolné distribuci.
Instalace balíčků
O práci s bluetooth rozhraním se v Linuxu stará sada nástrojů bluez, které zajišťují základní komunikaci s hardwarem. Nad nimi běžící rozhraní pro KDE se jmenuje kdebluetooth. Je tedy nutné nainstalovat potřebné balíčky, pro Mandrivu jsou to následující:
libbluez1 bluez-utils bluez-pin libkdebluetooth0 kdebluetooth
Po instalaci spustíme službu bluetooth, v Mandrivě můžeme použít příkaz chkconfig pro nastavení spouštění při startu systému:
# chkconfig bluetooth on # service bluetooth start
Dále spustíme démon kbluetoothd, který běží na pozadí KDE a monitoruje veškerou "modrozubou" činnost. Ten se nám po spuštění usadí v systémové části panelu. Je-li jeho ikonka šedá, neprobíhá žádná komunikace. Zabarví-li se modře, procházejí přes bluetooth rozhraní data.
Kbluetoothd nabízí mnoho zajímavých funkcí jako například automatické vyhledávání zařízení, informace o aktivním připojení a podobně. Kliknete-li na ikonu v systémové části panelu pravým tlačítkem myši, zobrazí se přehledné a intuitivní menu.
Nastavení
V souboru /etc/bluetooth/hcid.conf změníme položku
pin_helper /usr/bin/bluepin;
na
pin_helper /usr/bin/kbluepin;
Díky této změně se při požadavku na zadání PIN kódu zařízení spustí příslušný dialog pro KDE. Samotný PIN kód pro vaše PC zadejte do souboru /etc/bluetooth/pin (výchozí hodnotu BlueZ smažte), například 4321. Po změně PIN kódu je třeba restartovat službu bluetooth.
Hardware
Externích USB adaptérů jsem vyzkoušel několik, se žádným nebyl sebemenší problém. Rovněž by bez problémů měly fungovat všechny typy integrovaných bluetooth zařízení.
Při detekci hardwaru se ozve démon kdbluetoothd s hlášením, že byl připojen bluetooth adaptér. Zapneme bluetooth v telefonu a vyzkoušíme komunikaci, prozatím v konzoli:
# hcitool scan
pokud je vše, jak má být, mělo by se objevit:
Scanning ... XX:XX:XX:XX:XX:XX T610
kde XX:XX:XX:XX:XX:XX bude adresa vašeho telefonu. Ta se nám bude ještě hodit později. Vyzkoušíme, jaké služby náš telefon nabízí:
# sdptool search DUN --bdaddr XX:XX:XX:XX:XX:XX
kde místo XX:XX:XX:XX:XX:XX doplníme adresu našeho telefonu. Dostaneme výpis, který uvádím v rámečku. Vidíme, že telefon poskytuje službu Dialup Networking, sloužící pro připojení k internetu, na kanále 1, proto zadáme:
# rfcomm bind 0 XX:XX:XX:XX:XX:XX 1
Tím se vytvoří zařízení /dev/rfcomm0 (na systémech, které používají udev), případně /dev/bluetooth/rfcomm/0 (na systémech, které používají devfs).
Aby se zařízení rfcomm vytvářelo při každém spuštění systému, je možné zadat tento příkaz například do souboru /etc/rc.d/rc.local. V tuhle chvíli je vše připraveno pro připojení k internetu.
Služby telefonu SonyEricsson. # sdptool search DUN --bdaddr XX:XX:XX:XX:XX:XX Inquiring … Searching for DUN on XX:XX:XX:XX:XX:XX … Service Name: Dial-up Networking Service RecHandle: 0x10000 Service Class ID List: "Dialup Networking" (0x1103) "Generic Networking" (0x1201) Protocol Descriptor List: "L2CAP" (0x0100) "RFCOMM" (0x0003) Channel: 1 Profile Descriptor List: "Dialup Networking" (0x1103) Version: 0x0100
Připojení k internetu
Připojení můžeme realizovat například pomocí programu kppp, potřebný balíček je rovněž součástí většiny distribucí. V kppp pak jako zařízení nastavíme v záložce Zařízení /dev/rfcomm0, rychlost spojení maximální (ostatní beze změny) a můžeme vyzkoušet komunikaci pomocí tlačítka Dotázat se modemu v záložce Modem. Pokud bylo vše nastaveno správně, bude modem inicializován a objeví se tabulka AT příkazů. Dále je třeba nastavit inicializační řetězec podle konkrétního operátora, což uvádím v rámečku.
AT+CGDCONT=1,"IP","internet.t-mobile.cz" pro T-Mobile AT+CGDCONT=1,"IP","internet" pro Eurotel - tarif AT+CGDCONT=1,"IP","gointernet" pro Eurotel - GO karta AT+CGDCONT=1,"IP","internet" pro Oskar - tarif AT+CGDCONT=1,"IP","ointernet" pro Oskar - Oskarta
Pokud modem komunikuje, nic nebrání v prvním připojení k internetu přes bluetooth.
Poznámka: Používáte-li Shorewall, přidejte do souboru /etc/shorewall/interfaces řádek net ppp+ detect dhcp a restartujte Shorewall, aby neblokoval přístup na internet přes vytáčené připojení.
Přenos souborů
Při prvním spojení počítače s telefonem je třeba zařízení spárovat. Budete vyzváni k zadání PIN kódu, což je kód, který jste zadali do souboru /etc/bluetooth/pin.
Pro přenos obrázků a dalších souborů z PC do telefonu slouží prográmek kbtobexclient, který je součástí balíčku kbluetooth. Jednoduše si vyberete soubor na svém disku, přetáhnete jej do okna fronty a kliknete na tlačítko Send. Telefon se vás zeptá, zda chcete obrázky přijmout a po odsouhlasení dojde k přenosu. Funguje to naprosto spolehlivě. Soubory lze odesílat i po kliknutí pravým tlačítkem myši na soubor a zvolení položky Send with Bluetooth v sekci Činnosti.
Po nainstalování kbluetooth lze využít nový typ protokolu - sdp:// - pomocí kterého lze procházet bluetooth zařízení přímo v Konqueroru.
Z telefonu do PC stačí zvolit odeslání obrázku pomocí bluetooth. Telefon najde dostupná zařízení, zde vyberete vaše PC. Nyní by měl zareagovat kbluetoothd a spustit okno pro příjem souboru. Po přenosu se obrázek zobrazí v náhledu, zvolíte místo uložení a soubor je přenesen do počítače. Pokud dáváte přednost práci v konzoli, můžete pro přenos souborů vyzkoušet program obexftp, který naleznete na adrese triq.net/obex/.
Synchronizace kontaktů
Pro synchronizaci kontaktů existuje několik programů. Já jsem použil MultiSync, který je součástí mé distribuce. Dokáže synchronizovat kontakty mezi mobilním telefonem a knihou adres KDE nebo kontakty programu Evolution, rovněž umí vytvořit jednoduchou zálohu adresáře telefonu, ze které lze data kdykoliv obnovit. Jsou potřeba tyto balíčky:
multisync multisync-backup multisync-kdepim (pro synchronizaci s knihou adres KDE) multisync-evolution (pro synchronizaci s kontakty Evolution) multisync-irmc multisync-irmc_bluetooth
Poté stačí MultiSync spustit a nastavit synchronizační pár, kdy na jedné straně zvolíte IrMC Mobile Device, u kterého v nastavení vyberete typ připojení Bluetooth a zadáte adresu vašeho telefonu (tu, kterou obdržíte pomocí příkazu hcitool scan). Na druhé straně zvolíte synchronizaci s Evolution, knihou adres KDE nebo Backup pro vytvoření obyčejné zálohy. Poté stačí kliknout na tlačítko Sync a synchronizace se spustí.
Existuje i obdoba MultiSync, která je součástí KDE 3.4 a jmenuje se MultiSynk. Nabízí stejné možnosti a funkce jako MultiSync, který je primárně určen pro GNOME, ale je možné jej používat v libovolném prostředí, stačí mít nainstalovány knihovny GTK2.
Pokud upřednostňujete prostředí GNOME, bude vás zajímat projekt gnome-bluetooth, který se v tomto populárním prostředí o práci s bluetooth zařízeními stará.
Práce se SMS, vytáčení čísel…
Existuje mnoho utilitek sloužících ke spolupráci PC a mobilního telefonu, jako například psaní SMS či jejich čtení, vytáčení čísel, příjem příchozích hovorů a podobně. Některé jsou určeny pro konkrétní typy telefonů, jiné jsou víceméně univerzální. Jako nejzdařilejší mi připadá program KMobileTools, který výše uvedené činnosti zvládá více než dobře, navíc nabízí procházení paměti telefonu a SIM karty a vytváření jednoduchých záloh jejich obsahu do textového souboru. I když bohužel čas stále nedozrál tak, aby výrobci nabízeli linuxový software ke svým mobilním telefonům tak, jako tomu je u softwaru pro Windows, situace není rozhodně beznadějná a díky vývojářům open-source softwaru je možné většinu činností provozovat, i když je k tomu potřeba více než jeden program. Můžeme jen doufat, že se zvyšujícím se podílem Linuxu na poli operačních systémů se jednoho dne dočkáme například Nokia PC Suite for Linux.
Dalšími aplikacemi, určenými pro spolupráci s mobilními telefony, jsou například Kandy, Leif nebo gnokii.
Seznam zajímavých aplikací pro spolupráci s mobilními telefony najdete například na tuxmobil.org.