Portál AbcLinuxu, 2. května 2025 19:08

Rok 2003 rokem BlueTooth?

14. 2. 2003 | Michal Semler
Články - Rok 2003 rokem BlueTooth?  

Vyždímejte ze svého mobilu s BlueTooth maximum. Mimo jiné vás naučíme z mobilu ovládat xmms. A nejen to.

Úvod

Kdykoliv čteme nějaké články věnující se BlueTooth pod MS Windows, obvykle se v nich hovoří o roku 2003 jako o roku BlueTooth. My s Linuxem se těmto řečem můžeme jen smát. Podpora BlueTooth je v Linuxu vyřešena excelentně už dlouhou dobu a to hned třemi navzájem si konkurujícími projekty, podporován je veškerý BlueTooth hardware. Uživatelé používající Linux mohou o roku 2003 hovořit jako o roku s levným BlueTooth. Ceny USB adaptérů se dostaly k hranici 1000 korun, což už je levnější než jakýkoliv originální kabel dodávaný výrobcem. Navíc s BlueTooth nám odpadají problémy s několika kabely a rozdílnými konektory. Veškerá komunikace probíhá totiž bezdrátově - vzduchem.

Podpora v Linuxu

V Linuxu existují tři (v současné době již jen dva) navzájem si konkurující BlueTooth implementace. Jedná se o projekt BlueZ, který je oficiálním BlueTooth stackem, Affix, originálně vyvinutý Nokií, která následně vydala zdrojové kódy veřejně k dispozici, a OpetBT, který je již v současné době mrtvým, v jádře jej ovšem stále nalezneme.

Jakožto fanoušek BlueZ se v tomto článku zaměřím právě na tento stack.

Možnosti

Co nám tedy v současné době BlueTooth umožňuje? Společnost SonyEricsson, která patent na tuto technologii vlastní a aktivně ji podporuje, vydala specifikace svých mobilních telefonů. Z tohoto faktu vyplývá i množství software, které se díky tomu vyrojilo, a tudíž veliká část tohoto článku bude věnována hlavně spolupráci těchto mobilů s Linuxem.

Můžeme dělat opravdu hodně. Počínaje ovládáním našeho oblíbeného přehrávače MP3 - xmms, přes stahování a uploadování obrázků z mobilu do počítače a naopak, přes připojování se k Internetu, psaní na Microsoft BT klávesnici :-) a konče třeba ovládáním kurzoru myši přes náš mobil.

Zkusme se tedy na některé z těchto věcí podívat blíž a ukážeme si jak na to. Doporučuji nainstalovat jádro 2.4.21, které již obsahuje jaderný modul implementující rfcomm, narozdíl od dřívější implementace skrze démona. Dále potřebujeme software dodávaný s projektem BlueZ, viz download site: bluez-libs, bluez-utils, bluez-sdp, bluez-pan, bluez-hcidump, bluez-bluefw. Celým problémem "rozjetí" BlueTooth pod Linuxem se budu zabývat znovu v následujícím článku, jelikož nová implementace BlueZ jako jaderného modulu je zcela odlišná od konfigurace přes démona rfcommd.

xmms

Zkusme si tedy rozchodit ovládání našeho přehrávače MP3 (pouze pro mobily SE)

Stáhneme si knihovnu ruby, kterou potřebuje projekt bluexmms, a to zde. Dále zdrojové kódy programu bluexmms tady. Program xmms a aumix má na disku snad každý :-). Přeložíme knihovnu ruby klasickým příkazem make, nainstalujeme a spustíme ldconfig. Dále přeložíme program bluexmms příkazem make a nainstalujeme. Následně připojíme serial-device našeho mobilu na zařízení příkazem

rfcomm bind 0 MAC_ADDR_CILE 1

a následně spustíme bluexmms - zařízení se spojí a v mobilu máme v záložce accessories funkční ovládač našeho přehrávače.

Co dodat? Snad jen, že přímo modul do xmms se připravuje, nyní je nutné spouštět bluexmms, které následně spustí xmms.

Výměna vizitek, melodií a obrázků přes profil OBEX push

Stáhneme knihovny a aplikace projektu openobex zde. Stáhneme implementaci obex-push vytvořenou na základě implementace projektu Affix: ussp-push. Přeložíme knihovny a aplikace klasicky via ./configure && make && make install. Rozbalíme ussp-push, a aby chodil se současnou implementací BlueZ, patchneme těmito řádky:

--- obex_main.c.old Sat Feb 1 14:12:54 2003
+++ obex_main.c Sat Feb 1 14:13:13 2003
@@ -221,7 +221,7 @@
return NULL;
}

- custfunc.userdata = gt->userdata;
+ custfunc.customdata = gt->userdata;
custfunc.connect = cobex_connect;
custfunc.disconnect = cobex_disconnect;
custfunc.write = cobex_write;

Přeložíme příkazem make, nainstalujeme. Na mobilu SE T68i je OBEX na kanálu 10, proto spojíme linux s tímto kanálem příkazem

rfcomm bind 1 MAC_ADDR_CILE 10

a následně můžeme již poslat třeba obrázek na plochu jednoduše příkazem

ussp-push /dev/rfcomm1 cesta_k_obrazku.gif jmeno_obrazku_v_mobilu.gif

Přenos z mobilu do Linux boxu

Předpokládám, že openobex-apps máme již nainstalované, takže můžeme rovnou kompilovat obexserver. Postupujeme tímto trikem, jelikož potřebujeme jeden soubor přímo z openobex-apps.

tar -xzvf openobex-apps-1.0.0.tar.gz
cd openobex-apps-1.0.0
./configure && make
cd src
wget http://www.frasunek.com/sources/unix/obexserver.c
cc -o obexserver obexserver.c libmisc.a -lopenobex
chown root.root obexserver && cp obexserver /usr/local/bin

Následně spustíme sdp daemona jako root příkazem sdpd, připojíme na něj OBEX service příkazem

sdptool add --channel=10 OPUSH

a spustíme

obexserver

Jak vidíte, BlueTooth je pod Linuxem velice dobře a jednoduše implementované, aplikace přibývají každý den, a proto říkám kašlete na kabel, vždyť bez drátů to jde tak krásně a jednoduše! Jediným problémem je výdrž baterií u zařízení, které nejsou nastálo připojené k elektrické síti. :)

Související články

Tučňák má ostré modré zuby!

Odkazy a zdroje

BlueZ

Další články z této rubriky

HW novinky: podzimní přehled #2
HW novinky: podzimní přehled #1
HW novinky: návrat skleněných ploten v HDD
HW novinky: PCI Express 4.0 prý ještě letos
HW novinky: i Skylake-X s 12 jádry používá levnou teplovodivou pastu

Diskuse k tomuto článku

15.2.2003 22:27 nonsense@volny.cz
Rozbalit Rozbalit vše A co BT via telefony od nokie ??
Odpovědět | Sbalit | Link | Blokovat | Admin
Zrdravim, moc hezky clanek, ale nejak z toho vypadly Nokie, hromada lidi je pouziva ....
CIJOML avatar 16.2.2003 00:27 CIJOML | skóre: 58 | Praha
Rozbalit Rozbalit vše A co BT via telefony od nokie ??
Nokie umej tak maximalne pripojeni k netu pres modrozub - kvuli tomu, ze Nokia neni schopna poradne BT implementovat, tak jsem je opustil - a to jsem byl jejich priznivec a mel vsechny manazerske typy, co vydali od 6110 az do 6310...skoda
17.2.2003 17:48 netwoR
Rozbalit Rozbalit vše Ktere Ericssony funguji s XMMS?
Odpovědět | Sbalit | Link | Blokovat | Admin
Bude mne to chodit na R520m nebo je potrebna T68? ntw >Zkusme si tedy rozchodit ovládání našeho přehrávače MP3 (pouze pro mobily SE)
CIJOML avatar 17.2.2003 21:39 CIJOML | skóre: 58 | Praha
Rozbalit Rozbalit vše Ktere Ericssony funguji s XMMS?
chodi to udajne s T39, tak s R520m by nemel byt problem
18.2.2003 16:25 Led Astray
Rozbalit Rozbalit vše Ktere Ericssony funguji s XMMS?
OK, diky, tak to bych vyzkousel a poreferuju. Jeste bych chtel vedet, jaky BT USB adapter doporucujes? Cetl jsem si kompatibility list na strankach Bluez http://www.holtmann.org/linux/bluetooth/devices.html a pochopil jsem spravne, ze je nejlepsi jakykoliv, kteremu staci hci_usb bez nejakych pridavku? Lisi se nejak moznosti tech adapteru v Linuxu podle chipsetu? Diky ntw
CIJOML avatar 18.2.2003 19:30 CIJOML | skóre: 58 | Praha
Rozbalit Rozbalit vše Ktere Ericssony funguji s XMMS?
ano - zalezi jake profily ten dany adapter podporuje :)

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.