| 
   
| Для зарегистрированных пользователей |  
 
  
  
  
 | 
Bluetooth и Linux на примере Nokia 7650
	Дмитрий Шурупов
 
 Введение
  Одной из причин на покупку моего телефона, Nokia 7650, была поддержка Bluetooth, и мне пришлось потрудиться, чтобы настроить его под Linux, и использовать телефон в качестве простой цифровой камеры и т.п. В этой статье я и опишу, чего мне удалось добиться. Однако, проблем с поддержкой bluetooth у Linux хватает, особенно с точки зрения приложений. Например, я так и не настроил синхронизацию календаря и адресной книжки…
  Bluetooth, изобретенный голландским инженером в шведской корпорации Ericsson в 1994 году, получил свою название от Harald'а Blaatand (на английском «Bluetooth») II, короля Дании 940-981 годов до нашей эры, который был хорошим связным. Связь предназначена для подключения электронных устройств путем использования коротких радио-сигналов на дистанции не более чем, примерно, 10 метров. Скорость передачи данных составляет 1 МБит/с, из которых 20 процентов может расходоваться на посторонние вещи (header-информация и т.п.).
  Существует множество устройств, поддерживающих bluetooth, среди них телефоны, КПК, принтеры и клавиатуры. Большинство из них могут быть использованы в Linux, однако, как я уже писал в введении, статья посвящена телефонам.
  Подключаемся с помощью Bluez
  Существует четыре реализации bluetooth в Linux, но только Bluez и Affix распространяются под лицензией GPL. Я решил остановиться на 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-obex-send":
  $ gnome-obex-send -dest 00:02:EE:A0:25:90 Nokia_7650_RemoteSync.SIS
  Таким образом файл перекачается в основную папку телефона, как только появится соответствующая надпись на телефоне.
 
  
  Для обратного процесса, перекачивания файлов из телефона на компьютер, выберите «Bluetooth file sharing» в главном меню в «system tools > more system tools». Теперь в Gnome появится иконка с bluetooth. Когда что-нибудь будет отправляться с телефона на ПК, иконка будет начинать двигаться, а файлы помещаться в домашний каталог.  
 
		
 |