Когда в автомобиле нет системы GNSS…

в 5:35, , рубрики: GNSS, gps, Monjaro, автомобили, навигация, проектирование, разработка

Никогда такого не было и вот опять (с) Черномырдин В.С.

Кто бы мог подумать, что в современном авто аж с 4 полноценными экранами (приборка, проекция, центральный экран, экран пассажира) и настоящим андроидом на головном устройстве, производитель мог выпилить навигацию? Удивительно, но факт - Geely Monjaro (купленный у официального дилера (далее ОД)). Как потом выяснилось, Geely Atlas - в той же ситуации.. Возможно, есть и другие авто на российском рынке, которые по каким-то причинам обделены этой важной и необходимой функциональностью.

Непорядок. Надо исправлять.

Стартовое положение вещей

Итак, Geely Monjaro (ОД) обладает шикарной мультимедийной системой с кучей экранов, но совершенно убогим функционалом: воспроизведение музыки с флешки или через блютус, радио и зеркалирование экрана телефона с помощью проводного CarbitLink.

Красиво, но штатно нефункционально

Красиво, но штатно нефункционально

CarbitLink мало того, что проводной, он более-менее работает с андроид-телефонами, но телефон должен оставаться в горизонтальной ориентации и с включенным экраном. С iPhone все еще интереснее: работает только зеркалирование, а вот тыкать в экран головного устройства (ГУ) уже бесполезно - нажатия не отдаются на телефон. Правда удобно?

С середины 2024 года ситуация чуть поменялась - производитель добавил проводной Apple CarPlay (владельцы яблочной продукции чуть вздохнули с облегчением), Android Auto - так и не завезли (и не будет, поскольку Google не дружит с Китаем).

Владельцам машин, выпущенных ранее середины 2024, не повезло - CarPlay установить официально нельзя (лицензионные ограничения со стороны Apple).

При всем при этом - пассажирский экран получается ну совершенно бесполезный - туда ничего полезного вывести нельзя...

Из штатных беспроводных интерфейсов доступен только bluetooth - подключить телефон для голосовых вызовов и воспроизведения музыки. И все. Грусть-тоска.

Но кто ищет, тот всегда найдет - команда энтузиастов выяснила, что через инженерное меню авто можно включить ADB. И тут началось такое...

Monjaro Starter Pack

Собственно результатом трудов энтузиастов стал абсолютно бесплатный MSP - набор скриптов и софта, который многократно расширяет функциональность ГУ на автомобиле.

Основное, что делает скрипт:

  • Включает WiFi (он есть в ГУ, но был заблокирован).

  • Включает в настройках андроида режим разработчика.

  • Устанавливает необходимый минимум софта: MacroDroid, Аврора (зеркало Google Play), VIVID (управление жестами), Google Chrome, Usbgps4droid (о нем ниже) и некоторые другие.

  • Дает управление мультимедиа-прилоежниями (Яндекс.Музыка и т.п.) кнопками с руля.

  • Позволяет перекидывать навигацию с центрального экрана на приборку (там специальный режим отображения приборной панели).

Навигация на приборке

Навигация на приборке

После этого ГУ становится куда веселее: берем WiFi роутер (или раздаем интернет через точку доступа, поднятую на телефоне) и ГУ уже чудесным образом можно смотреть сайты, ставить любые приложения (Яндекс.Навигатор и Яндекс.Музыка - имхо, достаточный минимум).

Хорошо зарекомендовал себя бюджетный wifi-роутер Olax U90. Цена около 3 тыс.руб. (здесь и далее цены на момент написания статьи на российских маркетплейсах).

Но тут снова "грабли": как мы помним, производитель выпилил по каким-то причинам аж целый блок TCAM (в машинах из параллельного импорта (ПИ) этот блок есть, его основная функциональность: система GNSS, телематика через eSIM (актуально только для Китая) и некоторые другие).

Т.е. позиционирование взять штатно неоткуда.

