SASGIS

Веб-картография и навигация

Эмуляция GPS приёмника

Обсуждение различной информации связанной с картографией в САСе, а также сторонние программные продукты для связки с САСом

Модератор: Tolik

Эмуляция GPS приёмника

Сообщение Kaspersky89 » 08 янв 2011, 19:06

Вобщем вопрос встал такой, мне нужно из моей программы передавать данные(широту, долготу) в SASPlanet, вместо приёмника GPS, как это можно сделать ? :?
Заморачиваться с COM портом, но как?
Kaspersky89
Новичок
 
Сообщения: 4
Зарегистрирован: 07 янв 2011, 23:25
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: Эмуляция GPS приёмника

Сообщение DJ VK » 08 янв 2011, 22:51

Kaspersky89 писал(а):Вобщем вопрос встал такой, мне нужно из моей программы передавать данные(широту, долготу) в SASPlanet, вместо приёмника GPS, как это можно сделать ? :?
Заморачиваться с COM портом, но как?

1. Как вариант соединить кабелем 2 ком порта и слать данные во второй, первый же скормить планете.
2. использовать виртуальный мост. в поиске нашел например http://sourceforge.net/projects/com0com/ - может подойдет...
Код: Выделить всё
The Null-modem emulator (com0com) is a kernel-mode virtual serial port driver for Windows. You can create an unlimited number of virtual COM port pairs and use any pair to connect one COM port based application to another.
Аватара пользователя
DJ VK
Гуру
 
Сообщения: 1468
Зарегистрирован: 16 апр 2009, 13:57
Откуда: 8 км. от МКАД
Благодарил (а): 82 раз.
Поблагодарили: 323 раз.

Re: Эмуляция GPS приёмника

Сообщение Kaspersky89 » 09 янв 2011, 01:12

DJ VK Хорошая программа, главное бесплатная и реально работающая, проверял на терминале.
Но тут ещё одна проблемка, как не старался слать данные формата NMEA в порт планеты, ноль реакции :(
Пробовал разные строки:
Код: Выделить всё
$GPRMC,183729,A,3907.356,N,12102.482,W,000.0,360.0,080301,015.5,E*6F
$GPRMB,A,,,,,,,,,,,,V*71
$GPGGA,183730,3907.356,N,12102.482,W,1,05,1.6,646.4,M,-24.1,M,,*75
$GPGSA,A,3,02,,,07,,09,24,26,,,,,1.6,1.6,1.0*3D
$GPGSV,2,1,08,02,43,088,38,04,42,145,00,05,11,291,00,07,60,043,35*71
$GPGSV,2,2,08,08,02,145,00,09,46,303,47,24,16,178,32,26,18,231,43*77


Что я делаю не так, ведь данные на порт "планеты" точно отправляются.
P.S. Там рядом с настройкой порта знак вопроса на кнопке, а нажав по ней "не могу найти GPS приёмник" может в этом дело?
Kaspersky89
Новичок
 
Сообщения: 4
Зарегистрирован: 07 янв 2011, 23:25
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: Эмуляция GPS приёмника

Сообщение Parasite » 09 янв 2011, 07:02

Kaspersky89 писал(а):Что я делаю не так, ведь данные на порт "планеты" точно отправляются.

Кроме данных, для успешного соединения ко КОМ-порту нужны и сигналы (например RTS- Ready To Send, итд). Без них железо контроллера порта просто поставит данные в очередь до факта соединения, а по таймауту - сбросит. В вышеупомянутой программе они настраиваются - придется "попереключать" несколько цепей для эмуляции не только логического, но также и физического подключения девайса на порт.
Ну и соответственно если эмулируемый GPS-приемник посылает какие-то сигналы готовности после инициализации порта или его самого - то эти сигналы тоже надо будет отдавать эмулирующей программой.
The only difference between me and a mad man is that I am not mad. /Salvador Dali/
Изображение
Аватара пользователя
Parasite
Администратор
 
Сообщения: 5646
Зарегистрирован: 23 окт 2008, 17:38
Благодарил (а): 124 раз.
Поблагодарили: 512 раз.

Re: Эмуляция GPS приёмника

Сообщение Papazol » 09 янв 2011, 11:50

Пары COM портов можно создавать и программой vspd (Virtual Serial Port Driver) от Eltima. Маленький "недостаток" - прога платная. Достоинство - эмулируемые порты система считает физическими, что в некоторых случаях имеет решающее значение.
Аватара пользователя
Papazol
Гуру
 
Сообщения: 2069
Зарегистрирован: 04 дек 2009, 01:39
Откуда: Рязань
Благодарил (а): 74 раз.
Поблагодарили: 647 раз.

Re: Эмуляция GPS приёмника

Сообщение Kaspersky89 » 09 янв 2011, 12:45

Танцы с бубном результата не принесли. :(
Посоветуйте к кому тут за помощью обратиться, кто разработчик программы?
У меня есть мысль написать небольшую прогу(С++ Builder, Delphi) для эмуляции сигналов приёмника.
Только нужен сам алгоритм работы, инициализации порта, в какой момент какие сигналы поступают, как идёт определение в "планете" что прёмник присутствует, всё что может пригодиться.
Неплохо бы конечно часть исходников которая за всё это отвечает, было бы куда проще, чем гадать на кофейной гуще :lol:
Kaspersky89
Новичок
 
Сообщения: 4
Зарегистрирован: 07 янв 2011, 23:25
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: Эмуляция GPS приёмника

Сообщение vdemidov » 09 янв 2011, 18:43

Kaspersky89 писал(а):Только нужен сам алгоритм работы, инициализации порта, в какой момент какие сигналы поступают, как идёт определение в "планете" что прёмник присутствует, всё что может пригодиться.
Неплохо бы конечно часть исходников которая за всё это отвечает, было бы куда проще, чем гадать на кофейной гуще :lol:

Берете компоненты ZylGPSReciver и экспериментируете сколько угодно.
Чтобы понять программу, вы должны стать одновременно и машиной, и программой.
Аватара пользователя
vdemidov
Гуру
 
Сообщения: 1687
Зарегистрирован: 12 дек 2008, 13:10
Откуда: Киев
Благодарил (а): 191 раз.
Поблагодарили: 157 раз.

Re: Эмуляция GPS приёмника

Сообщение Kaspersky89 » 09 янв 2011, 21:41

Ну, я, не знал пока всех нюансов. Теперь разобрался. В основном неучёл CRC в конце NMEA строки. Скачал прогу "Avangardo GPS generator" всё сразу стало ясно. И через эмуляцию COM-портов всё прекрасно работает. 8-) Спасибо всем за помощь. :)
Kaspersky89
Новичок
 
Сообщения: 4
Зарегистрирован: 07 янв 2011, 23:25
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.


Вернуться в Другие программы

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3