GPS навигатор своими руками

Модераторы: новичок, Володька Николаев, mmcl200, Вопрос, argon84

Ответить
vks
Сообщения: 146
Зарегистрирован: 31 дек 2014, 18:16
Репутация: 58
Имя: Владимир
Откуда: Норильск
Возраст: 32

GPS навигатор своими руками

Сообщение vks » 19 мар 2020, 23:50

Небольшой мануал по сборке навигатора на базе RaspberryPi

Набросал в качестве памятки для себя, возможно кому-то из самодельщиков пригодится материал по сборке кастомной навигации для вездехода.



6859



6502


Навигатор испытан на железе:

Raspberry Pi 3 A (Быстрая и компактная версия Распберри с одним USB. Недостаток - греется при работе). Стоит на фото выше.
Raspberry Pi 4 B (Очень быстрая, греется так же как и третья версия, но имеет бОльшие размеры)
Raspberry Pi Zero W (Медленная версия Распберри, но не греется и не жрет. Подходит для софта Navit)

HDMI TFT 7" display с емкостным сенсором (можно взять с Алиэкспресса дисплей 10 или 12 дюймов, что удобнее)

GPS приемник. Cтавлю GNSS GG1802, питание 5 вольт.

Подключение

1. РАСПБЕРРИ

Запитана от импульсного стаба 12/5 В типа DD4012SA. Стоит sd card на 8Гб.

2. GPS

GPS приемник запитан от отдельного стабилизатора L7805 для минимизации помех. Подключен по UART к serial0 RPi.

TX вывод приемника подключаем через резисторный делитель 5.1/10кОм (ВАЖНО!) подключен к выводу 10 RPi (RX, GPIO15).


3. ЭКРАН

Я не нашел коротких HDMI кабелей для подключения RPi к дисплею. Видимо дефицит. Поэтому взял магазинный, укоротил, удалил пластик с разъема и распаял. Там около 5 витых пар в индивидуальных экранах.

Стоит иметь ввиду, что у каждой версии распберри свой разъем HDMI:

RPi 3 обычный HDMI, подойдет простой кабель
RPi 4 micro HDMI, нужен переходник
RPi Zero W, mini HDMI нужен другой переходник


4. ТАЧСКРИН

Емкостный тачскрин подключается проводами к RPi по USB.


5. ПИТАНИЕ

Питание планируется от бортовой сети 12В. Распберри и экран запитаны с импульсного 5В стабилизатора. GPS приемник с отдельного L7805.

Софт

Из доступного софта имеется: отечественный софт 7 Дорог от Навиком (7ways) и буржуйский Navit (последний работает напрямую с картами Garmin и мне понравился больше).


Навигатор на 7ways

Качаем навигационный софт для ARM - 7 дорог от Навикома (сборка 1308).
https://navikey.ru/files/7w/7ways-1308/ ... pi-arm.zip

Ставим на флешку дистрибутив Linux NOOBS v2.9.0.
ВАЖНО! Более новые версии Raspbian Booster не идут с 7ways. Проблема с библиотекой libcurl4. (CURL_OPENSSL_3 not found). Кто знает, как профиксить проблему, дайте знать.


Подключаем клаву. Заходим в терминал (Alt+F2, выполняем команду lxterminal)

>sudo raspi-config

Заходим в Interfacing Options

Включаем SSH (Для Raspberry 3 c Wi-Fi)
Включаем Serial (Login Shell - NO, Enable Serial - YES)

Перезагружаем

>sudo reboot


Проверяем работу GPS приемника:

>cat /dev/ttyS0

Данные с приемника должны приходить раз в 1 секунду и быть в подобном формате:

$GNGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99*2E

$GPGSV,1,1,00*79

$GLGSV,1,1,00*65

$GNGLL,,,,,,V,N*7A


После того, как приемник нашел спутники, пустые поля должны заполниться актуальными данными


Выход - Ctrl+C

Подключаем WiFi к Raspberry.

Подключаемся удаленно по SSH к Raspberry (для RPi3 и RPi Zero W это очень удобно - по WiFi) с помощью программы PuTTY.

На удаленном компе расшариваем средствами Windows папку, к примеру, RaspberryPi.
В нее кидаем 7ways и карты в папке 7ways/maps.

Создаем пустую папку share

>mkdir share

Монтируем на распберри нашу расшаренную папку с софтом

>sudo mount.cifs //192.168.178.xxx/RaspberryPi /home/pi/share/ -o user=<YourWindowsLogin>

Проверяем что данные видно:

> cd share
> ls

Далее копируем содержимое на флешку:

>cp -r 7ways ../

Далее заходим в папку с 7ways

>cd /home/pi/7ways


Если работаем удаленно по SSH, то перед запуском делаем экспорт дисплея
> export DISPLAY=:0.0

Запускаем 7ways

>./7ways

После запуска программы с помощью сенсорного экрана (или мыши) заходим в Satellites

Ставим галку Use Port
Подключаем клаву к Raspberry. В поле PORT пишем /dev/ttyS0 (в ряде случаев может подойти /dev/ttyAMA0)
В поле SPEED 9600


7141


Карты

Берем Гарминовские карты. Открываем в GPSMapEdit 2.1.

Заходим в Свойства Карты -> Уровни. Записываем себе таблицу уровней Level0-Level5.

7143


Конвертируем карту в Польский формат .mp - Файл->Сохранить как


Ставим себе утилиту для конвертации карт в формат 7w - 7WaysConv

В папке с утилитой редактируем текстовый файл layers.dat согласно таблице уровней см. выше.

Выбираем карту в Польском формате .mp . Выбираем файл с конфигой config_with_layers.cfg
Конвертируем.

Копируем карту 7W в папку 7ways/maps

>cp share/gmapsup2.7w 7ways/maps/gmapsup2.7w


Перезапускаем 7ways. Проверяем отображение карты. Готово.


7142



Выводы

1. Отрисовка ландшафта 7ways не самая точная. Город и дороги рисует хорошо.
2. На RPi Zero W программа жутко тормозит. Поэтому только RPi 3, 4
3. Внутри корпуса качество приема GPS сигнала оставляет желать лучшего, попробую данную панель с внешней GPS антенной. К тому же стоять он будет под металлическим потолком.



Позже сдлаю схему подключения и мануал по программе Navit.

Ответить

Вернуться в «Электроника»