Bluetooth je technologie, která umožňuje propojovat různá zařízení jako mobilní telefony, PDA, notebooky nebo připojovat periférie (např. myši a klávesnice). Své jméno tato technologie získala podle dánského krále Haralda Modrozubého (Bluetooth). Logo Bluetooth je odvozeno od run pro písmena „H“ (podobá se hvězdě) a „B“.
Na rozdíl od IrDA není nutné, aby na sebe zařízení viděla a lze propojovat navzájem více zařízení. Pomocí této technologie je možné dosáhnout přenosové rychlosti 720 Kb/s (v aktuální verzi 1.2). Čistě teoreticky lze tento způsob připojení používat i v případě takových překážek, jakou je zeď. V praxi samozřejmě záleží na tloušťce a materiálu, ze kterého je zeď postavena, a třídě zařízení. Maximální dosah této technologie je podle třídy 10 až 100 metrů.
V následující části najdete informace o pincipech Bluetooth. Seznámíte se s potřebným softwarem a způsobem komunikace Bluetooth rozhraní s vaším systémem a samozřejmě i s Bluetooth profily.
Abyste mohli využívat Bluetooth, potřebujete Bluetooth adaptér (nejčastěji je integrovaný přímo v zařízení), ovladač a Bluetooth Protocol Stack.
Linuxové jádro již základní podporu Bluetooth obsahuje. Jako Protocol Stack slouží Bluez systém. Balíčky potřebné k používání Bluetooth:
bluez-libs
bluez-bluefw
bluez-pan
bluez-sdp
bluez-utils
Systém Bluetooth se skládá ze čtyř propojených vrstev:
Adaptér a příslušný ovladač v linuxovém jádře.
Používané pro nastavení Bluetooth systému.
Služby nastavené v konfiguračním souborech a poskytující služby.
Aplikace využívající služby démonů a ovládané uživateli.
Po vložení Bluetooth adaptéru systém hotplug zavede odpovídající ovladač. Po zavedení ovladače systém překontroluje konfigurační soubory, zda může Bluetooth spustit. Pokud ano, dojde ke spuštění služby a s ní spojených démonů. Z bezpečnostních důvodů je ve výchozím nastavení služba Bluetooth vypnuta.
V Bluetooth jsou služby definovány pomocí profilů jako např.. transportní profil nebo základní tiskový profil. Aby zařízení mohlo používat službu jiného zařízení, musí rozumět stejnému profilu — informace, která často chybí v balíčku zařízení a v manuálu. někteří výrobci se však nedrží definic profilů, což vede k tomu, že je komunikace mezi jednotlivými zařízeními často velmi problematická.
V následující části se dozvíte, jak nastavit Bluetooth na vašem počítači.
Podporu Bluetooth nastavíte pomocí Bluetooth modulu programu YaST viz. obr. 34.2 – „YaST konfigurace Bluetooth“. Pokud je pak systémem hotplug detekován Bluetooth adaptér, je Bluetooth automaticky spuštěn s nastaveními provedenými v tomto modulu.
První krok nastavení v programu YaST představuje povolení spuštění služby Bluetooth. Po povolení služby Bluetooth na nutné provést dvě nastavení. První nastavení se týká položky . Jde o jméno, které se zobrazí při připojení k systému (počítači) na zařízení. Použít můžete dvě proměnné—%h pro jméno počítače (užitečné, např. pokud je jméno přiřazováno dynamicky přes DHCP) a %d vracející číslo rozhraní (užitečné, pokud připojujete více Bluetooth zařízení najednou). Pokud do tohoto pole nastavíte Laptop %h a přes DHCP získá stanice jméno unit123, budou k počítači všechna vzdálená zařízení přistupovat jako k Laptop unit123.
Další povinnou částí je , kde nastavujete chován svého systému při připojení vzdfáleného zařízení. Správce bezpečnosti můžete zakázat, povolit lokální PIN nebo vyžadovat PIN vždy. Rozdíl mezi posledními dvěma položkami spočívá v tom, že v prvním případě se systém sice na PIN zeptá, ale pokud zařízení PIN neodešle nebo jen PIN chybný, spojení se přesto uskuteční. V druhém případě je PIN vyžadován vždy a spojení bez PINu nebo se zadáním chybného PINu se neprovedou. Z bezpečnostních důvodů vám doporučujeme použít třetí možnost, která navíc umožňuje používat pro různá zařízení různé PINy.
Dostupné služby (v Bluetooth nazývané profily) nastavíte v dialogu .Služby lze povolit kliknutím na tlačítko a zakázat kliknutím na tlačítko . V případě potřeby přenastavení služby jí upravíte jejím výběrem ze seznamu a kliknutím na tlačítko . Pokud nejste se službou blíže seznámeni, neměňte nastavení. Po provedení všech nastavení ukončete dialog kliknutím na tlačítko .
Dialog bezpečnostních nastavení, kde můžete nastavit šifrování, ověřování a nastavení skenování, vyvoláte v hlavním dialogu kliknutím na tlačítko . Zpět do hlavního dialogu se po nastavení vrátíte kliknutím na tlačítko . Všechna nastavení aktivujete kliknutím na tlačítko .
Z hlavního dialogu je dostupný také dialog . Bluetooth zařízení jsou rozdělena do různých „tříd zařízení“. ZVolte pro svůj počítač správné zařazení jako „pracovní stanice“ nebo „notebook“. Nastavení třídy zařízení není tak důležité jako nastavení „třídy služeb“. Některá zařízení, např. mobilní telefony, totiž při špatně zvolené třídě služeb neumožňují využít všechny služby. Zvolit můžete několi tříd zároveň. Obvykle není vhodné předvolit všechny třídy současně. Ve většině případů je dostačující výchozí nastavení.
Pokud chcete nastavit síť, aktivujte v nabídce profil a nastavte režim služby pomocí tlačítka . Aby byla síť funkční, je nutné, aby na jednom počítači byl profil pand nastaven na režim a na druhém počítači na . Výchozí nastavení je . Upravte pand podle své potřeby. Dále nastavte rozhraní bnepX (X je číslo pořadí zařízení v systému) v modulu +.
Konfigurační soubory jednotlivých komponent Bluez systému se nacházejí v adresáři /etc/bluetooth.
Výjimku představuje soubor /etc/sysconfig/bluetooth s nastaveními pro start komponent, který je upravován programem YaST
module.
Konfiguraci popsanou v následujícím odstavci můžete provádět pouze jako uživatel root. V současné době zatím neexistuje žádný grafický konfigurační nástroj. Veškerá nastavení se provádějí pomocí editace textových souborů.
Při prvním spojení se nabídne zabezpečení pomocí PIN. PIN je číslo, které slouží např. u mobilních telefonů jako základní ochrana před nepovolanou manipulací s telefonem. Abyste mohli ovládat dva přístroje současně, musí mít oba stejný PIN. Na straně počítače PIN nastavíte v souboru /etc/bluetooth/pin. Bez ohledu na nainstalovaný počet externích zařízení umí Linux v současné době pracovat pouze s jedním PINem. Ovládání několika zařízení s různými PINy najednou není v současné době podporováno. Pokud tedy chcete ovládat více zařízení najednou, musí tato zařízení mít všechna stejný PIN, nebo vypněte ověřování pomocí čísla PIN.
![]() | Bezpečnost Bluetooth spojení |
|---|---|
Bez ohledu na to, zda používáte PIN nebo ne, není spojení pomocí Bluetooth naprosto bezpečné! | |
V konfiguračním souboru /etc/bluetooth/hcid.conf lze provést řadu různých nastavení (např. jméno zařízení nebo režim bezpečnosti). Výchozí nastavení však obvykle není nutné měnit. Soubor obsahuje také popis jednotlivých voleb.
Aktivaci Bluetooth provedete v souboru /etc/bluetooth/hcid.conf. Zde můžete také změnit různá nastavení jako jméno zařízení či bezpečnostní režim. Soubor obsahuje u každé proměnné vysvětlující komentář.
Důležitou proměnnou je security
auto. Pomocí této proměnné nastavujete použití PINu. V případě problémů se u tohoto nastavení použití PINu samo vypne. Pokud nechcete PIN používat vůbec, nastavte proměnnou na none. Z bezpečnostních důvodů by výchozí nastavení mělo být user. Uživatel pak bude při každém připojení požádán o PIN.
Zajímavé jsou také proměnné vázající se k zařízení. Pomocí těchto proměnných můžete zadat, pod jakým jménem bude zařízení připojeno k počítači. Dále jsou zde definována také jednotlivé třídy jako
notebook, server atd. včetně ověřování a připojení.
Bluetooth je možné používat pouze ve spojení s různými službami. Ke spuštění potřebujete minimálně dva démony:
-- k vytvoření a rušení spojení.
-- k zjištění dostupných služeb.
Pokud nejsou démoni spuštěni automaticky při startu systému, lze je oba aktivovat příkazem rcbluetooth start. Tento příkaz musí být vykonán s právy uživatele root.
Následující text obsahuje stručný popis nejdůležitějších příkazů pro práci s Bluetooth. Ačkoliv je v současnosti pro ovládání Bluetooth dostupná řada grafických programů, může se vám znalost programů příkazové řádky hodit.
Některé příkazy lze vykonat pouze jako uživatel root. Jde například o příkaz
l2ping <adresa_zarizeni>, kterou se testuje připojení vzdáleného zařízení.
Prostřednictvím hcitool lze jednoduše určit, zda jde o lokální nebo vzdálené zařízení. Zařízení zobrazíte příkazem:
hcitool dev
Příkaz vypíše na každou řádku jedno zařízení ve formátu JmenoRozhrani AdresaZarizeni.
Příkazem
hcitool AdresaZarizeni
zjistíte jméno zařízení vzdáleného zařízení. Může jít například o další počítač, který má potřebné informace o třídě a jménu zařízení uložené v /etc/bluetooth/hcid.conf.
V případě lokálních zařízení vám tento příkaz vrátí chybové hlášení.
Vzdálené zařízení se vyhledává pomocí příkazu hcitool inq.
U každého zařízení získáte tři údaje:
adresu zařízení, offset hodin a třídu zařízení. Adresa je důležitá, protože ji ostatní příkazy používají pro identifikaci cílového zařízení. Offset hodin slouží pouze k technickým účelům. Třída určuje typ zařízení a typ služby ve formě hexadecimálního čísla.
Příkaz hcitool jmeno<adresa-zarizeni> se používá k určení jména vzdáleného zařízení. V případě vzdáleného počítače je jméno stejné s informacemi v /etc/bluetooth/hcid.conf. Zadání lokální adresy povede k chybě výstupu.
Příkazem /usr/sbin/hciconfig získáte informace o lokálních zařízeních. Bez argumentů příkaz zobrazí informace o zařízení jako jméno (hciX), fyzickou adresu (dvanácti místné číslo ve formátu 00:12:34:56:78) a informace o přenesených datech.
hciconfig hci0 jmeno zobrazí jméno vrácené systémem po dotazu na vzdálené zařízení. Změnu nastavení lze provést s pomocí údajů získaných příkazem hciconfig. například hciconfig hci0 name TEST nastaví jméno na TEST.
Informace o tom, jaká služba je pro určité zařízení dostupná, získáte pomocí sdptool.
Příkaz sdptool browse AdresaZarizeni předá všechny služby jednomu zařízení se zadanou adresou.
Naproti tomu příkaz sdptool search Sluzba vyhledá jednu určitou službu.
Příkaz se dotáže na všechna dostupná zařízení a vypíše jejich služby spolu s krátkým popisem těchto služeb. Seznam všech dostupných služeb získáte zadáním příkazu sdptool bez parametrů.
V prohlížeči Konquerorzískáte seznam lokálních a vzdálených Bluetooth zařízení zadáním URL sdp:/. Dvojklikem na zařízení zobrazíte informace o zařízení. Pokud na zařízení umístíte kurzor, zobrazí se na stavové liště prohlížeče informace o profilu služby. Kliknutím na službu vyvoláte dialog nabízející uložení, použití služby (zařízení musí být aktivováno) nebo zrušení akce. Pokud nechcete, aby se dialog příště opět objevil a došlo přímo k vykonání služby, zatrhněte nabídku příště dialog nezobrazovat. Některá zařízení nejsou doposud podporována. Jiná vyžadují doinstalování dodatečných balíčků.
Abyste si udělali přehled, co všechno je možné s Bluetooth dělat, připravili jsme pro vás několik příkladů.
V prvním příkladě si ukážeme, jak se nastavuje připojení mezi dvěma počítači. Potřebovat k tomu budeme pand (Personal Area Networking)). Všechny příkazy z tohoto příkladu je nutné zadávat jako uživatel root. K nastavení síťového připojení bude potřebný také příkaz (ip).
Na jednom z počítačů spusťte pand (v našem případě označen jako R1) příkazem:
pand -s
Na druhém počítači R2 získejte adresu pomocí příkazu:
hcitool ing
Spojení pak navážete zadáním příkazu:
pand -c AdresaZarizeni
Zjistěte jaké zařízení systém nastavil pro připojení příkazem:
ip link show
získáte výstup v následujícím formátu:
bnep0: <BROADCAST,MULTICAST>gt; mtu 1500 qdisc noop qlen 1000
link/ether 00:12:34:56:89:90 brd ff:ff:ff:ff:ff:ff
Zařízení bnep0 byste měli přiřadit IP adresu.
To uděláte např. pomocí následujícím příkazů (na
R1):
ip addr add 192.168.1.3/24 dev bnep0 ip link set bnep0 up
a na R2:
ip addr add 192.168.1.4/24 dev bnep0 ip link set bnep0 up
R1 je z R2 viditelný na adrese IP 192.168.1.3. Na počítač R2 se z počítače R1 můžete přihlásit příkazem:
ssh 192.168.1.4.
Příkaz ssh bude fungovat i pod normálním uživatelem.
V dalším příkladě se ukážeme, jak překopírovat obrázek z fotoaparátu mobilního telefonu
(bez dodatečných nákladů např. za MMS) na disk počítače. Prosím uvědomte si, že každý typ telefonu má jinou strukturu nabídky, ale v základech je postup podobný na všech typech telefonů. Aby bylo možné z telefonu na počítač přistupovat , na počítači musí být aktivována služba Obex-Push. O to se stará démon opd z bluez-utils. Službu spustíte příkazem:
opd --mode OBEX --channel 10 --daemonize --path /tmp --sdp
Důležité jsou zde dva parametry. Parametr --sdp aktivuje sdpd. Parametr --path /tmp říká, kam budou data ukládána, v našem příkladu do adresáře /tmp. Samozřejmě si můžete zvolit jiný adresář, do kterého máte práva zápisu.
Nyní je potřebné spustit na telefonu Bluetooth připojení. Postup najdete v manuálu vašeho mobilního telefonu. Nezapomeňte nastavit na počítači v souboru /etc/bluetooth/pin PIN. Po úspěšném připojení pošlete pomocí Bluetooth obrázky na počítač. Postup zasílání obrázků najdete opět v manuálu mobilního telefonu. Mimo obrázků můžete samozřejmě přenášet také např. hudební soubory.
Pokud máte s nastavením Bluetooth problémy, projděte nejdřív následující seznam postupů. pamatujte, že k chybě může docházet jak na straně počítače, tak na straně zařízení. Pokud máte možnost, otestujte funkčnost zařízení s jiným adaptérem.
dev uvedeno lokální zařízení?
Pokud ve výstupu není lokální zařízení uvedeno, nespustil se hcid nebo nebylo rozpoznáno Bluetooth zařízení. Příčin může být vícero, zařízení může být porouchané nebo chybí správný ovladač. Notebooky s integrovaným Bluetooth adaptérem mají často pro bezdrátová zařízení vypínač. Zda je nutné zařízení nejdřív fyzicky zapnout zjistíte v manuálu svého notebooku. Restartujte Bluetooth příkazem rcbluetooth restart a podívejte se do souboru /var/log/messages, zda systém nevypisuje chyby.
Pokud ano, nainstalujte balíček bluez-bluefw a restartujte
Bluetooth příkazem
rcbluetooth restart.
inq jiná zařízení?Proveďte tento test víckrát než jednou. Může docházet k interferenci s jiným zařízením používajícím stejnou frekvenci.
Překontrolujte, zda zadaný PIN (v souboru /etc/bluetooth/pin) souhlasí se zařízením.
Pokuste se navázat spojení ze vzdáleného zařízení. Překontrolujte, zda zařízení vidí počítač.
Příčin může být několik. Jedním může být skutečnost, že jeden nebo oba počítače nerozumí protokolu SSH. Otestujte, zda na sebe počítače vidí příkazy:
ping 192.168.1.3
a
ping 192.168.1.4
Pokud proběhnou příkazy bez problémů, ujistěte se, že běží sshd.
Další příčina může spočívat v tom, že jste nastavili jiné adresy, než jsou uvedeny v příkladu nebo jste pro oba počítače nastavili stejnou IP adresu. Změňte IP adresy.
Ujistěte se, že mobil rozpoznal službu Obex-Push na počítači. V nabídce mobilu je obvykle pro takové účely položka, která zobrazuje dostupné služby. Návod najdete v manuálu svého mobilního telefonu. Pokud není služba Obex-Push zobrazena, je problém na straně počítače u programu opd. Ujistěte se, že je opd spuštěn a že máte práva zápisu do zadaného adresáře.
Ano, kopírování je možné, pokud nainstalujete program obexftp a použijete příkaz:
obexftp -b AdresaZarizeni -B 10 -p Obrazek.
Tento postup byl testován na telefonech Siemens a Sony Ericsson a u jiných typů nemusí být funkční.
Obsáhlý přehled různých návodů na používání a nastavení Bluetooth najdete na stránce http://www.holtmann.org/linux/bluetooth/.
Oficiální howto integrace Bluetooth protocolu do jádra: http://bluez.sourceforge.net/howto/index.html
Připojení k PDA PalmOS:
http://www.cs.ucl.ac.uk/staff/s.zachariadis/btpalmlinux.html