Форум русскоязычного сообщества Ubuntu


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: Bluetooth GPS + Ubuntu  (Прочитано 17252 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн minorite

  • Автор темы
  • Участник
  • *
  • Сообщений: 185
    • Просмотр профиля
Bluetooth GPS + Ubuntu
« : 20 Ноября 2007, 20:11:44 »
проверено в Ubuntu 7.10 с двумя bluetooth GPS-приёмниками: GlobalSat BT-338 и Nokia LD-3W

установим (если не установлен) пакет bluez-utils через synaptic или:

sudo apt-get install bluez-utils
посмотрим файл /etc/default/bluetooth:

должна быть строка:

BLUETOOTH_ENABLED=1

по умолчанию служба serial в bluetooth не работает при старте системы. исправим это:

sudo gedit /etc/bluetooth/serial.service
заменяем содержимое на следующее:

[Bluetooth Service]
Identifier=serial
Name=Serial service
Description=Bluetooth Serial Port service
Autostart=true


отредактируем файл hcid.conf :

sudo gedit /etc/bluetooth/hcid.conf
заменяем содержимое файла на следующее:

#
# HCI daemon configuration file.
#

# HCId options
options {
    # Automatically initialize new devices
    autoinit yes;

    # Security Manager mode
    #   none - Security manager disabled
    #   auto - Use local PIN for incoming connections
    #   user - Always ask user for a PIN
    #
    security user;

    # Pairing mode
    #   none  - Pairing disabled
    #   multi - Allow pairing with already paired devices
    #   once  - Pair once and deny successive attempts
    pairing multi;

    # PIN helper
    #pin_helper /usr/bin/bluepin;

    # D-Bus PIN helper
    #dbus_pin_helper;

# Default PIN code for incoming connections
    passkey "1234";
}

# Default settings for HCI devices
device {
    # Local device name
    #   %d - device id
    #   %h - host name
    name "%h-%d";

    # Local device class
    class 0x3e0100;

    # Default packet type
    #pkt_type DH1,DM1,HV1;

    # Inquiry and Page scan
    iscan enable; pscan enable;

    # Default link mode
    #   none   - no specific policy
    #   accept - always accept incoming connections
    #   master - become master on incoming connections,
    #            deny role switch on outgoing connections
    lm accept;

    # Default link policy
    #   none    - no specific policy
    #   rswitch - allow role switch
    #   hold    - allow hold mode
    #   sniff   - allow sniff mode
    #   park    - allow park mode
    lp rswitch,hold,sniff,park;

    # Authentication and Encryption (Security Mode 3)
    #auth enable;
    #encrypt enable;
}


рестарт bluetooth:

sudo /etc/init.d/bluetooth restart
включаем наш GPS-приёмник и вводим:

hcitool scan
смотрим вывод:

Scanning ...
        00:0D:B5:37:3B:A9       Nokia LD3W

нам нужен MAC-адрес GPS-приёмника - в данном случае это 00:0D:B5:37:3B:A9

конечно это MAC конкретного устройства (уникальный) и для каждого устройства следует узнать и
использовать его собственный MAC.

теперь узнаем точно канал приёмника:

sdptool browse  00:0D:B5:37:3B:A9
в выводе находим строчку Channel: 1

это и есть нужный нам канал.
вообще, по умолчанию он и должен быть Channel: 1
кстати приёмник Nokia LD-3W показал вывод этой команды, а BT-338 почему-то нет.
и я просто использовал Channel: 1 с обоими приёмниками.

далее используем полученные MAC и канал:

sudo gedit /etc/bluetooth/rfcomm.conf
добавляем:

rfcomm0 {
        bind yes;
        device 00:0D:B5:37:3B:A9;
        channel 1;
        comment "Serial Port";
        }


в моём примере стоит rfcomm0, так как других serial connect у меня не было.
соответственно для каждого последующего устройства число возрастает на 1 (rfcomm1, rfcomm2 etc)

запускаем:

sudo rfcomm release 0
продолжаем (коннектим приёмник):

rfcomm connect 0
GPS в Ubuntu работает через демон gpsd,
устанавливаем всё, что нам минимально необходимо:

sudo apt-get install gpsd
sudo apt-get install gpsd-clients

запускаем gpsd:

gpsd /dev/rfcomm0
теперь можно посмотреть что там со спутниками:

xgps
на программу XGPS можно будет создать ярлык в меню или на рабочий стол, чтобы не запускать каждый раз в терминале.
и запуск сервиса GPS достаточно прост:
включаем приёмник и запускаем gpsd (gpsd /dev/rfcomm0).

в общем всё. можно пользоваться GPS в любой программе, поддерживающей работу с GPS-приёмником,
например GPSDRIVE


PS лирическое послесловие:
с приёмником GlobalSat BT-338 пробовал непрерывно использовать GPS в течении более трёх суток (приёмник и ноутбук были подключены к сети) -
недостижимое время непрерывной работы для одной малоизвестной ОС с северо-запада США  ;D
в ней что-нибудь, да у падёт за это время точно...
« Последнее редактирование: 21 Ноября 2007, 01:25:32 от minorite »

Оффлайн ur7icj

  • Новичок
  • *
  • Сообщений: 1
    • Просмотр профиля
Re: Bluetooth GPS + Ubuntu
« Ответ #1 : 15 Августа 2008, 18:51:13 »
Доброго дня всем!
Пытался несколько раз по этой инструкции завести свой HOLUX, не получалось, после этих манипуляций все завелось:
$ sudo gedit /etc/bluetooth/rfcomm.conf
 $ sudo rfcomm bind rfcomm0
 $ rfcomm
rfcomm0: 00:0B:0D:00:04:CE channel 1 clean
 $ gpsd /dev/rfcomm0
 $ xgps

Всем удачи!

 

Страница сгенерирована за 0.038 секунд. Запросов: 22.