PCCar.ru - Ваш автомобильный компьютер

PCCar.ru - Ваш автомобильный компьютер (http://pccar.ru/index.php)
-   Bluestacks (http://pccar.ru/forumdisplay.php?f=132)
-   -   iCarDS + Bluestacks + Яндекс.Навигатор (http://pccar.ru/showthread.php?t=19528)

Krysanov 02.10.2015 12:44

[QUOTE=Andy_ro;339491][QUOTE=Krysanov;339453] ...то в правом верхнем углу...
Цитата:


Наверное в левом верхнем всё же:whistle:
Ага, но поправить был должен вопрошающий:tease:

Lexx09 06.10.2015 17:19

Не пользовался раньше спящим режимом, решил поэкспериментировать (с гибридным спящим режимом). Проблем никаких пока не наблюдаю. Windows вместе с iCarDS и Bluestacks прекрасно возобновляются независимо от времени, проведенного в гибридном сне.

Есть пара нюансов:
  • В панели уведомлений Windows размножаются иконки GpsGate.
  • Если перед сном был открыт Bluestacks, то после возобновления иногда отсутствует наложенная на него кнопка iCarDS. Добавил в скрипт в конец функции ResumeSuspend такую команду:
    Код:

    WinActivate("iCar DS")
    Вроде пропадать перестала.

PS: Кстати, голосовое управление в ЯН - очень удобная штука для такси. Народ прозревает от высоких технологий.)

Krysanov 06.10.2015 17:53

Пройдёт немного времени, и посыпятся проблемы... У меня все так и происходит... Как будто винда накапливает ошибки... Потом и глюки вылазят всякие..

Lexx09 06.10.2015 18:19

Размножение иконок GpsGate поборол.

Вместо команды:
Код:

WinClose("Franson GpsGate")
надо использовать:
Код:

ShellExecute("C:\Program Files (x86)\Franson\GpsGate 2.0\GpsGateXP.exe", "-exit")

Lexx09 06.10.2015 18:23

Цитата:

Сообщение от Krysanov (Сообщение 339776)
Пройдёт немного времени, и посыпятся проблемы... У меня все так и происходит... Как будто винда накапливает ошибки... Потом и глюки вылазят всякие..

Ну, при постоянном сне, без перезагрузок, различные ошибки могут и накапливаться. Это ж не серверный Linux, который годами можно не перезагружать...

Будем бороться...

Krysanov 06.10.2015 18:42

Цитата:

Сообщение от Lexx09 (Сообщение 339780)
Ну, при постоянном сне, без перезагрузок, различные ошибки могут и накапливаться. Это ж не серверный Linux, который годами можно не перезагружать...

Будем бороться...

Ты может и прав.. У меня на работе стоит вин 7.. Тоже настроено, как и в машине (только в машине вин 8.1). Только ничего не ломается, ничего не накапливается.. Конечно, на работе пришёл , включил комп, перед уходом на кнопку нажал , те не более 4 раз в день.. В машине ... Как ездишь, бывает более 50 вкл -выкл происходит...
Сейчас - желание вернуть все назад.. Пусть лучше включается дольше, зато блин, без глюков...

Lexx09 18.10.2015 20:40

Немного поковырялся во внутренностях Bluestacks по поводу GPS...

Для начала посмотрел реестр. В ветке HKLM\SOFTWARE\BlueStacks\Guests\Android\Config есть такие параметры:
  • GpsComPort
  • GpsLatitude
  • GpsLongitude
  • GpsMode
  • GpsSource
Поискал эти слова в файлах BlueStacks, нашел в нескольких.

Начал с HD-Agent.exe. Нашел в нем форму GpsSettings, которая, вероятно, служит для настройки работы с GPS. В этом же файле есть функция, которая, если GpsMode<>1, добавляет меню показа этой формы в контекстное меню иконки агента в трее. Но эта функция ниоткуда не вызывается. Правкой HD-Agent.exe не удалось отобразить этот пункт меню.

Далее в HD-Agent.exe нашел возможные значения параметра GpsSource:
  • 1 - GPS_SOURCE_HW_DEVICE (Hardware device) - координаты берутся из COM-порта, указанного в параметре GpsComPort (порт указывается не просто цифрой, а полностью - "COM1", "COM2" и т.д.)
  • 2 - GPS_SOURCE_WIFI (Wifi triangulation)
  • 4 - GPS_SOURCE_IP (IP based GeoLocation)
  • 8 - GPS_SOURCE_USER (User specified location) - координаты берутся из реестра (параметры GpsLatitude и GpsLongitude)
Потом разбирался с HD-Frontend.exe. Нашел в нем функцию UpdateGpsCoordinates. Сюда по логам, она вызывается каждые 20 сек. В логах такие есть записи:
Код:

NFO Inside UpdateGpsCoordinates
HTTPHandler:  POST request from 127.0.0.1:7055
INFO Stopping Gps Service, gpsMode = 1, gpsSource = 0, IsWindows7AndBelow() = True

Эта функция в двух случаях берет координаты из реестра и куда-то отправляет:
  1. Если GpsMode=1 и GpsSource=8
  2. Если GpsMode=1 и GpsSource<>8 и Windows версии 8 и выше
Проверил работу с COM-портом. Прописал GpsMode=1, GpsSource=1, GpsComPort=COM2 (виртуальный порт в GpsGate). Выяснил, что обращение к COM-порту происходит только один раз и только в момент запуска приложения, требующего GPS. При этом в GpsGate мелькнет надпись "1 client connected". Во время дальнейшей работы приложения обращений к COM-порту нет. Причем, с первого раза координаты все равно не определяются. Нужно приложение пару раз перезапустить, тогда координаты определятся.

Проверил работу с получением координат из реестра. Прописал GpsMode=1, GpsSource=8, GpsLatitude и GpsLongitude - какие-то координаты. Координаты определяются, но так же, как и в предыдущем случае - приложение нужно пару раз перезапустить, тогда оно увидит правильные координаты (прописанные в реестре).

Далее решил разобраться с датчиком местоположения (на основе VK-172). В логах нашел такие строки:
Код:

INFO Need Windows 8 or Higher for GpsLocator to work.
Т.е., данные с датчика местоположения берутся только в Win8 и выше. Странное ограничение, ведь в Win7 тоже есть датчики местоположения. Решил исправить это недоразумение и пропатчил HD-Agent.exe. В логах появились такие записи:
Код:

HD-GpsLocator INFO LocationChanged
HD-GpsLocator INFO the registry path returned is Software\BlueStacks\Guests\Android\Config
HD-GpsLocator INFO the registry path returned is Software\BlueStacks\Guests\Android\Config
HD-GpsLocator INFO Latitude: 45.014058
HD-GpsLocator INFO Longitude: 39.050568

Судя по логам, координаты берутся с датчика практически в реальном времени. Встречается 9 таких записей за секунду. При этом также обновляются координаты в реестре. Но приложения, запущенные в Bluestacks, координаты в реальном времени не видят.

С помощью GpsDirect можно эмулировать датчик местоположения, получая данные с какого-либо COM-порта. Bluestacks с таким датчиком работать будет.

Для работы с датчиком местоположения, в момент запуска Bluestacks GpsSource не должен быть равен 8. После запуска Bluestacks и подключения к датчику местоположения GpsSource становится равным 2.

В общем, возможность для работы с GPS в реальном времени есть, но не реализована полностью. Возможно, причина в той части Bluestacks, которая эмулирует Android, т.к. в Windows-части координаты считываются и отсылаются.

Krysanov 18.10.2015 20:55

Ого, на кандидатскую тянет..:bye:

Tygra 18.10.2015 21:16

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

Krysanov 18.10.2015 22:00

Цитата:

Сообщение от Lexx09 (Сообщение 339779)
Размножение иконок GpsGate поборол.

Вместо команды:
Код:

WinClose("Franson GpsGate")
надо использовать:
Код:

ShellExecute("C:\Program Files (x86)\Franson\GpsGate 2.0\GpsGateXP.exe", "-exit")

пользуюсь подсказкой.. с помогло..:wink2:
решил попробовать с программой авто запуска интернета , прописал
; Закрываем программу по коннекту интернета
ShellExecute("C:\Program Files (x86)\SP Dialer\SP Dialer.exe", "-exit")
и не получилось... иконок несколько:shok: взял отсюда . Еще раз спасибо за своевременную помощь!!!


Часовой пояс GMT +4, время: 11:08.

Работает на vBulletin® версия 3.8.4.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot