Хочу похвастаться :)

Feb 20, 2009 16:33

Настроил Bluetooth GPS приемник в ubuntu 8.10 :)
Для интересующихся - под катом описание как. Полдня провел за этим нужным делом. :)

Использовал естественно основное how to ползующее по рунету.
Начал по тексту:
Для начала сделаем:

sudo apt-get install bluez-utils

так как, в ноуте уже есть блютус, то при установке убунты поддержка блютуса была включена. Но добавим этот пакет все равно. По умолчанию, приемник добавить нельзя, потому что нету в нем куда вписать pin. Поэтому, продолжаем читать дальше. Включим приемник и выполним команду:

hcitool scan

В выводе получим что-то вроде этого:

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

Сохраним МАС-адрес (напомню, он уникален для каждого устройства). Теперь узнаем канал приемника:

sdptool browse 00:0D:B5:37:3B:A9

По умолчанию, это Channel 1. В конфиге нужно ввести эти данные по шаблону:

sudo gedit /etc/bluetooth/rfcomm.conf

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

Запускаем:

sudo rfcomm release 0

(здесь 0 если приемник - первое устройство, которое подключается, в моем случае уже было подключено несколько телефонов, поэтому нужно или удалить подключения, или менять 1, 2, 3, и т.д.).

Соединяемся:

rfcomm connect 0

После этой команды блютус-демон попросит ввести pin (только один раз), для этого приемника по умолчанию, код 0000.
И вот на этом месте споткнулся. Потому что демон никакого пина не запросил. И просить отказывался. Крутили и так и этак, вдвоем - никак не получалось
После некоторых поисков был найден текст, из которого следовало, что до определенной версии поддержка запроса пина была, а потом ее отцепили. И судя по всему - у тех у кого работало - они все обновлялись с предыдущих версий системы и у них остался hcid у которого в свою очередь имелся passkey-agent и пин можно было прописать его в конфигурационном файле.
В конечном итоге гугл навел на программу Blueman и - фактически вуаля. Не буду описывать некоторые мытарства с установкой программы. Так как корень их лежал исключительно в забывчивости, а именно - забыли выполнить команду $sudo invoke-rc.d bluetooth restart :) После этого - все подключается нормально через гуй блюмена, и можно переходить к следующей части:

Теперь нужно установить демон:

sudo apt-get install gpsd

Запустить:

gpsd /dev/rfcomm0
тут могут быть вариации номера устройства.
Посмотреть можно либо в гуе либо в консоли:
Так:
kruz@kruz-desktop:~$ rfcomm show 1
rfcomm1: 11:11:11:11:11:11 -> 00:0D:B5:35:ED:0A channel 1 connected [reuse-dlc tty-attached]
Где 1 - номер устройства
Или так:
kruz@kruz-desktop:~$ rfcomm
rfcomm0: 00:0D:B5:35:ED:0A channel 1 clean
rfcomm1: 11:11:11:11:11:11 -> 00:0D:B5:35:ED:0A channel 1 connected [reuse-dlc tty-attached]
Должно показать все подключенные устройства

И посмотреть на спутники:

xgps
Собственно на этом настройка должна завершиться. Приемник подключен. Данные передает, правда спутники из помещения видит нечетко :)) Вечером поставлю это все на ноут с Debian Lenny/Sid и на нем уже постораюсь проверить как ведут себя:
GPS Drive - по первичным ощущениям - мутная программа
TangoGPS - пользует карты OSM
Озик под вайном
iGo_PC под вайном.
Если получаться удовлетворительный результаты - напишу об этом непременно. Если не получится - тоже наверно напишу :)
P.S. Наисано больше для меня, но может кому еще пригодиться :) Если получится у кого-нибудь выполнить подключение по этому способу не прибегая к блюмену - напишите как, ог?
UPD Как я и предполагал, на страых версиях имеется hcid.conf. На ноут, из-за кривости тогдашнего инсталятора Lenny, изначально я ставил Etch и обновлял его сначала до Lenny, а теперь вообще подключил репозиторий Sid. Тем не менее hcid остался неурезаный и с тулзами. Хотя сам демон и не запрашивает пин, но его можно указать в файле /etc/bluetooth/hcid.conf. Строчку passkey "1234" меняете значение на нужный пин. И все работает. В общем завелось без бубна и гемора. Сейчас буду гуглить на тему создание com-порта в который бы gpsd отправлял бы данные с приемника. Это как раз и позволит программам типа ози и проч. получать NMEA-данные.

настройка, навигация

Previous post Next post
Up