Естественно, вспоминаем про то, что "можно поставить что угодно и открыт режим разработчика" - владельцы андроид-телефонов радостно ставят gpstether (на телефон (сервер) и ГУ (клиент). В ГУ в настройках фиктивных местоположений выбираем gpstether и, вуаля, навигатор начинает полноценно работать. Круто же?

Теперь уже экраны становятся функциональными, к примеру у меня на центральном экране обычно навигация (удобно смотреть мне и жене-штурману), на пассажирском - Яндекс.Музыка (и жена - "диджействует"). Когда езжу один - музыка в фоне, навигация на приборке, а все остальные экраны - погашены.

Уже веселее, правда?

Уже веселее, правда?

Но тут начинаются некоторые неудобства: надо при запуске что-то ткнуть в телефоне и что-то в ГУ. Большинство этих неудобств решаются макродроидом (или штатной автоматизацией на телефонах). И вроде бы уже хорошо, но... нет: владельцы iPhone чувствуют себя обделенными - там так нельзя.

Ладно, следующая итерация - есть же USB-GNSS-приемники (а в машине есть дата-порт usb, а не только порты для зарядки). Подключаем приемник в дата-порт (предварительно приемник надо бы настроить для более адекватного решения задачи автомобильной навигации), ставим приложение Usbgps4droid - чуть настраиваем (выбираем приемник, ставим правильную скорость обмена, включаем автостарт и т.п.). После этого в фиктивных местоположениях выбираем уже Usbgps4droid и снова радуемся: навигация работает уже с этим устройством.

Проверенный usb-gnss: GN-803G (на базе u-Blox 8). Цена около 4 тыс.руб.

И тут снова не все гладко: если телефон начинает отдавать координаты достаточно быстро (он же AGPS умеет, да и пока идешь от дома до машины уже "фикс" координат есть), то usb-приемник заставляет понять, что есть понятия "холодный старт", "теплый старт" и это занимает достаточно большое время, т.е. сценарий "сел и поехал" не такой быстрый, как хотелось бы.

Следующая итерация: берем дешевый андроид-телефон (я купил какой-то POCO за 4800 рублей), ставим в него сим-карту, делаем автоматизацию: при начале зарядки - выключить режим экономии, включить точку доступа, запустить gpstether. И обратная автоматизация: при пропадании зарядки: выключить точку доступа, перевести телефон в режим экономии энергии. И подключаем в зарядник (в багажнике есть розетка 12В).

Вуаля: подходим к машине (в розетке появляется напряжение) - телефон поднимает точку доступа, включает "вещание" координат. Как только ГУ загрузилось - на нем уже есть интернет и координаты. Круто? Да, круто!

Телефон при таком использовании толком и не разряжается (проверял, в таком режиме ожидания он почти 2 недели не садится в нуль). При регулярных поездках - вообще думать не надо.

И вроде все превосходно, но редко бывает, что что-то в "автомобильном" телефоне не так и надо идти в багажник и смотреть, что там случилось - то-ли точка доступа не поднялась почему-то, то ли gpstether не стартанул в нужном режиме. Непорядок.

Да и телефон с литиевой батарейкой на постоянке в машине - не самая безопасная тема (лето, жара, ну вы понимаете...).

И во всех случаях получается "неаккуратненько как-то": есть какие-то провода, что-то лежит в нише тоннеля (или в багажнике)...

Долой компромиссы!

Один прекрасный человек Андрей подумал и сделал комплекс "устройство и ПО", которое было бы лишено многих недостатков, а именно:

  • Без проводов на главной консоли (в багажнике 12в — норм).

  • Без танца с бубном при посадке в машину.

  • Без аккумуляторов.

  • Простота в использовании — в идеале, сел, запустил навигатор, ввел адрес, поехал.

  • Скорость работы — не очень хочется ждать пока система найдет спутники, определит местоположение, включит точку доступа, все подключит, настроит, а ты уже приехал. Идеал — все должно включиться пока вводишь адрес. 1-2 минуты — пойдет.

  • Являться еще и точкой доступа Wifi, что бы тот же навигатор мог строить маршруты и определять заторы.

Собственно, список выше взят из его записи на drive2.ru, где он собственно описал свое решение.

В результате его разработок появился первый прототип:

"Коробочная версия"

"Коробочная версия"

Параллельно Андрей пилил прошивку для esp (в среде Arduino) и ПО для автомобильного ГУ.

Реализовано много "плюшек", ниже только часть:

  • Обновление по воздуху

  • Работа с u-blox M8N на очень низком уровне, что позволило реализовать AGPS (и очень быстрый старт)

  • Функция автомобильного трекера (никого доп.софта на ГУ)

  • Софт на ГУ реализован как сервис (запускается автоматом вместе с ГУ, при этом на экране ГУ никаких логотипов-заставок и сворачивающихся окон).

Кстати, про программное обеспечение автор сам расскажет лучше (если захочет, конечно), но как пользователь скажу - что связка эта работает превосходно. Сценарий "сел и поехал" - уже как раз такой, какой ожидаешь от современной машины.

ПО на ГУ отображает информацию о спутниках, скорости и точности (но можно даже не открывать и не смотреть - ПО работает в фоне)

ПО на ГУ отображает информацию о спутниках, скорости и точности (но можно даже не открывать и не смотреть - ПО работает в фоне)

Свое устройство Андрей развивает, мелкосерийная партия в производстве. А еще он уже двигается дальше и разрабатывает версию 2.0 (на bluetooth 5.0 и M9, но об этом он опять же сам расскажет).

А я расскажу о том, какой вклад внес в этот проект:

То же самое, но "вид сбоку"

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

С разрешения Андрея, я разработал версию "в зазеркалье" (с софтом у меня не очень, а вот опыт в проектировании и производстве железок - есть).

Вскрываем кожух и обнаруживаем достаточно объемную свободную нишу в правой части:

Белый элемент - это габаритный макет

Белый элемент - это габаритный макет

Идея компоновки следующая: на верхней части платы находятся все элементы, кроме esp. На нижней стороне - только esp8266 и антенна для приема спутникового сигнала.

Такая компоновка позволила бы разместить (через "держалку") устройство в свободном пространстве таким образом, чтобы антенна смотрела бы сразу через лобовое стекло на небо (а в том месте лобового стекла еще и нет нитей обогрева - так что нет лишних помех).

Исходя из доступных размеров - спроектировал (в EasyEDA) устройство, размером 34х64мм, которое по схемотехнике практически полностью дублирует авторское устройство (прошивка-то одна, соответственно используемые GPIO и связи - идентичны), только я сделал другую схему понижайки (просто у меня были уже автомобильные наработки в других проектах). Убрал индикацию (не люблю, когда что-то где-то моргает и/или светится).

Прототип, esp на нижней стороне платы

Прототип, esp на нижней стороне платы

В девайсе использовал типоразмер 0806, поскольку прототипы паял сам, а зрение уже не то, что раньше, к сожалению.

Вариант подключения питания устройства позаимстововал из варианта подключения видеорегистратора в машинах ОД: это так называемый "вольво-адаптер", который ставится в разрыв кабеля для подключения зеркала заднего вида и является разветвителем питания.

Кабельный адаптер

Кабельный адаптер

Для того, чтобы комплект поставки был абсолютно полным - попросил своего друга @Blck-1 спроектировать и напечатать "держалку". Несколько итераций и у нас получилось следующее:

Держалка своим основанием с помощью двустороннего скотча клеится на свободное место

Держалка своим основанием с помощью двустороннего скотча клеится на свободное место

Тестовую версию сделал в 5 экземплярах и разослал тестировщикам (одно устройство оставил себе - надо же с чем-то ездить).

Прототип на своем месте. USB-роутер подключен через короткий "удлинитель"

Прототип на своем месте. USB-роутер подключен через короткий "удлинитель"

В целом, устройство "получилось", но у некоторых пользователей были проблемы с уровнем (да и вообще с возможностью приема) сигналов со спутника. Виноват оказался очень мелкий и капризный разъем, через который подключалась антенна (да еще и с коротковатым комплектным кабелёчком, который норовил разъем отключить).

Тестеры придумали решение - берем пигтейл и внешнюю антенну (на ОЗОНе за 350 рублей), отключаем встроенную, через пигтейл подключаем внешнюю и размещаем ее в "плавнике" (в машинах ОД он носит сугубо декоративную функцию - он пустой, внутри ничего нет.

Если со штатной антенной точность позиционирования была 4-6 метров (что уже вполне достаточно), то с антенной в плавнике - менее 1 метра (я видел у себя точность 0.3 метра, в среднем 0.7-0.9 метра).

Естественно, там где глушат - чуда не происходит и устройство теряется и путается в показаниях.

Исходя из тестовой эксплуатации и пожеланий пользователей внес некоторые коррективы в свою версию устройства:

  • Отказался от хлипкого разъема и кабеля для подключения встроенной антенны (теперь антенна просто распаивается на плате)

  • Добавил антенный усилитель для встроенной антенны на плату

  • Чуть-чуть изменил схему питания (теперь у esp и m8n собственные LDO на 3.3В)

  • Добавил контроллер сброса для esp (он отвечает за сигнал RESET и отпускает его через 250мс после того, как появилось нормальное питание)

  • Добавил нормальный разъем для подключения внешней антенны.

  • Изменил разъем для подключения роутера с USB-A на гораздо более компактный USB-C

  • Выбор используемой антенны - с помощью соотвествующей smd-перемычки на плате.

  • Переход на типоразмер 0603.

Получилось вот так:

Верхняя сторона

Верхняя сторона
Нижняя сторона

Нижняя сторона
Устройство стало тоньше прототипа за счет изменения антенны

Устройство стало тоньше прототипа за счет изменения антенны

Производство заказал в Китае. Там делают платы, распаивают все, кроме esp8266 (их я приобретаю отдельно, прошиваю в программаторе и потом уже запаиваю на платы).

Фото, которое сборщик отправил мне для контроля

Фото, которое сборщик отправил мне для контроля

Естественно, пришлось под новые размеры корректировать и держалку (для того, чтобы сделать минимально-возможный по толщине "пирог" устройства).

Устройство в новых компактных держалках

Устройство в новых компактных держалках

@Sinselсделал сайт техподдержки по устройствам со всеми ответами на частые вопросы и инструкциями.

Так выглядит размещение серийного устройства

Так выглядит размещение серийного устройства

Что дальше?

Сейчас первая мелкая серия уже разъехалась по всей стране, а если вам все еще интересно, что там будет дальше и опыт эксплуатации - присоединяйтесь к нашему чатику HWgps по этим устройствам.

Устройство может быть полезно и на других авто, где есть возможность ставить ПО на ГУ, но нет GNSS.

Автор: avstepanov

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js