Набросал в качестве памятки для себя, возможно кому-то из самодельщиков пригодится материал по сборке кастомной навигации для вездехода.
Навигатор испытан на железе:
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.