Лучшая система размещения статей
 Добавить в избранное |  Сделать стартовой 
Поиск По Сайту
Навигация
     Главная
     Форум
     Новости
     Обзор новостей
     Гостевая
     Статьи
     Файлы
     Магазин
     Пользователи
     Контакты
     О Проекте
     Карта Сайта
Вход
Логин:

Пароль:


Запомнить меня
Вам нужно Авторизоваться.
Забыли Пароль?
Регистрация
Атестат
Подписка на новости: Подписаться

Bluetooth и Linux на примере мобильного телефона Nokia 7650

Источник: www.opennet.ru
Добавлено: 2006-03-04 15:02:46

Введение

Одной из причин на покупку моего телефона, Nokia 7650, была поддержка Bluetooth, и мне пришлось потрудиться, чтобы настроить его под Linux, и использовать телефон в качестве простой цифровой камеры и т.п. В этой статье я и опишу, чего мне удалось добиться. Однако, проблем с поддержкой bluetooth у Linux хватает, особенно с точки зрения приложений. Например, я так и не настроил синхронизацию календаря и адресной книжки...

Bluetooth, изобретенный голландским инженером в шведской корпорации Ericsson в 1994 году, получил свою название от Harald`а Blaatand (на английском ) 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). По словам самого проекта, . Он используется для отправки/закачки файлов между 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

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


5. Открытые источники
Zur Zeit als die Pinguine blaue Z?hne bekamen (in German), Marcel Holtmann: www.holtmann.org/papers/bluetooth/uptimes2003.html

Bluez, Official Linux Bluetooth protocol stack: www.bluez.org/ (www.bluez.org/)

OpenOBEX: openobex.sourceforge.net/

The Fedora Project: fedora.redhat.com/

GNOME Bluetooth Subsystem: usefulinc.com/software/gnome-bluetooth/

Bluetooth and Linux, links by Marcel Holtmann: www.holtmann.org/linux/bluetooth/

Tux logo modified by Melissa van Putten: lizzy.orangenose.com/

Понравилась статья? Поделись с друзьями!
Facebook Опубликовать в LiveJournal Tweet This


Оглавление   |  ?? ????

Оглавление        Вернуться к Статье

Скачай CMS сейчас!
Текущая версия системы управления сайтом WebCodePortalSystem:
v.7.1.00
Скачать CMS v.7.1.00
Обновление с версии 6.2.01

Сайт разработчика:
Новые бета версии

На Сайте
Гостей: 12
Пользователей: 0


10 новых статей
Наши Партнеры


Copyright WebCode-Command © 2003-2012
Работает под управлением WebCodePortalSystem v. 6.2.01
Rambler's Top100