Подключаемся с помощью Bluez

Я решил остановиться на Bluez, т.к. он присутствует в 2.4-ядрах Red Hat Linux, дистрибутива, который я использовал при написании этой статьи. Он является выбором многих других дистрибутивов, таких как SuSE, Mandrake, Debian и Gentoo.

[]

Вам потребуются следующие установленные пакеты:
	   bluez-libs
	   bluez-sdp
	   bluez-utils
	   gnome-bluetooth
После установки необходимо ввести свой bluetooth pincode под root'ом:
	   # echo "your_pin_here" > /etc/bluetooth/pin
В /etc/bluetooth/hcid.conf укажите название своего bluetooth-устройства, чтобы он мог быть распознан компьютером при сканировании на наличие bluetooth-устройств в дальнейшем.

Запустите bluetooth daemon:

	   # /etc/init.d/bluetooth start
Теперь пора проверить пару вещей, запустим hciconfig:
	   $ /usr/sbin/hciconfig -a
	   hci0: Type: USB
	   BD Address: 00:00:00:00:00:00 ACL MTU: 192:8 SCO MTU: 64:8
	   UP RUNNING PSCAN ISCAN
	   RX bytes:331 acl:1 sco:0 events:46 errors:0
	   TX bytes:1412 acl:0 sco:0 commands:39 errors:0
	   Features: 0xff 0xff 0x0f 0x00
	   Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3
	   Link policy: HOLD SNIFF PARK
	   Link mode: SLAVE ACCEPT
	   Name: 'BlueZ'
	   Class: 0x000100
	   Service Classes: Unspecified
	   Device Class: Computer, Uncategorized
	   HCI Ver: 1.1 (0x1) HCI Rev: 0x1e7 LMP Ver: 1.1 (0x1) LMP Subver: 0x1e7
	   Manufacturer: Cambridge Silicon Radio (10)
Как мы видим, все работает после запуска инициализационного bluetooth-скрипта. Проверим, нашелся ли наш телефон:
	   $ hcitool scan
	   Scanning ...
	   00:02:EE:A0:25:90 Nokia7650
Если телефон не найден, проверьте, включен ли bluetooth в его настройках. Посмотрим, способен ли телефон на все, о чем говорилось в рекламе Nokia:
	   $ sdptool browse 00:02:EE:A0:25:90
	   Browsing 00:02:EE:A0:25:90 ...
	   Service Name: Fax
	   Service RecHandle: 0x10000
	   Service Class ID List:  "Fax" (0x1111)
	   "Generic Telephony" (0x1204)
	   Protocol Descriptor List: "L2CAP" (0x0100) "RFCOMM" (0x0003)
	   Channel: 1
	   Profile Descriptor List: "Fax" (0x1111)
	   Version: 0x0100
	   Service Name: Dial-up Networking
	   Service RecHandle: 0x10001
	   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
	   Service Name: Bluetooth Serial Port
	   Service RecHandle: 0x10003
	   Service Class ID List: "Serial Port" (0x1101)
	   Protocol Descriptor List: "L2CAP" (0x0100) "RFCOMM" (0x0003)
	   Channel: 2
	   Language Base Attr List: code_ISO639: 0x656e
	   encoding: 0x6a
	   base_offset: 0x100
	   Service Name: OBEX Object Push
	   Service RecHandle: 0x10004
	   Service Class ID List: "OBEX Object Push" (0x1105)
	   Protocol Descriptor List: "L2CAP" (0x0100) "RFCOMM" (0x0003)
	   Channel: 9
	   "OBEX" (0x0008)
	   Profile Descriptor List: "OBEX Object Push" (0x1105)
	   Version: 0x0100
	   Service Name: OBEX File Transfer
	   Service RecHandle: 0x1000d
	   Service Class ID List: "OBEX File Transfer" (0x1106)
	   Protocol Descriptor List: "L2CAP" (0x0100) "RFCOMM" (0x0003)
	   Channel: 10
	   "OBEX" (0x0008)
	   Profile Descriptor List: "OBEX File Transfer" (0x1106)
	   Version: 0x0100
Похоже, все в порядке.

Знакомимся с OpenOBEX

Пора поиграться с тем, что откроет нам доступ ко всем сервисам. Во-первых, это OpenOBEX -- open-source версия протокола Object Exchange (OBEX). По словам самого проекта, OBEX -- протокол сессий, и может быть лучше всего описан как бинарный HTTP-протокол. Он используется для отправки/закачки файлов между bluetooth-устройствами. OpenOBEX должен быть установлен после всех проинсталлированных нами до этого rpm.

Погружемся в GNOME

Для использования протокола OpenOBEX мы обратимся к GNOME, так как похоже, что для него существует наиболее зрелое ПО подобного рода (и очень простое в использовании). Если вам не нравится GNOME или вы предпочитаете только CLI, то можете подыскать и другие достойные OBEX-программы. Теперь мы можем закчивать файлы на телефон, но для начала попробуем определить адрес телефона: запустите (под обычным пользователем)
	   $ gnome-bluetooth-admin
и нажмите [scan].

Через несколько секунд появится список bluetooth-устройств. При выборе какого-либо из них должны появится его возможности и сетевой адрес. gnome-bluetooth-admin showing off

Теперь, когда мы знаем адрес телефона, можем загрузить на него файл с помощью команды "gnome-obex-send":

	   $ gnome-obex-send -dest 00:02:EE:A0:25:90 Nokia_7650_RemoteSync.SIS
Таким образом файл перекачается в основную папку телефона, как только появится соответствующая надпись на телефоне. gnome-obex-send showing progress

Для обратного процесса, перекачивания файлов из телефона на компьютер, выберите Bluetooth file sharing в главном меню в system tools more system tools. Теперь в Gnome появится иконка с bluetooth. Когда что-нибудь будет отправляться с телефона на ПК, иконка будет начинать двигаться, а файлы помещаться в домашний каталог.

Статья взята с сайта OpenNet.

[ опубликовано 23/06/2005 ]

- Подключаемся с помощью Bluez   Версия для печати