Турклуб МГТУ ім н
Я давно бився над вирішенням проблеми - як на моєму ноутбуці змусити мій GPS-навігатор рухати в реальному часі карту, відображаючи трек переміщення.
Така можливість стане в нагоді, наприклад, якщо ви захочете поїхати на машині, а в навігатор не залита відповідна карта. Тоді можна буде використовувати прив'язану растрову карту або Космознімок з комп'ютера.
Або, скажімо, хочеться позиціонуватися по поточним GPS-координат в програмі GoogleEarth. Як же це зробити? У мене, нарешті, вийшло.
Налаштування зв'язки конкретного заліза за допомогою набору конкретного софта - завдання нетривіальне. Як правило, допомагає метод наукового тику і танці зі всілякими бубнами. В результаті вдається намацати послідовність правильних дій, що призводять до бажаного результату. Але на це часом іде багато часу.
У цій статті я розповім, як була вирішена одна з подібних завдань. Можливо, цей рецепт допоможе кому-небудь зекономити час і нерви. А іншим - просто злегка розширити кругозір;)
Порівняно недавно я обзавівся новим навігатором Garmin Colorado300. Особливість приладу в порівнянні з більш старими моделями (крім усього іншого) в тому, що у нього для підключення до комп'ютера є тільки USB-роз'єм. А багато програм для роботи з GPS створювалися в епоху, коли в подібних приладах був тільки роз'єм для підключення до COM-порту комп'ютера. Зараз же COM-порти стрімко відмирають, на деяких сучасних компах їх взагалі немає (наприклад, на моєму ноутбуці). Така несумісність створює ряд проблем - наявний софт не може працювати з новим інтерфейсом, а старий неможливо використовувати, тому що його просто немає в новому навігаторі та комп'ютері ...
Порт до навігатора просто так не припаяти ... Залишається чекати поновлення програм. У нових версіях з'являється підтримка сучасних пристроїв, і все зовсім не безнадійно!
Наприклад, популярна програма роботи з растровими картами OziExplorer до версії 3.95.4q не могла зв'язатися з моїм навігатором Colorado. При тому, що з попередньою моделлю GpsMap60Cx все спрацьовувало чудово. Причому як через COM-порт, так і через роз'єм USB. І поки я не роздобув нову версію програми, я не міг нормально завантажувати треки і заливати точки в прилад.
Але ось, нарешті, подружити Colorado і OziExplorer вдалося. Але виник ще один затикаючи. У Ozi є режим, який дозволяє отримувати з приладу інформацію про поточні координати і в реальному часі рухати карту, показуючи курсор і трек переміщення. Але обмін так званої NMEA-інформацією через USB-кабель в Ozi так поки і не реалізований. COM-інтерфейс недоступний. Що ж робити?
Я почав шукати який-небудь програмний емулятор COM-портів, і в кінці кінців наткнувся на відповідну програму - Franson GpsGate. Все виглядало райдужно - програма зчитує сигнал з приладу, який передається через USB-порт і емулює довільне число віртуальних COM-портів, до яких можуть чіплятися програми, що працюють тільки з COM-інтерфейсом. Причому, в той час як до цього COM-портом одночасно може працювати тільки одна програма, тут GPS-дані можуть розділятися між купою програм-клієнтів.
Здавалося б - кінець мукам. Але ... Програма геть відмовилася бачити навігатор Colorado. Сам прилад визначався їй як Garmin-USB, але при цьому видавалася якась системна помилка, і добитися толку не вдавалося. І ось, в черговий раз зайшовши на сайт розробника, я роздобув нову версію, в якій проблема була, нарешті, вирішена. Який же алгоритм дій.
Підключення навігатора Colorado300 до OziExplorer в режимі NMEA через GpsGate
2) Встановлюємо її на комп'ютер. Нічого хитрого немає.
3) Включаємо GPS-навігатор. Кабель поки не приєднуємо. Якщо до виключеного приладу підключити кабель, він відразу переходить в режим диска з даними. При цьому на нього можна закачати треки і точки або завантажити їх на комп'ютер, але використовувати його як навігатор буде неможливо.
4) У меню приладу заходимо в розділ Setup / System / Interface, вибираємо варіант Garmin Spanner. Прилад, тим часом, шукає супутники і захоплює сигнал. Якщо сигналу немає (наприклад, ви сидите в глибині квартири) можна вибрати режим емуляції GPS-сигналу в меню Satellite / Options / Use With GPS Off.
5) Підключаємо USB-кабель. На приладі виникає повідомлення USB Cable Detected. Would you like to go to Mass Storage. Потрібно вибрати варіант NO, інакше навігатор перетвориться в дурний зовнішній диск.
6) Windows може видати повідомлення, що знайдено новий пристрій і потрібно установіль для нього драйвери. Треба відмовитися від пошуку драйверів на сайті Microsoft і вибрати варіант автоматичної установки. Драйвери для приладу вже повинні бути встановлені, тому процес установки закінчиться автоматично, і навігатор з'явиться в системі як Garmin USB GPS.
Якщо такого пристрою в системі немає, то взагалі ніяка з програм не зможе працювати з приладом. В цьому випадку необхідно переустановити драйвери з диска, який йшов в комплекті з приладом (при цьому також за замовчуванням ставиться програма MapSource).
7) Запускаємо програму GpsGate. Вона повинна автоматично розпізнати вхідний сигнал, але можна і вручну вибрати на закладці Input варіант Garmin USB і натиснути кнопку Open. Іконка стане зеленою і з'явиться напис GPS Data with valid position - це значить, що прилад пізнаний і з нього надходить коррдінатная інформація.
Якщо значок програми жовтий, значить зв'язок є, але з приладу не надходить даних. Наприклад, пропав сигнал із супутників.
Якщо іконка червона - значить щось не в порядку. Пора діставати бубон;)
8) На закладці Output створюємо варіанти, куди буде направлятися сигнал. Потрібно вибрати варіант Virtual COM Port і створити емуляцію порту COM1. Для інших додатків можна створити додаткові варіанти - вивчайте документацію до програми.
9) Запускаємо OziExplorer. В налаштуваннях вибираємо потрібний порт: File / Configuration / закладка COM, завантажуємо карту, врубаєм показ поточного GPS-положення через меню Moving Map / Start NMEA communication with GPS. Після цього виникне покажчик, і карта зміститься до потрібної точки. Саме цього ми і добивалися!
Програма бере дані про координати з віртуального COM-порту, створеного в GpsGate. Корисно поставити в меню Moving Map галочки Automatically Scroll Map і Log Track to Memory / Map.
Підключення навігатора Colorado300 до GoogleEarth
1) Беремо з сайту Google чудову безкоштовну програму GoogleEarth. встановлюємо її.
2) Підключаємо навігатор до комп'ютера як було описано в пунктах 3-6 вище.
3) Запускаємо GoogleEarth, в меню Інструменти / GPS йдемо на закладку У реальному часі. Вибираємо протокол Garmin PVT, ставимо галочку Автоматично слідувати цим шляхом, тиснемо кнопку Пуск.
4) Якщо перед запуском GoogleEarth була запущена програма GpsGate, то треба вибрати варіант протоколу NMEA. В результаті глобус провернеться і покаже, де ви знаходитеся!
Підключення до GlobalMapper
Подібно OziExplorer, програма GlobalMapper версії 11.0 не могла розпізнати навігатор Colorado для управління позицією на карті, хоча в списку варіантів підключення і був Garmin USB Device.
Створивши через GpsGate віртуальний COM-порт і вибравши його в налаштуваннях через меню GPS / Setup / Serial port connection вдається побачити на завантаженій карті жадану стрілочку.
Можливо, що в майбутніх версіях програми з'явиться підтримка нових девайсів, і використання GpsGate вже буде не обов'язково. Слідкуйте за оновленнями.
Підключення до GPS Track Maker
Точно також вдалося причепити прилад і до програми GPS Track Maker. Вибираємо меню GPS / NMEA, там вказуємо COM-порт і тиснемо Start. В результаті з'являється панель Real Time Navigation Console, на якій відображається поточна швидкість, висота і азимут руху. Ну і географічні координати, звичайно.