Хочу поделиться своим скромным опытом установки и использования навигационной системы на ноутбуке с подробной настройкой Bluetooth-устройства, используемого в качестве GPS-приемника.
Мучился и экспериментировал долго – около 2-месяцев.
В результате родилась эта инструкция, которую Вам и предлагаю.
Буду рад если кому-нибудь она пригодиться. Прошу Вас не судить меня слишком строго. Я не очень опытный пользователь Ubuntu, но пытаюсь учиться, т.к. понял для себя, что на повседневном уровне задач на ноутбуке (нетбуке)- Ubuntu просто идеальна по скорости, энергопотреблению. Возможно, что всё можно сделать проще, изящнее…
Может быть кто-то посоветует мне что-нибудь полезное. Буду очень рад.
Опробовал на 3 ноутбуках с установленной OS Lubuntu 14.04.4 Lts LXDE и разными Bluetooth-устройствами – всё работает стабильно, используются все функциональные возможности программы.
Работаю на Скорой помощи врачом реанимационной бригады. Несмотря на наличие штатного навигатора в машине - на моём ноуте программа навигации работает часто лучше, подробнее и что Важно – позволяет сохранять треки к определённым экзотическим адресам (т.к. навигатор часто не учитывает различные препятствия – ямы, грязи, самовольно установленные шлагбаумы, заборы и блоки) – что в следующей критической ситуации – при поездке на тот же адрес позволяет туда добраться максимально быстро – загрузив маршрут из записанного трека.
До этого перепробовал разные проги навигации под Linux: tangogps gpsman, QLandkarteGT, viking, gpsdrive – к сожалению, мне они не подошли (старые версии, плохо поддерживаются, редко обновляются карты, не пишут или плохо пишут треки, малая функциональность и др.)
Установил и пользуюсь с удовольствием по моему лучшей для России, и мною любимой программой NaviKey "Семь дорог" (7ways)- бесплатная, для огромного числа устройств, навигаторов, различных операционных систем
Поэтому опишу всё для неё, но всё должно работать и с другими прогами под Linux.
Итак моя конфигурация:
Ноут: Ноутбук ASUS-X200LA
OS: Lubuntu 14.04.4 LTS, LXDE-интерфейс.
Bluetooth GPS-приёмник: BT-821(GlobalSat BT-821)
Установить NaviKey "Семь дорог" (7ways):
1. Скачать NaviKey "Семь дорог" http://ru.navikey.org/download.html
Версия под Linux (x86) +*nix versions (v.1.21.845) - 7ways-linux.tar.gz
Скачать Карты Мегамапс: russia_7w.zip , russia_adm.zip
2. Установить NaviKey "Семь дорог" (7ways) по инструкциям:
- распаковать 7ways-linux.tar.gz в домашнюю папку /home/kor/
- распаковать russia_7w.zip и russia_adm.zip в папку /home/kor/maps
3. Настроить NaviKey "Семь дорог":
- Запустить прогу /home/kor/7ways/7ways
- Главное меню -->Опции-->Спутники:
- галка «использовать спутники» - поставить
- галка «использовать порт» - поставить,
перед этим там установите данные порта:
/dev/rfcomm0
38400
Подтвердите «ОК»
- Выйдите из NaviKey "Семь дорог":
- Главное меню --> Опции --> Выход (значок в левом нижнем углу).
4. 2GIS для Linux
скачать можно с сайта: http://info.2gis.ru/novosibirsk/product ... uter&linux
Для уточнения адресов и каких-то подробностей использую 2GIS (ДубльГИС), запущенной под WINE – попытки «подружить» его с датчиком – не удались и не советую… - не стоит того, не ясно как, пробовал… да и не нужно с хорошей прогой навигации.
5. Приступим теперь к Настройке GPS приемника с Bluetooth интерфейсом.
___________________________________________________________
Настройка GPS приемника с Bluetooth интерфейсом в Ubuntu 14.04.4 LTS
1. Установим (если не установлен) пакет bluez-utils через synaptic или:
sudo apt-get install bluez-utils
2. Создадим файл /etc/default/bluetooth
sudo -i
touch /etc/default/bluetooth
sudo gedit bluetooth - и только так! можно его отредактировать!!!
- В нём должна быть строка:
BLUETOOTH_ENABLED=1
- Сделаем папке с файлом /etc/default максимальные права
chmod -R 777 /etc/default
3. Создадим файл /etc/bluetooth/serial.service
touch /etc/bluetooth/serial.service
по умолчанию служба serial в bluetooth не работает при старте системы.
исправим это: sudo gedit /etc/bluetooth/serial.service
- заменяем содержимое на следующее:
Код: Выделить всё
[Bluetooth Service]
Identifier=serial
Name=Serial service
Description=Bluetooth Serial Port service
Autostart=true
4. Создадим файл /etc/bluetooth/hcid.conf
touch /etc/bluetooth/hcid.conf
отредактируем файл 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 "0000";
}
# 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;
}
- Повторно на всякий случай Сделаем папке с файлом /etc/bluetooth максимальные права chmod -R 777 /etc/bluetooth
5. Рестарт bluetooth:
sudo /etc/init.d/bluetooth restart
6. включаем наш GPS-приёмник и вводим:
hcitool scan
смотрим вывод:
_______________________________________________
1.kor@kor-X200LA:~$ hcitool scan
Scanning ...
00:0D:B5:39:38:75 BT-GPS-393875 - Датчик
2. kor@kor-X200LA:~$ hcitool scan
Scanning ...
18:3F:47:C6:1A:ED SAMSUNG BMV -Мой Телефон
_________________________________________________________
Нам нужен MAC-адрес GPS-приёмника - в данном случае это 00:0D:B5:39:38:75
конечно это MAC конкретного устройства (уникальный) и для каждого
устройства следует узнать и использовать его собственный MAC.
7. Теперь узнаем точно канал приёмника:
sdptool browse 00:0D:B5:39:38:75
в выводе находим строчку Channel: 1
это и есть нужный нам канал.
вообще, по умолчанию он и должен быть Channel: 1
кстати приёмник телефона Samsung - показал вывод этой команды, а BT-821 почему-то нет.
и я просто использовал Channel: 1.
8. Далее используем полученные MAC и канал:
sudo gedit /etc/bluetooth/rfcomm.conf
- добавляем в файл:
______________________________________________
Код: Выделить всё
rfcomm0 {
bind yes;
device 00:0D:B5:39:38:75;
channel 1;
comment "Serial Port";
}
- Повторно на всякий случай Сделаем папке с файлом /etc/bluetooth максимальные права chmod -R 777 * /etc/bluetooth
9. в моём примере стоит rfcomm0, так как других serial connect у меня не было.
соответственно для каждого последующего устройства число возрастает на
1 (rfcomm1, rfcomm2 etc)
- Запускаем:
sudo rfcomm release 0
10. Продолжаем (коннектим приёмник):
rfcomm connect 0
GPS в Ubuntu работает через демон gpsd.
11. Устанавливаем всё, что нам минимально необходимо:
sudo apt-get install gpsd +
sudo apt-get install gpsd-clients
12. Включаем приёмник BT-821
13. Включить Bluetooth на компе: Параметры --> Мененджер устройств Bluetooth и дождаться видимости своего BT-датчика.
Создать сопряжение датчика и компа: нажать на "ключик" в меню и дождаться появления появления сообщения, что устройство
добавлено в список доверенных устройств (на значке устройства - появятся "ключик" и "плюсик").
Обратите внимание, у меня PIN code ВТ-датчика = 0000 по умолчанию , если у вас другой - то внесите соответствующие изменения
в файл /etc/bluetooth/hcid.conf :
# Default PIN code for incoming connectionsоn
passkey "0000";
NB! Если Вы экспериментировали с настройками нескольких устройств Bluetooth - то рекомендую оставить то,
которым будете пользоваться постоянно, а другие удалить из списка "Мененджер устройств Bluetooth", т.к.
в дальнейшем это создаёт какие-то проблемы " Мененджеру устройств Bluetooth" и он начинает плохо коннектится.
14. Запускаем gpsd:
gpsd /dev/rfcomm0
теперь можно посмотреть что там со спутниками:
15. Запуск в терминале:
xgps - OК - СПУТНИКИ - ПОКАЗЫВАЕT !!!
Дополнение :
Пытался несколько раз по этой инструкции завести свой BT-821, не всегда получалось,
но после этих манипуляций все завелось:
_______________________________________________
hcitool scan
rfcomm
gpsd /dev/rfcomm0
xgps
___________________________________________
16. Сделал для запуска - xgps и 7Ways исполняемые файлы: BT_XGPSMY.sh и BT_7WyMY.sh :
BT_XGPSMY.sh
#!/bin/bash
hcitool scan
rfcomm
gpsd /dev/rfcomm0
xgps
EOF
_______________________________________________
BT_7WyMY.sh
#!/bin/bash
hcitool scan
rfcomm
gpsd /dev/rfcomm0
/home/kor/7ways/7ways
EOF
Вам естественно этот файл для программы навигации нужно делать с учётом Ваших каталогов проги.
Не забыть сделать написанные файлы исполняемыми:
chmod +x BT_7WyMY.sh
chmod +x BT_XGPSMY.sh
_________________________________________________________________________________
17. Переконфигурировать блю-туз (NB!!! МАКСИМАЛЬНО ВНИМАТЕЛЬНО!! )
dpkg-reconfigure -a
Задал параметры:
- Запускать gpsd автоматически
- не искать GPS-приёмники на USB автоматически
- Автоматически включать блютус-приёмник - /dev/rfcomm0
18. Сделаем /dev/rfcomm0 - максимальные права :
chmod 777 /dev/rfcomm0
________________________________________________________
19. Надо добавить в udev правило:
Команда: sudo echo KERNEL=="rfcomm[0-9]*" , NAME="rfcomm/rfcomm%n" , SYMLINK="%k", MODE+="0777" , GROUP="dip" > /etc/udev/rules.d/50-bt.rule
создаст файл: 50-bt.rule с правилом, согласно которому после перезагрузки устройства rfcomm будет принадлежать группам: dialout , dip ,
20. Надо добавить пользователя компа <Имя_Пользователя> в группу dialout:
Команда: sudo adduser <Имя_Пользователя> dialout
19. Выключим комп.
20. Включим комп.
21. Создал в Домашней папке пользователя - папку /home/kor/SKRIPTS , поместил в неё файл запуска BT_XGPSMY.sh
22. Создал ярлык (файл BT_7WyMY.desktop ) на рабочий стол для запуска программы /home/kor/SKRIPTS/BT_XGPSMY.sh ,
BT_7WyMY.desktop :
______________________________________________________________
Код: Выделить всё
[Desktop Entry]
Name=NavyKeyBT
Comment=Навигатор GPS
GenericName=NavyKey
Keywords=Navykey; GPS; Bluethooth;
Exec=sh /home/kor/SKRIPTS/BT_7WyMY.sh
Terminal=false
Type=Application
Icon=/home/kor/7ways/splash/144ppi/splash.png
Path=/home/kor/SKRIPTS
Categories=Navykey; GPS; Bluethooth;
NoDisplay=false
23. В дальнейшем пользуемся навигацией на Вашем ноутбуке по следующей инструкции:
_________________________________________________
Запуск навигации!!! :
1. Включить комп.
2. Включить BT-датчик.
3. Включить Мененджер устройств Bluetooth :
Параметры --> Мененджер устройств Bluetooth и дождаться видимости своего BT-датчика.
4. Запустить файл ярлык NavyKeyBT (файл BT_7WyMY.sh)
Выход из навигации!!! :
5. Выход из программы NaviKey.
6. Отключить Bluetooth (мышкой по значку Bluetooth в правом нижн.углу между "питанием" и "время"
7. Отключить BT-датчик не менее чем на 20-30 сек.
8. Выключить комп! (Именно Выключить, А НЕ Перезагрузить комп !!!)
После чего можно запускать всё снова.
С уважением, burdasov.
Буду рад критике, советам, предложениям.
____________________________________________________________________