Небольшой мануал по сборке навигатора на базе RaspberryPi
Набросал в качестве памятки для себя, возможно кому-то из самодельщиков пригодится материал по сборке кастомной навигации для вездехода.
Навигатор испытан на железе:
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
Карты
Берем Гарминовские карты. Открываем в GPSMapEdit 2.1.
Заходим в Свойства Карты -> Уровни. Записываем себе таблицу уровней Level0-Level5.
Конвертируем карту в Польский формат .mp - Файл->Сохранить как
Ставим себе утилиту для конвертации карт в формат 7w - 7WaysConv
В папке с утилитой редактируем текстовый файл layers.dat согласно таблице уровней см. выше.
Выбираем карту в Польском формате .mp . Выбираем файл с конфигой config_with_layers.cfg
Конвертируем.
Копируем карту 7W в папку 7ways/maps
>cp share/gmapsup2.7w 7ways/maps/gmapsup2.7w
Перезапускаем 7ways. Проверяем отображение карты. Готово.
Выводы
1. Отрисовка ландшафта 7ways не самая точная. Город и дороги рисует хорошо.
2. На RPi Zero W программа жутко тормозит. Поэтому только RPi 3, 4
3. Внутри корпуса качество приема GPS сигнала оставляет желать лучшего, попробую данную панель с внешней GPS антенной. К тому же стоять он будет под металлическим потолком.
Позже сдлаю схему подключения и мануал по программе Navit.
GPS навигатор своими руками
Модераторы: новичок, Володька Николаев, argon84, Вопрос, mmcl200
-
- Сообщения: 170
- Зарегистрирован: 31 дек 2014, 18:16
- Имя: Владимир
- Откуда: Норильск
- Возраст: 36
-
- Сообщения: 170
- Зарегистрирован: 31 дек 2014, 18:16
- Имя: Владимир
- Откуда: Норильск
- Возраст: 36
GPS навигатор своими руками
Достал снова панельку. Попробовал программку Navit на RaspberryPi 3.
Графика у нее получше, чем 7 дорог. Ест карты Garmin. Вид менюшек и кнопок настраивается в файле конфигурации.
Быстрая. Короче для одноплатников хороший вариант.
Основные моменты
1. Нашел причину глюков GPS приемника. Оказалось, на плате дисплея стоит ужасный китайский стаб на 3,3в, клон LM2576. Он, сволочь, генерировал помехи по питанию до ГГц, перекрывая сигналы GPS и даже Wi-Fi! Заменил на современный dc-dc, проблема отпала.
2. Закинул Navit в автозагрузку, грузится после подачи питания быстро, около 8с.
3. Матрицу лучше было взять подороже IPS, эта бликует на солнце. Заказал новую
Графика у нее получше, чем 7 дорог. Ест карты Garmin. Вид менюшек и кнопок настраивается в файле конфигурации.
Быстрая. Короче для одноплатников хороший вариант.
Основные моменты
1. Нашел причину глюков GPS приемника. Оказалось, на плате дисплея стоит ужасный китайский стаб на 3,3в, клон LM2576. Он, сволочь, генерировал помехи по питанию до ГГц, перекрывая сигналы GPS и даже Wi-Fi! Заменил на современный dc-dc, проблема отпала.
2. Закинул Navit в автозагрузку, грузится после подачи питания быстро, около 8с.
3. Матрицу лучше было взять подороже IPS, эта бликует на солнце. Заказал новую