The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Bluetooth и Linux на примере мобильного телефона Nokia 7650 (bluetooth linux wavelan hardware wireless)


<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>
Ключевые слова: bluetooth, linux, wavelan, hardware, wireless,  (найти похожие документы)
From: Дмитрий Шурупов aka SHuRuP <root at nixp dot ru> Newsgroups: http://www.nixp.ru/ Date: Mon, 13 Nov 2003 14:31:37 +0000 (UTC) Subject: Bluetooth и Linux на примере мобильного телефона Nokia 7650 Оригинал: http://www.nixp.ru/cgi-bin/go.pl?q=articles;a=bluetooth Автор оригинала: Maarten (mailto:maarten.stolte%20A%20papuaos.org) Stolte Введение Одной из причин на покупку моего телефона, 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-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. Когда что-нибудь будет отправляться с телефона на ПК, иконка будет начинать двигаться, а файлы помещаться в домашний каталог. 5. Открытые источники -- Zur Zeit als die Pinguine blaue Z?hne bekamen (in German), Marcel Holtmann: http://www.holtmann.org/papers/bluetooth/uptimes2003.html -- Bluez, Official Linux Bluetooth protocol stack: http://www.bluez.org/ (http://www.bluez.org/) -- OpenOBEX: http://openobex.sourceforge.net/ -- The Fedora Project: http://fedora.redhat.com/ -- GNOME Bluetooth Subsystem: http://usefulinc.com/software/gnome-bluetooth/ -- Bluetooth and Linux, links by Marcel Holtmann: http://www.holtmann.org/linux/bluetooth/ -- Tux logo modified by Melissa van Putten: http://lizzy.orangenose.com/

<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>

 Добавить комментарий
Имя:
E-Mail:
Заголовок:
Текст:




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру