Разлочка автонавигатора Prestigio GeoVision 5300.
Х очется надеяться что эта статья положит начало целому циклу статей по связке микроконтроллер-WinCE. В частности использовать портативное устройство для вывода различного рода информации, например, связать логический анализатор с WinCE.
В свое время мной был куплен автонавигатор Prestigio GeoVision 5300. Естественно целью покупки было использование его по прямому назначению, т.е. именно как автонавигатор.
Выбирался навигатор в первую очередь с установленной программой навигации Navitel.
Ну и выбор пал именно на этот навигатор, достаточно удобная оболочка (меню), наличие аудио, видео плееров, стандартных игр и некоторых мелочей, типа калькулятора и конвертера величин. Также на навигаторе установлена операционная система WinCE 5.0.
(Хочу сразу сказать, все, о чем пойдет речь в данной статье, вы делаете на свой страх и риск. Автор статьи не может гарантировать работоспособность устройства после вашего вмешательства.).
Естественно, что со временем стало не хватать его функциональности, хотелось использовать его не только как навигатор, но и превратить этого зверька в некое подобие КПК или Планшетника… Ко всему прочему в природе существуют еще и другие программы навигации кроме Navitel: IGO8, Автоспутник, Руссо и много, много, много других. Здесь и начались мои поиски…
Изначально мне было известно, что мой зверек работает под управлением WinCE 5.0, и в первую очередь я стал искать в Интернете программы именно под эту операционную систему. Их оказалось очень много! Но! Со скачки первой же программы , сразу появились вопросы, как вообще их установить на навигатор? Дело оказалось не простым. В принципе все программы под WinCE ничем не отличаются от программ для полноценного Windows, только в большинстве своем не требуют инсталляции, копируются на диск навигатора и запускается исполняемый файл ЕХЕ…
К сожалению, стандартная оболочка моего прибора не позволяет запускать произвольные исполняемые файлы. Поэтому пришлось искать хоть какую то лазейку, чтобы запустить его. Единственная лазейка это программа навигации! На моем навигаторе, да и наверное на подавляющем большинстве других, кроме этой лазейки, других нет. Ну что ж. Есть все необходимое можно приступать. Есть два пути запустить файл:
- Этот способ совершенно безопасен, т.к. не трогает саму операционную систему. Берем наш исполняемый файл и называем его так, как называется исполняемый файл навигационной программы (в моем случае Navitel.exe) и подменяем его нашим файлом… Дальше включаем навигатор и из меню просто запускаем навигационную программу, но вместо нее запускается наш файл. Считаю данный способ крайне неудобным ведь чтобы запустить опять навигационную программу нужно делать обратную подмену, а тут без большого брата не обойтись. Получаем некое половинчатое решение, вроде и добились своего но потеряли навигационную программу… Да и много программ таким образом не поставишь, проще сразу отправить своего зверька на помойку и взять КПК или Планшетник…
- Второй способ более рационален и удобен, но не у всех есть такая возможность. Так же как и первый безопасен. В некоторых навигаторах в настройках можно указать путь к программе навигации, который мы благополучно можем изменить на свой. Таким образом поменяв путь к программе навигации мы можем запустить абсолютно любой файл.
Лично я рекомендую прописать здесь путь к Explorer.exe. Должен будет запускаться чистый рабочий стол. Но в моем случае рабочий стол не появлялся, а только поверх стандартной оболочки кнопка пуск и панель задач. Все мои попытки найти в процессах нужный и убить эту оболочку не увенчались успехом, она продолжала назойливо висеть в памяти и мешаться… Возможно на других навигаторах эту оболочку можно будет и закрыть.
В принципе на этом можно было бы и остановиться, кое кто, конечно же, так и сделает. Но я не стал останавливаться и пошел дальше по пути исследования приборчика.
На данном этапе разлочки моего навигатора был выявлен способ запуска других приложений, сохраняя при этом его родной функционал. Вроде бы этого достаточно, скачать с Интернета интересующие приложения, игры, программы, положить их в любое удобное место на дисках навигатора, а запускать изменением пути к навигационной программе… Но человек такая «скотина», всегда хочет большего. Вот и мне показалось этого маловато, хотелось чего то большего. А именно:
- Убить стандартную оболочку.
- Запустить чистый рабочий стол WinCE.
- При этом еще и не убить самого зверька, который должен продолжать выполнять свои прямые обязанности автонавигатора.
Теперь стоит задача разобраться, как запускается стандартная оболочка, а вместо нее запустить рабочий стол… Вот здесь начинается все самое интересное, но и самое опасное. Мы рискуем получить из рабочего девайса просто трупик…
Для начала я бы рекомендовал временно открыть рабочий стол. Это можно сделать разными способами. Первый: В моем приборе в настройках есть так называемый navi путь. Это путь до исполняемого файла навигационной программы. Достаточно его подменить на explorer.exe и запустить из меню программу навигации. Вместо нее должен открыться рабочий стол. В моем случае открылась только панель задач и меню пуск на фоне штатной оболочки.
Второй способ очень похож. Если в настройках нет возможности сменить путь к навигационной программе можно скачать программу ceDesktop.exe. Ее запуск вызывает появление рабочего стола windows. Далее переименовываем его в исполняемый файл навигационной программы (в моем случае это Navitel.exe) и меняем их местами. В результате, как и в первом случае при запуске программы навигации мы должны увидеть рабочий стол.
Теперь мы убедились, что все программы у нас запускаются и можно приступать к разлочке.
Прежде всего нам необходимо найти программу CeRegEditor. Скачать ее можно здесь https://www.ceregeditor.mdsoft.pl/files/CeRegEdit_Setup_0.0.5.2.exe . Программа предназначена для удаленного редактирования реестра WinCE. Но чтобы ей воспользоваться необходимо подключить свой навигатор к компьютеру. В моем случае используется стандартный кабель USB-miniUSB. Также необходимо поставить ActiveSync если на компьютере Windows XP либо Mobile Device Center если Windows Vista и старше, а также сам навигатор должен подключаться к компьютеру в режиме ActiveSync. После установки всех программ и подключения в моем случае появилось новое устройство GPS System. Далее запускаем программу CeRegEditor и жмем в меню connection пункт connect и мы видим реестр WindowsCE
Как видим реестр очень похож на реестр своего большого брата, у них очень много общего. Но описание всего реестра не входит в цель данной статьи, нас интересует только один ключ и все, HKLM\init\Launch50. Именно он и открыт на данном скриншоте. В первоначальном, заводском варианте значение ключа Launch50, в моем случае было Launcher.exe. Именно эта программа и есть стандартная оболочка, которая запускается сразу после старта Windows. На других устройствах эта программа может называться и по другому, но ключ должен быть всегда один. Изначально я думал, что оболочка, т.е. меню это одна программа, каждая стандартная игра, калькулятор, конвертер, проигрыватель и т.д. это отдельные программы. Но как оказалось все эти возможности спрятаны в один файл! И воспользоваться заводскими программами не будет никакой возможности.
Сейчас наступает самый ответственный момент, от успеха этой операции будет зависеть жизнь нашего пациента. А всего то нам надо только подправить значение ключа реестра Launch50 с Launcher.exe (возможны варианты с исполняемым файлом. Прошу обратить внимание на значение других ключей Launch: device.exe, qwes.exe, services.exe. Это системные файлы, относящиеся к ядру операционной системы и порча этих ключей вообще недопустима.) на Explorer.exe. К этому ключу также нужно отнестись очень аккуратно, т.к. ошибка в слове приведет к невозможности запуска explorer.exe.
Все, теперь перепроверяем правильность наших действий и если все верно то просто перезагружаем наш навигатор. В результате загрузки мы должны увидеть чистый рабочий стол WinCE, он очень похож на рабочий стол windows на большом брате… На скриншоте представлен рабочий стол на моем навигаторе, но уже с накиданными ярлыками. Изначально на рабочем столе были ярлыки только My Device, Recycle Bin и Exit. Остальное уже накидано мной.
Теперь, как я уже упоминал, у нас нет возможности воспользоваться ни проигрывателем, ни калькулятором, ни конвертером, ни другими возможностями стандартной оболочки… Зато у нас есть возможность запускать любые исполняемые файлы точно таким же образом как на большом брате, т.е. двойным кликом. Разница только в том, что здесь кликать по ярлыку придется пальцем либо стилусом. Я бы еще рекомендовал для удобства на рабочий стол вынести ярлыки на часто используемые программы (в частности на программу навигации). Делается это не совсем так как в полноценном windows, т.к. у нас просто-напросто нет правой кнопки мыши. Открываем «мое устройство». Затем ищем, где находится исполняемый файл нужной программы, и делаем на нем пальцем или стилусом клик, но не отпускаем сразу, а продолжаем удерживать пока не появится контекстное меню. Затем выбираем пункт «копировать» и на свободном месте рабочего стола точно таким же образом вызываем контекстное меню и выбираем пункт «вставить ярлык». Так поступаем с каждой часто используемой программой. Так же у нас в меню пуск есть пункты программы, избранное.
Эти пункты меню по сути есть просто папки, содержимое которых и отображается при раскрытии соответствующего пункта меню. В папке программы я сложил все программы которыми я пользуюсь и не пользуюсь. В папке избранное у меня лежат программы типа видео плеера, файлового менеджера, диспетчера задач, скайпа, электронных таблиц, т.е. все то, чем я пользуюсь. Но вот незадача, в упомянутых папках вся информация хранится только до первой перезагрузки. А происходит это потому, что эти папки при загрузке ОС создаются в оперативной памяти и естественно ничего там не может быть сохранено. Все что мы пишем в эти папки реально мы пишем в оперативную память… Но и тут есть возможность обойти этот момент.
Сейчас будем делать из совершенно бесполезных папок, Автозагрузка, программы, избранное, очень полезные папочки. Для этого открываем все тот же реестр и идем в HKLM\System\explorer\shell folders и в значениях ключей видим где какая папка создается. В подавляющем большинстве случаев эти папки создаются в оперативной памяти. Теперь что бы эти папки стали для нас полезны нам надо просто-напросто поменять значения ключей для нужных нам папок.
Лично я не рекомендовал бы сразу бросаться делать все папки физическими. Я бы рекомендовал перенести на физический носитель только 4 папки, рабочий стол, избранное, программы, автозагрузка. Еще можно подумать перенести папку Мои документы… остальные трогать не рекомендую, в основном из-за того, что они нам вряд ли понадобятся вообще. Куда сохранять эти папки это личное дело каждого, лично я сохранил их на внутреннюю флэшь память устройства, но никто не запрещает кинуть их и на внешнюю флэшь память. Теперь кидаем в папку программы все программы, в избранное избранные программы, в папку рабочий стол ярлыки на самые часто используемые программы, в папку автозагрузка ярлыки на программы, которые должны запускаться при старте windows (у меня здесь лежит ярлык на программу VolumeX.exe, аналог регулятора громкости полноценного windows.).
В принципе на этом этап разлочки можно считать законченным. Остается только наполнить новоиспеченный windows необходимыми программами, но на самом деле в Интернете программ для wince очень много, так что выбор большой.
Обсудить статью и задать вопросы можно на форуме.
Установка нескольких GPS-программ через альтернативное меню. Часть первая.
Рассмотрим, как можно установить несколько навигационных программ на один навигатор, работающий на базе Windows CE.
Устанавливать программы будем на примере навигатора Prestigio 5000 с разрешением экрана 480*272.
Важно знать, какое разрешение экрана у вашего навигатора. Если вы не знаете, где это найти, забейте в любом поисковике название модели вашего навигатора. Дальше в ссылках найдете описание или технические характеристики, где и узнаете разрешение экрана своего навигатора.
На практике встречается три вида: 320*240; 480*272; 800*480.
В конце инструкции будут ссылки на альтернативные меню для всех видов разрешений. Когда вы узнаете, какое разрешение у вашего навигатора, то скачаете необходимую вам папку.
Кроме этих вариантов, в интернете есть много других вариантов альтернативных меню. Выбор за вами.
Предназначение альтернативного меню в следующем. При покупке навигатора, в нем стоит одна навигационная программа. Но вы хотите поставить еще какую-нибудь программу, к примеру, iGO8, для того, чтобы ездить в Европу.
Поэтому, чтобы каждый раз не менять в настройках местами программы, можно установить альтернативное меню.
Потом, при нажатии кнопки «Навигация», у вас будет появляться еще одно подменю, в котором будет две, три или четыре кнопки, по количеству установленных навигационных программ.
Первым делом подключаем навигатор к компьютеру при помощи USB-провода в режиме съемного диска. Если вдруг навигатор не определяется как съемный диск, то в самом навигаторе нужно найти раздел «Настройки». Заходим в него, находим подраздел «USB». Заходим в подраздел (рисунок внизу).
Здесь есть два раздела: «Mass Storage» (1) и «MS Activesync» (2). Нам нужно активировать первый вариант.
После этого навигатор должен определиться на компьютере.
Заходим на память навигатора. В нашем случае будет внутренняя память. Если в вашем навигаторе есть еще и карта памяти, то папку с альтернативным меню лучше копировать туда.
Скорее всего, карта памяти понадобиться, так как две и более навигационных программы вряд ли поместятся на внутренней памяти навигатора.
Потом открываем скачанную папку с альтернативным меню. Если у вас навигатор с разрешением экрана 320*240 или 480*272, то внутри будет папка «Menu»; если с разрешением экрана 800*480, то папка будет называться «MobileNavigator».
Заходим в эту папку, там будет еще одна папка «Menu». Именно эту папку перемещаем на внутреннюю память или карту памяти нашего навигатора.
Сразу же, таким же образом, копируем и папку с другой навигационной программой или на внутреннюю память навигатора, или на карту памяти. Мы скопируем папку с программой iGO8.
Дальше нам нужно переименовать папку с «родной» навигационной программой. У нас стоит «Navitel», переименуем в «Navitel2».
А папку «Menu» переименовываем в «Navitel». Делаем подмену для навигатора.
Заходим в уже новую папку «Navitel» (которая раньше была «Menu»). Смотрите рисунок внизу.
Здесь находим файл запуска с названием «menu.exe». Название этого файла также надо изменить на «Navitel.exe».
Теперь, если в навигаторе нажать кнопку «Навигация», то запуститься не навигационная программа Навител, а альтернативное меню.
Дальше заходим в папку «Navitel». Находим файлы с расширением «ini». Эти файлы отвечают за закладки в альтернативном меню. Нас интересует файл «gps.ini» (смотрите рисунок ниже).
Открываем этот файл. Появится примерно следующее содержание. Нужно найти место, которое отмечено на рисунке.
В этой строке нужно прописать путь, чтобы при нажатии в альтернативном меню кнопки «Navitel» (четырьма строками выше видим # 1 Navitel), запустилась именно программа Навител, а не какая-нибудь другая.
Поэтому мы прописываем новый путь к программе Навител – «\residentflash\Navitel2\Navitel.exe». В этом пути «residentflash» — это название внутренней памяти навигатора. Если бы программа Навител была на карте памяти, то название было бы «SDMMC».
То же самое делаем со второй кнопкой.
Внимательно проверяйте, на каком носителе памяти находится та или иная навигационная программа, чтобы она запустилась, и не пришлось переписывать файл.