Телескопы покупают здесь


A A A A Автор Тема: SatTime - синхронизация времени на компьютере через GPS/ГЛОНАСС/Galileo  (Прочитано 34336 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн CEBEPАвтор темы

  • ***
  • Сообщений: 128
  • Благодарностей: 9
  • UB4RAG
    • Сообщения от CEBEP
Не так давно понадобилась мне прогамма для выставления точного времени на компьютере без доступа к интернету, вопрос особенно остро встал при выездах за город с телескопом и использовании компьютера в качестве планетария. Решением мне виделось использование в качестве источника времени GPS-приемник, тем более, в роли его может выступать как обычный коммуникатор (под Android, Windows Mobile и скорее всего под другие мобильные ОС тоже есть софт виртуального GPS COM-порта), подключенный по Bluetooth, Wi-Fi или шнурок, так и специализированное устройство. Поискав в интернете, ничего рабочего найти не удалось, в и тоге на досуге была написана небольшая программка, которая выполняла данную задачу. Надеюсь она еще кому-нибудь пригодится. ;)
Обо всех недочетах и багах по возможности прошу отписываться мне.
Проверена на Windows XP 32bit, Windows 7 32/64bit, Windows 8 32/64bit. При использовании на Windows 7( 8 ) необходимы права Администратора, программа сама их запрашивает при запуске.
Требуется .NET Framework 4 (Client Profile)

Наконец-то дошли руки дописать измененную версию. Теперь на C# осталась только графика, все операции по работе с приемником и выставлении времени написаны на чистом WinAPI.
Из нового функционала:
1. Автостарт синхронизации с помощью параметра -s (SatTime.exe -s), либо опции Sync on run
2. Сохранение настроек
3. Поддержка Galileo
4. Исправлены ошибки
5. Повышена точность времени
6. Новый интерфейс
7. Возможность просмотра и сохранения лога данных
8. Выбор строк NMEA, которые будут использоваться для получения времени
9. Автоматическая синхронизация через заданные интервалы
10. Возможность коррекции ошибки времени
11. Звуковое оповещение наступления новой секунды для ручного выставления времени (новый звук)
12. Сворачивание в трей


При использовании параметра -s обязательно нужно, чтобы родительское приложение обладало правами Администратора, т.е., например, для ярлыка в свойствах необходимо указать "Выполнять эту программу от имени Администратора", если через cmd.exe, то его изначально нужно запустить тоже с администраторскими правами.
Работоспособность новых билдов могу проверить пока только на приемнике с u-blox 5 и Android смартфоне с  GPS/ГЛОНАСС через Bluetooth (кстати, работает точнее). Буду очень признателен сообщениям о проблемах с запуском, работе программы и особенностях поведения с Вашим приемником.
Новая версия (1.2): https://drive.google.com/folderview?id=0B3or78bCO2OHUWd4TWw5MnpuWjg&usp=sharing (скачать с Google Диска, для этого перейдите по ссылке, выберете zip архив, либо SFX (exe), и справа снизу нажмите на стрелку вниз)
Зеркало: https://5223344.ru/pub/sattime/
Изменения от 14.08.2014
« Последнее редактирование: 30 Ноя 2016 [13:37:58] от CEBEP »

Orion 203mm f/4.9 + HEQ5 Pro + искатель 8х50x90* + гид Deepsky 8x50 в кольцах
Canon 60D + QHY5
БПЦ 7X50 + Турист-3

Оффлайн xd

  • *****
  • Сообщений: 17 977
  • Благодарностей: 378
    • Skype - deimos.belastro.net
  • Награды Открытие комет, астероидов, сверхновых звезд, научно значимые исследования.
    • Сообщения от xd
    • Белорусская любительская астрономическая сеть
У меня есть один класс на C# для работы с конфигурацией. Предельно простой.

Пример работы:

// определение
class MyConfiguration : ConfigurationBase
{
  public Point WindowLocation {get; set;}
  public Size WindowSize {get;set;}

  public bool Valid {get; set;}
  protected override OnLoad(bool valid)
  {
    this.Valid = valid;
  }
}

// Инстанцирование
MyConfiguration cfg = MyConfiguration.Load<MyConfiguration>("Common"); // аргумент - имя параметра в реестре

// Загрузка
if (cfg.Valid)
{
  mainWindow.Location = cfg.WindowLocation;
  mainWindow.Size = cfg.WindowSize;
}

// сохранение
private void mainWindow_Resize(Object sender, EventArgs e)
{
  if (mainWindow.WindowState == WindowState.Normal)
  {
    using (cfg.Updating())
    {
      cfg.WindowLocation = mainWindow.Location;
      cfg.WindowSize = mainWindow.Size;
    } // при выходе из блока using будет произведено неявное сохранение
  }
}

// или

private void mainWindow_Resize(Object sender, EventArgs e)
{
  if (mainWindow.WindowState == WindowState.Normal)
  {
    cfg.WindowLocation = mainWindow.Location;
    cfg.WindowSize = mainWindow.Size;
    cfg.Flush(); // явное сохранение
  }
}

Органичение: для хранения значений используется XML-сериализация, поэтому допускается использование только XML-сериализуемых типов (например нельзя использовать Dictionary<,>)
Если надо - пришлю
У природы нет плохой погоды, у неё просто на нас аллергия.

Учение без размышления бесполезно, но и размышление без учения опасно /Конфуций/
Слово есть поступок. /Л. Толстой/

Оффлайн CEBEPАвтор темы

  • ***
  • Сообщений: 128
  • Благодарностей: 9
  • UB4RAG
    • Сообщения от CEBEP
Наконец-то собрался с силами и сделал автозапуск синхронизации ключем и сохранение настроек.  Правда потестировать было негде, надеюсь ничего не падает :)
Orion 203mm f/4.9 + HEQ5 Pro + искатель 8х50x90* + гид Deepsky 8x50 в кольцах
Canon 60D + QHY5
БПЦ 7X50 + Турист-3

Оффлайн Ergo

  • Новичок
  • *
  • Сообщений: 1
  • Благодарностей: 0
  • Мне нравится этот форум!
    • Сообщения от Ergo
Добрый день!
Пытаюсь наладить корректную работу SatTime 1.2. Подскажите, пожалуйста(пошагово),как запустить автоматически синхронизацию времени при запуске системы? Пробовал и через реестр и через планировщик задач- похоже чет не так делаю(не разу подобным не занимался). Вручную все запускается,синхронизируется. Спасибо!

Оффлайн CEBEPАвтор темы

  • ***
  • Сообщений: 128
  • Благодарностей: 9
  • UB4RAG
    • Сообщения от CEBEP
Добавил помимо ключа -s опцию Sync on run , для автостарта синхронизации при запуске Sattime, т.к. есть проблема при включенном UAC .
Orion 203mm f/4.9 + HEQ5 Pro + искатель 8х50x90* + гид Deepsky 8x50 в кольцах
Canon 60D + QHY5
БПЦ 7X50 + Турист-3

Оффлайн xd

  • *****
  • Сообщений: 17 977
  • Благодарностей: 378
    • Skype - deimos.belastro.net
  • Награды Открытие комет, астероидов, сверхновых звезд, научно значимые исследования.
    • Сообщения от xd
    • Белорусская любительская астрономическая сеть
Прописать в манифесте необходимость запуска от имени администратора не пробовали?
У природы нет плохой погоды, у неё просто на нас аллергия.

Учение без размышления бесполезно, но и размышление без учения опасно /Конфуций/
Слово есть поступок. /Л. Толстой/

Оффлайн TMN

  • *****
  • Сообщений: 1 419
  • Благодарностей: 199
  • Вот это мой размерчик!
    • Сообщения от TMN
Скачал SatTime 1.2 . Установил её на 32 разрядную семёрку с первым сервис паком. Подключил USB GPS модуль u-blox7. Увы, SatTime показывает только системное время. Модуль при этом работает нормально, программа u-center всё что положено показывает - спутники, местоположение, время.

Оффлайн CEBEPАвтор темы

  • ***
  • Сообщений: 128
  • Благодарностей: 9
  • UB4RAG
    • Сообщения от CEBEP
Скачал SatTime 1.2 . Установил её на 32 разрядную семёрку с первым сервис паком. Подключил USB GPS модуль u-blox7. Увы, SatTime показывает только системное время. Модуль при этом работает нормально, программа u-center всё что положено показывает - спутники, местоположение, время.

Давненько я тут не был!
А что показывается в NMEA данных?
Orion 203mm f/4.9 + HEQ5 Pro + искатель 8х50x90* + гид Deepsky 8x50 в кольцах
Canon 60D + QHY5
БПЦ 7X50 + Турист-3

Оффлайн xd

  • *****
  • Сообщений: 17 977
  • Благодарностей: 378
    • Skype - deimos.belastro.net
  • Награды Открытие комет, астероидов, сверхновых звезд, научно значимые исследования.
    • Сообщения от xd
    • Белорусская любительская астрономическая сеть
Совсем недавно с этим развлекался, неделю назад буквально.
Сообщения похожи, но немного различаются.
Названия NMEA-предложений начинаются с конструкций виде $GPGGA,.... и ей подобных. Так вот, первые две буквы могут меняться от того, с какой навигационной системой работаем: GP - GPS, GL - Glonass, GA - Galileo, BD - BeiDou; GN - GNSS (обобщённые данные навигации).
Полный список здесь: http://www.catb.org/gpsd/NMEA.html#_talker_ids
Таким образом, надо при разборе не учитывать первые два символа предложения (но в контрольных суммах они участвуют!), или можно их использовать для вывода дополнительной информации. И тут надо отдавать приоритет префиксу GN если он есть, остальные нужно игнорировать.
У природы нет плохой погоды, у неё просто на нас аллергия.

Учение без размышления бесполезно, но и размышление без учения опасно /Конфуций/
Слово есть поступок. /Л. Толстой/

Оффлайн Sergey_RL3FA

  • Новичок
  • *
  • Сообщений: 8
  • Благодарностей: 0
  • Мне нравится этот форум!
    • Сообщения от Sergey_RL3FA
приемник ublox m8030 также не работает в версии 1.2

Оффлайн xd

  • *****
  • Сообщений: 17 977
  • Благодарностей: 378
    • Skype - deimos.belastro.net
  • Награды Открытие комет, астероидов, сверхновых звезд, научно значимые исследования.
    • Сообщения от xd
    • Белорусская любительская астрономическая сеть
Потому что в парсере следует игнорировать первые две буквы фраз. Скорее всего ищется точное совпадение $GPGLL и $GPGGA, в то время как надо $**GGA
У природы нет плохой погоды, у неё просто на нас аллергия.

Учение без размышления бесполезно, но и размышление без учения опасно /Конфуций/
Слово есть поступок. /Л. Толстой/

Оффлайн Sergey_RL3FA

  • Новичок
  • *
  • Сообщений: 8
  • Благодарностей: 0
  • Мне нравится этот форум!
    • Сообщения от Sergey_RL3FA
жаль,
тогда только старый приемник искать

Оффлайн xd

  • *****
  • Сообщений: 17 977
  • Благодарностей: 378
    • Skype - deimos.belastro.net
  • Награды Открытие комет, астероидов, сверхновых звезд, научно значимые исследования.
    • Сообщения от xd
    • Белорусская любительская астрономическая сеть
Автор @CEBEP месяц назад на форуме появлялся
У природы нет плохой погоды, у неё просто на нас аллергия.

Учение без размышления бесполезно, но и размышление без учения опасно /Конфуций/
Слово есть поступок. /Л. Толстой/

Оффлайн Sergey_RL3FA

  • Новичок
  • *
  • Сообщений: 8
  • Благодарностей: 0
  • Мне нравится этот форум!
    • Сообщения от Sergey_RL3FA
судя по форумам программа востребована у пользователей,
просим автора доработать софт

Оффлайн Konstantin

  • *****
  • Сообщений: 1 577
  • Благодарностей: 93
  • Кто ищет, тот найдет...
  • Награды Победитель ежегодного конкурса астрофото
    • Сообщения от Konstantin
приемник ublox m8030 также не работает в версии 1.2
Так вроде на сайте производителя Ublox есть софт U-center, который позволяет делать настройку чипа в том числе и вывод данных.
судя по скриншотам, можно гибко настроить как вывод данных, так и настройки по каждой навигационной системе, в том числе совсем отключить на выбор. Приемник только вчера заказал - придет - помучаю.
« Последнее редактирование: 21 Мар 2018 [16:45:06] от Konstantin »
Кто ищет, тот найдет...

WS240 SiTech
Ньютон 8" F/3  Ньютон 10" F/3.25
TS Imaging Star71 f/4.9 APO Astrograph
Paracorr Type2 QHY168 QHY183
https://www.flickr.com/photos/124032015@N05/  http://www.astrobin.com/users/katushev/

Оффлайн Sergey_RL3FA

  • Новичок
  • *
  • Сообщений: 8
  • Благодарностей: 0
  • Мне нравится этот форум!
    • Сообщения от Sergey_RL3FA
спасибо за идею,
U-center поставил, но возможностей не знаю
что в чипе можно настроить под себя


Оффлайн xd

  • *****
  • Сообщений: 17 977
  • Благодарностей: 378
    • Skype - deimos.belastro.net
  • Награды Открытие комет, астероидов, сверхновых звезд, научно значимые исследования.
    • Сообщения от xd
    • Белорусская любительская астрономическая сеть
Надо для начала настроить только работу с GPS и отключить остальное, и отключить вывод обобщённых GNSS-данных.
У природы нет плохой погоды, у неё просто на нас аллергия.

Учение без размышления бесполезно, но и размышление без учения опасно /Конфуций/
Слово есть поступок. /Л. Толстой/

Оффлайн Konstantin

  • *****
  • Сообщений: 1 577
  • Благодарностей: 93
  • Кто ищет, тот найдет...
  • Награды Победитель ежегодного конкурса астрофото
    • Сообщения от Konstantin

Пометки не мои - с сайта дернул чтобы было понимание...
Возможно в разделе NMEA есть настройки трансляции данных.
PS Нудно посмотреть еще настройки программы  - автор заявлял, что есть настройки с каких данных NMEA синхронизировать время (п.8)
« Последнее редактирование: 21 Мар 2018 [17:01:27] от Konstantin »
Кто ищет, тот найдет...

WS240 SiTech
Ньютон 8" F/3  Ньютон 10" F/3.25
TS Imaging Star71 f/4.9 APO Astrograph
Paracorr Type2 QHY168 QHY183
https://www.flickr.com/photos/124032015@N05/  http://www.astrobin.com/users/katushev/

Оффлайн Sergey_RL3FA

  • Новичок
  • *
  • Сообщений: 8
  • Благодарностей: 0
  • Мне нравится этот форум!
    • Сообщения от Sergey_RL3FA
не помогло

Оффлайн Sergey_RL3FA

  • Новичок
  • *
  • Сообщений: 8
  • Благодарностей: 0
  • Мне нравится этот форум!
    • Сообщения от Sergey_RL3FA
буду копать дальше

Оффлайн Konstantin

  • *****
  • Сообщений: 1 577
  • Благодарностей: 93
  • Кто ищет, тот найдет...
  • Награды Победитель ежегодного конкурса астрофото
    • Сообщения от Konstantin
буду копать дальше
а в разделе NMEA какие настройки есть?
Кто ищет, тот найдет...

WS240 SiTech
Ньютон 8" F/3  Ньютон 10" F/3.25
TS Imaging Star71 f/4.9 APO Astrograph
Paracorr Type2 QHY168 QHY183
https://www.flickr.com/photos/124032015@N05/  http://www.astrobin.com/users/katushev/