Когда в автомобиле нет системы GNSS…
Никогда такого не было и вот опять © Черномырдин В.С.
Кто бы мог подумать, что в современном авто аж с 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 на нижней стороне платы
В девайсе использовал типоразмер 0806, поскольку прототипы паял сам, а зрение уже не то, что раньше, к сожалению.
Вариант подключения питания устройства позаимстововал из варианта подключения видеорегистратора в машинах ОД: это так называемый «вольво-адаптер», который ставится в разрыв кабеля для подключения зеркала заднего вида и является разветвителем питания.
Кабельный адаптер
Для того, чтобы комплект поставки был абсолютно полным — попросил своего друга @Blck-1 спроектировать и напечатать «держалку». Несколько итераций и у нас получилось следующее:
Держалка своим основанием с помощью двустороннего скотча клеится на свободное место
Тестовую версию сделал в 5 экземплярах и разослал тестировщикам (одно устройство оставил себе — надо же с чем-то ездить).
Прототип на своем месте. 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.