![]() |
iCarDS + ARC Welder + Яндекс.Навигатор
Вложений: 4
Как я уже писал ранее, в эмуляторе ARC Welder прекрасно запустился Яндекс.Навигатор. Маршруты прокладывает, звук есть. Красота! Громоздкий Bluestacks теперь вроде как и не нужен.
Но есть одно "но". На моих домашних Windows7 и Windows8.1 навигатор, да и браузеры тоже, не видят реальных GPS-координат даже с использованием драйвера виртуального сенсора местоположения (GPSDirect). Тут пишут, что приемники на чипах U-Blox могут работать, как сенсор. Но у меня, да и у большинства, наверное, обычные USB GPS-приемники. Поэтому решил исправить это недоразумение. В Chrome есть эмуляция местоположения. На изменение этих данных навигатор реагирует. Возникла идея подсунуть туда реальные координаты, получаемые с GpsGate. Для этого пришлось править расширение "App Runtime for Chrome". Сначала пробовал сделать аналогично инструкции "Внедрение в браузер" из самого GpsGate. Не получилось. Наткнулся на безопасность в расширениях - Content Security Policy запрещает загружать скрипты со сторонних сайтов (коим прикидывается GpsGate), также запрещено выполнение eval. Обойти эти запреты никак не получилось. Потом сделал по другому. Использовал XHR, а вместо eval использовал парсинг json. Вуаля! Навигатор координаты увидел. Теперь Bluestacks точно не нужен. Для тестирования в домашних условиях написал эмулятор GPS-приемника, который выдает случайно меняющие в небольших пределах координаты и другие параметры. Пробовал использовать Fidelity Satellite Emulator, но в нем карта не отображалась и координаты не менялись, хотя задал и движение и скорость. Записал небольшое "домашнее" видео: http://www.youtube.com/watch?v=UogU3Qz0YfM На видео навигатор "мечется", т.к. координаты случайные. --------------------------------------------------------------------------- Инструкция Используем 64-битную операционную систему. В моем случае это Windows 7. Для редактирования текстовых, html, js и json файлов используем текстовый редактор Notepad++. Блокнотом лучше не пользоваться. 1. Установка и настройка GpsGate Устанавливаем GpsGate Splitter последней версии. Запускаем GPSGate. На вкладке "Input" в выпадающем списке выбираем COM-порт, на котором "висит" GPS-приемник, нажимаем "Settings..." и указываем скорость обмена данными (Baud rate). Например, для BU-353s4 по умолчанию скорость 4800. Или же подбираем максимальную скорость перебором по наличию валидных данных. При использовании скрипта GPSSetBaudrate указываем скорость такую же, как в параметре command ini-файла. На этой же вкладке нажимаем кнопку "Open". Картинка должна стать зеленой, и должны появиться надписи "Running OK!" и "GPS data with valid position.". На вкладке "Output" в выпадающем списке выбираем "GPS in browser" и нажимаем кнопку "Add". На этой же вкладке в выпадающем списке выбираем "Virtual COM port" и нажимаем кнопку "Add". Выбираем из списка номер свободного COM-порта. Этот номер порта прописываем в настройках iCarDS. На вкладке "Advanced" нажимаем кнопку "Show more options…". На вкладке "Input" в выпадающем списке "Retry connection to input" выбираем "On Timeout". На этой же вкладке нажимаем кнопку "Open", через пару секунд – "Close". Это нужно, чтобы GpsGate запомнила настройки. 2. Установка эмулятора Устанавливаем последнюю версию браузера Chrome. В Chrome устанавливаем расширение "ARC Welder". При этом дополнительно автоматически будет скачано и установлено расширение "App Runtime for Chrome". Идем в расширения Chrome, ставим галку "Режим разработчика". Проверяем, чтобы были установлены и включены оба расширения – "ARC Welder" и "App Runtime for Chrome", т.к. возможны глюки при установке. Если чего-то нет – повторяем установку отсутствующего расширения. Сюда выложил файл App_Runtime_for_Chrome_47.5021.508.11.crx для переноса в авто через флешку, чтобы не тратить мобильный трафик и время. Устанавливается перетаскиванием в окно Chrome с расширениями. "ARC Welder" так не устанавливается, его необходимо устанавливать через интернет по вышеуказанной ссылке после установки "App Runtime for Chrome". Создаем папку, в которой будут будут храниться установленные apk в виде распакованных расширений. Например, F:\ARC_Welder. Создаем папку, которая будет являться картой памяти для эмулятора. Например, F:\sdcard. 3. Разрешение эмуляции местоположения в Chrome Разрешение эмуляции местоположения делается однократно. Запускаем Chrome. Нажимаем Ctrl+Shift+J ("Инструменты разработчика"). На вкладке "Emulation" в разделе "Sensors" ставим галку "Emulate geolocation coordinates": http://i60.fastpic.ru/big/2015/0408/...7a4bff66e2.png Если панель с вкладкой "Emulation" не видна, то нажимаем кнопку "Show/hide drawer": http://i65.fastpic.ru/big/2015/0410/...1e9bacaa5f.png 4. Установка Яндекс.Навигатора Запускаем "ARC Welder" из панели запуска приложений Chrome, нажимаем кнопку "Choose", выбираем папку F:\ARC_Welder. В "ARC Welder" нажимаем кнопку "Add your APK", выбираем apk-файл Яндекс.Навигатора v1.61. Версия 1.62 не работает в эмуляторе, поэтому ставим 1.61. Ориентацию оставляем "Landscape", форм-фактор выбираем "Maximized". Нажимаем кнопку "Launch App", чтобы произошла установка. Закрываем запустившийся навигатор. В папке F:\ARC_Welder появится папка вида Яндекс.Навигатор_1.61.apk_export_LqJJJ. 4.1. Правка расширения Яндекс.Навигатор Заходим в папку F:\ARC_Welder\Яндекс.Навигатор_1.61.apk_export_LqJ JJ и открываем файл manifest.json в текстовом редакторе (Notepad++). В секции "permissions" исправляем: {"fileSystem": ["write"]} на {"fileSystem": ["write", "retainEntries", "directory"]} В секции "permission" в конце, после "geolocation", добавляем "http://localhost:*/*" через запятую. В итоге секция "permissions" должна выглядеть так: http://i58.fastpic.ru/big/2015/0408/...51912794cd.png В секции "arc_metadata" исправляем: "enableExternalDirectory": false на "enableExternalDirectory": true Если при установке APK указали неверную ориентацию и/или форм-фактор, то это можно поправить – в файле manifest.json изменяем параметры: "formFactor" – прописываем "maximized", "orientation" – прописываем "landscape" После правки manifest.json необходимо обновить расширение, нажав "Обновить" в расширениях Chrome: http://i48.fastpic.ru/big/2015/0419/...dea845a9a2.png Далее необходимо указать эмулятору местоположение папки, которая будет являться картой памяти. Запускаем навигатор (из панели запуска приложений Chrome или из расширений Chrome). В появившемся диалоговом окне выбираем папку F:\sdcard. Это диалоговое окно будет показано один раз. Если в дальнейшем необходимо будет сменить папку – то нажимаем на значок папки в левом верхнем углу тулбара навигатора. Закрываем запустившийся навигатор. 4.2. Перенос кешированных карт Открываем папку F:\sdcard\Android\data\ru.yandex.yandexnavi\files\ cache. Переименовываем свои файлы кешированных карт так, чтобы они совпадали с теми, что уже есть в папке. Удаляем файлы в папке, копируем туда свои файлы. Примечание: файлы в папке могут быть такие – icons-ru_-2.00.sqlite, regions-ru_-2.00.sqlite, tiles-ru_-2.00.sqlite, или такие – icons-ru_RU-2.00.sqlite, regions-ru_RU-2.00.sqlite, tiles-ru_RU-2.00.sqlite. 4.3. Перенос избранного Избранное хранится в одном из файлов в папке расширения. Файл имеет в начале сигнатуру "FGUI". Расположение и имя файла случайное при каждой установке. Т.е. надо перебрать все файлы в папке File System расширения Yandex.Navigator, найти тот, который начинается с сигнатуры "FGUI", и заменить его своим. Для облегчения поиска файла написал скрипт FindFavourites.exe. Запускаем скрипт, вводим ID расширения Yandex.Navigator (смотрим в расширениях Chrome): http://i60.fastpic.ru/big/2015/0408/...5f1164cc88.png Нажимаем кнопку "OK". Если файл избранного будет найден, то откроется папка, содержащая этот файл, а так же появится модальное сообщение с именем файла. В противном случае появится сообщение, что файл избранного не найден. Файл избранного создается навигатором непонятно в какой момент времени. Если скрипт не нашел файл избранного, то надо еще раз запустить навигатор, зайти в избранное. В моем случае сигнатура "FGUI" нашлась в файле …\p\03\00000370. Удаляем этот файл. Копируем в эту папку свой файл избранного (favourites), переименовываем его в 00000370. 5. Правка расширения "App Runtime for Chrome" Идем в папку %LOCALAPPDATA%\Google\Chrome\User Data\Default\Extensions\mfaihdlpglflfgpfjcifdjdjcc kigekc. Можно скопировать эту строку и вставить в проводник, убрав пробел перед kigekc (форум сам их вставляет). Заходим в подпапку с номером версии. Копируем в нее файл getGPS.min.js из архива getGPS.min.rar В этой же папке открываем файл gen_index.min.html в текстовом редакторе (Notepad++). Сразу после кода: вставляем: http://i57.fastpic.ru/big/2015/0419/...345251f0d5.png На данном этапе можно запустить Яндекс.Навигатор в эмуляторе, проверить работоспособность и реагирование на реальные GPS-координаты. При первом запуске навигатора появится окно GpsGate с запросом на разрешение доступа веб-страницы к GPS-координатам. В нем необходимо разрешить доступ навсегда, нажав кнопку "Yes, always": http://i59.fastpic.ru/big/2015/0424/...07d879ea4c.png 6. Избавление от верхнего тулбара в навигаторе Идем в папку %LOCALAPPDATA%\Google\Chrome\User Data\Default\Extensions\mfaihdlpglflfgpfjcifdjdjcc kigekc. Можно скопировать эту строку и вставить в проводник, убрав пробел перед kigekc (форум сам их вставляет). Заходим в подпапку с номером версии. Копируем в нее файл getGPS.min.js из архива getGPS.min.2.rar с перезаписью. Открываем файл gen_index.min.js в текстовом редакторе (Notepad++). Сразу после кода: this.previousZoom_=c; вставляем: b+=_TOPBAR_HEIGHT;d.height+=_TOPBAR_HEIGHT; http://i47.fastpic.ru/big/2015/0420/...72f755f7f0.png 7. Инсталлятор Инсталлятор (InstallYandexNavigator.rar) состоит из двух исполняемых файлов - Install.exe и CopyCahe.exe. Инсталлятор делает то, что прописано в пунктах 4.1, 4.2, 4.3, 5 и 6 данной инструкции. Install.exe делает следующее:
Рядом с Install.exe обязательно должен быть файл getGPS.min.js. Если есть избранное, то этот файл должен быть рядом с Install.exe под именем favourites. Все пути, файлы и идентификаторы будут определены автоматически. Файл избранного создается навигатором не сразу, а в непонятно какой момент времени. Если после запуска Install.exe файл избранного не скопировался, то надо запустить навигатор, подвигать карту, зайти в избранное, выйти, закрыть навигатор. После этого опять запустить Install.exe. Возможно, придется так сделать несколько раз. http://i60.fastpic.ru/big/2015/0422/...5585f8f72b.png CopyCahe.exe копирует файлы кешированных карт в папку карты памяти. При этом файлы будут автоматически переименованы, чтобы совпадать с теми, что уже есть в папке карты памяти. http://i48.fastpic.ru/big/2015/0422/...fc0a181f94.png Порядок установки
8. Встраивание в iCarDS
Есть проблемка – iCarDS не реагирует на закрытие навигатора крестиком в тулбаре самого навигатора. Поэтому закрывать надо с помощью самого iCarDS. Для скрытия указателя мыши в навигаторе используем файлы из архива HideCursor2.rar из темы "Очередной скрыватель указателя мышки". |
Молодца..,,ждем с нетерпением инструкцй.
|
А на сколько у тебя ARC Welder грузит систему ? У меня на i3 до 100 процентов...win 8.1 Пардон, вру-пробовал на домашнем там 7/64
|
Lexx09
А с помощью GnssDataInterface этой проги, можно будет отправять данные на яд. навигатор по твоей системе через гугл. Если посмотреть то местополржение пказывает и строчка с какими то данными бежит. http://s018.radikal.ru/i507/1504/44/607eee5e8323.png |
Цитата:
Цитата:
PS: Почему-то Яндекс.Навигатор v1.62 не работает в эмуляторе. v1.61 - работает. PPS: Хм, в Chrome можно работать с COM-портами напрямую. Так и GpsGate станет не нужен... |
А откуда в этом эмуляторе программы будут кеш карт брать?На 4pda че-то ветка совсем короткая и тоже вопрос про игры с кешем.В описании говорится про указании временной папки... т.е.только онлайн,без предварительно загруженных катрт?Тогда трафик будет огого...
|
Цитата:
Цитата:
http://i57.fastpic.ru/thumb/2015/040...37ab294ce.jpeg |
Lexx09
Давай инструкцию и файлы....пора уже тэстить. |
Да погоди! Дай самому разобраться.
|
Navitel не пробовали на этом эмуляторе?
|
Цитата:
:yes4: |
Добавил в первый пост инструкцию для самых нетерпеливых. :smile2:
Тестируем. В дальнейшем планирую избавиться от тулбара в верхней части навигатора и разобраться с частотой обновления координат. Цитата:
|
Цитата:
|
вопрос про навител поддержу:blush: хоть и не в тему...Чую грядут перемены у кар писишников... это ж надо, одна прога заменяет и надоедливый блюстак и gps gate, класс!!!!:yes2:
|
Цитата:
Цитата:
|
Цитата:
|
По-моему все супер расписал, как попадут в машину, буду пробовать. Автору Респектище!
|
Цитата:
Цитата:
Цитата:
|
Цитата:
Ну или попробуй установить отдельно по этой ссылке: https://chrome.google.com/webstore/d...ifdjdjcckigekc |
Помогите решить проблему.
У меня U-Blox 7 настроенный как сенсор в windows 8.1, проверял в стандартном приложении Карты местоположение определяет, в u-center также определяет и спутники показывает. Но в Яндекс навигаторе и в Хроме на картах по gps не определяет, ставил gps test через arc welder спутники не видит. Как настроить Хром, чтобы приложения определяли координаты по сенсору gps в windows 8? Или без Gpsgate тут не обойтись? |
Цитата:
Перехожу ко второй строчке марлезонского балета :yes2: |
Ох и много же строчек в этом балете...:smile1:
|
Испытания в полевых условиях прошли успешно. Установил в машине Windows7 x64 и далее по инструкции, со встраиванием в iCarDS. Маршрут запоминается при выключении/включении.
|
Цитата:
|
В машине не пробовал. А на домашнем сначала глюкануло в начале скачивания. После перезапуска навигатора скачивание продолжилось и вроде скачалось. Только куда скачалось - непонятно. В папке sdcard ничего не появилось.
|
а на 8.1х32 у кого нибудь поехало у меня лично нет
|
Цитата:
%LOCALAPPDATA%\Google\Chrome\User Data\Default\Storage\ext\kcggmonbnhhhlpaccnemioakh gnbjfie\def\File System\primary\p\00\00000030 в виде базы данных SQLite. Еще нашел, где хранится Избранное: %LOCALAPPDATA%\Google\Chrome\User Data\Default\Storage\ext\kcggmonbnhhhlpaccnemioakh gnbjfie\def\File System\primary\p\08\00000874 Заменил это файл своим - Избранное подхватилось.) |
У меня на 8.1 64 тоже не запускается яд навигатор, никакая версия не идет
|
Кто-нибудь может выложить как сделать ярлык на рабочем столе (какие параметры запуска) - без встраивания в Икар и без вызова из Икара
|
Цитата:
Вписываешь это: "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --profile-directory=Default --app-id=kcggmonbnhhhlpaccnemioakhgnbjfie , где kcggmonbnhhhlpaccnemioakhgnbjfie – это ID приложения Yandex.Navigator (см. 1-й пост) |
Цитата:
|
Спасибо за проделанную работу, но хочется спросить...а по проще установка возможна или только так.
И второй вопрос...как дела с новым GpsBridжем? |
Добавил в инструкцию прямую ссылку на расширение «App Runtime for Chrome» v41.4410.244.23 (crx-файл) для переноса в авто через флешку, чтобы не тратить мобильный трафик. Устанавливается перетаскиванием в окно Chrome с расширениями. «ARC Welder» так не устанавливается, его необходимо устанавливать из сервиса «Chrome Web Store» после установки «App Runtime for Chrome».
Цитата:
Цитата:
|
Цитата:
Цитата:
|
М.б., причина в Startup Manager... Ведь именно он запускает GPSBridge.
|
Цитата:
А заменить Startup Manager другой прогой можно? |
Наверное, причина все же в Bluestacks. После загрузки ОС посылает широковещательное сообщение, что ОС загружена. Startup Manager реагирует на это сообщение, запуская GPSBridge. Если ОС посылает это сообщение с задержкой, то и автозапуск произойдет с задержкой. И ничего с этим не поделать.
Попробуй другие программы автозапуска, в маркете видел. Может, поможет. Если нет - переходи на v0.8.12.3119. |
Цитата:
|
Цитата:
|
Lexx09
Chrome ведь может напрямую работать с COM портом. Получается можно написать скрипт который будет данные с COM порта подставлять в эмуляцию GPS в хроме? |
Часовой пояс GMT +4, время: 14:37. |
Работает на vBulletin® версия 3.8.4.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot