Bt-teh.ru

БТ Тех
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Синхронизировать Android устройств через GPS времени

Синхронизировать Android устройств через GPS времени?

Проблема: мне нужно несколько устройств Android, чтобы сделать что-то в одно и то же время (в течение примерно 100 миллисекунд). Например, я хочу, чтобы все устройства воспроизводили определенный звук в заранее определенный момент времени.

Вопрос: Могу ли я использовать время GPS, чтобы убедиться, что часы устройств синхронизированы?

Более длинная версия:

Несколько человек, имеющих устройства Android, находятся в одном и том же открытом месте (для какого-то конкретного спортивного события). Все устройства должны сигнализировать определенные события в одно и то же время. (Какое время будет определено заранее, и не важно, что они делают это именно в это время, главное, чтобы они делали это одновременно). FWIW: эти события помогут людям начать свою спортивную деятельность одновременно.

Вот предположения, которые я могу сделать:

  • Там может быть или не быть покрытие сотовой связи. (Он находится на открытом воздухе и может находиться далеко от городских районов)
  • Устройства могут быть подключены или не подключены к интернету. (У некоторых людей может не быть плана передачи данных)
  • Устройства могут разговаривать друг с другом. Если устройства не подключены к интернету, они будут подключены через wifi (хотя wifi может не иметь интернет-шлюза).
  • Устройства находятся снаружи (а не внутри зданий). (Это хорошо, это означает, что все устройства могут получить исправление GPS)
  • Устройства находятся физически близко друг к другу (то есть в пределах 300 м2). (Не уверен, что это важно)

Я не могу использовать внутренние часы, чтобы знать, когда воспроизводить события: пользователи могут вручную изменять время, и даже если устройство настроено на получение времени из сотовой сети, эта сеть может не обеспечить точное правильное время. Два устройства могут быть забронированы в разных сетях, и, следовательно, их время может быть не очень хорошо синхронизировано.

При запуске приложения каждое устройство может запросить исправление GPS и сохранить разницу между временем GPS и его внутренними часами. Теперь мастер мог объявлять события, основанные на этом времени GPS (используя свои внутренние часы и вычитая смещение, которое он сохранил ранее).

Будет ли это достаточно точно и надежно?

Заранее большое спасибо, Андреас Лейтнер

3 ответа

  • GPS функциональность связи устройств с сервером

Привет, я хочу реализовать функцию связи gps устройств в android устройстве, но я не знаю, как эти устройства взаимодействуют с сервером, который использует данные этих устройств и сохраняет эти данные на сервере. Я должен спросить об этих устройствах 1-Может ли сервер подключать эти устройства.

Я ищу библиотеку Java, которая обрабатывает преобразование в/из времени GPS . GPS время имеет эпоху 6 января 1980 года и не имеет високосных секунд, поэтому оно отличается от более стандартных представлений времени. Вот соответствующее описание из Википедии: В то время как большинство часов.

Вы можете получить разницу во времени в миллисекундах от currentTimeMillis() и Location.getTime() в обратном вызове onLocationChanged() . Использовать requestSingleUpdate()

Я просто хочу добавить, что, если у пользователя есть подключение для передачи данных, он может использовать время NTP, что еще более точно, так как внутренние часы GPS могут дрейфовать, и исправление этого займет некоторое время.

EDIT: Я хочу отредактировать этот ответ. После работы в качестве разработчика GNSS в ОС Android я понял, что многие ‘major’ Android OEMs все испортили. Обычно NMEA предложений генерируются на чипсете или GNSS стеке. Иногда время подходит, все зависит от реализации.

Также существует проблема високосной секунды. GPS время-это не UTC время. И на момент написания этой статьи он опережает нас на 18 секунд .

Кроме того, GPS времени из Location объектов теперь являются системным временем в соответствии с документацией

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

UTC не является производным от GPS, APK переопределяет GPS. Android установлен для игнорирования GPS часов. Вы getTime()-это NIST, а не GPS

Похожие вопросы:

Я столкнулся с проблемой, и мне нужна помощь, чтобы понять, что происходит. Идея состоит в том, чтобы синхронизировать 2 или более устройств android относительно местоположения GPS timestamp. Я.

Есть ли способ синхронизировать временные метки в значениях, измеряемых датчиками (например, ускорение) ( SensorEvent.timestamp ) и GPS ( Location.getTime() ). SensorEvent.timestamp-это наносекунды.

Можно осуществить поиск устройств с поддержкой GPS вокруг моего устройства GPS помощью PhoneGap, как функциональные возможности сканирования устройства bluetooth по. Если это возможно, как я могу.

Привет, я хочу реализовать функцию связи gps устройств в android устройстве, но я не знаю, как эти устройства взаимодействуют с сервером, который использует данные этих устройств и сохраняет эти.

Я ищу библиотеку Java, которая обрабатывает преобразование в/из времени GPS . GPS время имеет эпоху 6 января 1980 года и не имеет високосных секунд, поэтому оно отличается от более стандартных.

Используют ли устройства Android протокол сетевого времени (NTP) для синхронизации времени? В настройках моего устройства я вижу checkbox со следующим текстом синхронизировать с сетью, но я не знаю.

Я создаю приложение android, в которое будет встроена карта Google. Это приложение должно отображать на карте количество автобусов в том или ином районе. Я понимаю, что мне нужно установить GPS.

Кто-нибудь знает, можно ли скачать альманах GPS на телефон android? Не через GPS sat, а через wifi/3g. и с помощью упомянутого альманаха затем скормите его GPS битам на моем телефоне. Все в коде.

Я думал об использовании нескольких устройств Android (например, планшетов Nexus 7) для создания фото / видеостены, и мне интересно: а) возможно ли это и Б) как синхронизировать отображение всех.

Я работаю над gps приложениями для отслеживания в android. Вот моя архитектура кода: BackgroundSyncService : класс обслуживания, используемый для получения обновления местоположения. Здесь.

Проблемы времени и часовых поясов в Android и пути их решения

Предположим, вы уже давно используете Android, а потому может показаться, что он прекрасно справляется с задачами синхронизации времени – будильники срабатывают вовремя, каких-то явных отклонений времени не наблюдается и т. д. Однако уверены ли вы полностью в том, откуда Android на самом деле получает данные о точном времени и часовых поясах? Если у вас есть хоть какие-то сомнения о том, как это работает — добро пожаловать под кат.

В Android существует две проблемы со временем: это его непредсказуемая синхронизация и необходимость в актуализации данных о часовых поясах даже в самой свежей версии ОС.

Предыстория: Android является мобильной ОС, базирующейся на ядре Linux, он спокойно подключается к интернету и, конечно же, можно предположить, что синхронизация времени осуществляется с помощью NTP, однако, это не так. Исторически сложилось, что Android был предназначен для использования исключительно в мобильных телефонах (вспомните версию 1.6). При этом только к 3 мажорной версии он обзавёлся интерфейсом для планшетов и начали́сь другие подвижки к унификации интерфейса и начинки ОС. Однако даже версии 4.4 и Android L получают сигналы точного времени теми же методами, что их получала Nokia 3310 и другие, более ранние GSM/3GPP телефоны, т. е. от вышек сотовой связи при регистрации в сети (при подключении к вышке). При этом планшеты или другие устройства без модуля связи, в принципе не имеют возможности синхронизировать время автоматически.

Читать еще:  Дрель шуруповерт с регулировкой оборотов

К великому сожалению, чтобы научить Android синхронизировать время полностью автоматически с помощью NTP нам понадобиться root доступ ибо API для точной установки времени в Android ныне отсутствует.

Приступим. Первое, что необходимо сделать, это выключить синхронизацию времени с мобильной сетью. При этом установку часового пояса я рекомендую оставить в автоматическом режиме, а отключать её стоит, только если есть гарантия, что устройство будет работать в стационарном режиме.

Далее, необходимо установить приложение ClockSync, которое и будет выступать для нас альтернативой демону синхронизации времени с помощью NTP.

На скриншотах видно, что разница с точным временем оказалась достаточно маленькой, однако, бывают разные ситуации, у некоторых время на устройстве может даже плавать туда-сюда поскольку оператор не удосужился навести порядок у себя на БС.

Убедившись, что всё работает, настроим автоматическую синхронизацию в программе ClockSync. Для повышения точности я рекомендую включить опции «Режим высокой точности» и «Только через WI-FI». Если с первой опцией всё понятно из описания в программе (см. скриншот ниже), то вторую опцию я рекомендую включить в первую очередь не из соображений экономии мобильного трафика, а из-за того, что мобильный интернет не способен гарантировать хоть сколько-нибудь стабильные задержки.

Помимо этого я рекомендую включить опцию «При включении», чтобы лишний раз не выводить устройство из глубокого сна и тем самым сэкономить энергию.

В связи с масштабными изменениями часовых поясов в РФ осенью этого года необходимо уже сейчас задуматься об актуализации информации о них на всех устройствах и если с поддерживаемыми настольными ОС проблем не возникает, то в Android даже самая свежая версия ОС содержит устаревшие данные. Для того чтобы в этом убедиться устанавливаем TimeZone Fixer и наблюдаем неприглядную картину.

Автор программы TimeZone Fixer предупреждает нас, что обновление файлов данных о часовых поясах может полностью «сломать» устройство и даже даёт рекомендации о том как обезопасить себя от дополнительных проблем, хоть случаи проблем единичные и очень специфичные — это действительно хорошая забота о простых пользователях.

Только поэтому я и внёс этот кусочек в статью, он хоть и не имеет непосредственного отношения к проблеме, но это действительно хороший пример заботы о пользователях. В то же время предупреждение насчёт версий 4.3+ вызвано лишь малым количеством отзывов о программе для устройств с новыми версиями ОС, поэтому, пожалуйста, после использования обязательно напишите о́тзыв об этом приложении.

После обновления данных о часовых поясах программа предло́жит перезагрузится, однако, я рекомендую перезагрузить устройство самостоятельно через системное меню поскольку программа осуществляет перезагрузку фактически эквивалентную reset, что, пусть и с малой вероятностью, но может привести к проблемам и потери данных.

С удовольствием отвечу на любые вопросы или внесу дополнения, которые сообщество посчитает необходимыми, однако, хочется избежать перегруженности статьи дополнительной информацией, дабы придерживаться формата компактного руководства по решению конкретной проблемы.

UPD: Эта инструкция полностью решает проблему часовых поясов только для версий младше 4.4. С версии 4.4 нужен дополнительный патчинг, пока вопрос находится на стадии исследования возможностей для создания юзер-френдли решения.

Синхронизация времени по сети андроид

Знание точного времени очень важно в современном мире, в котором все может поменяться буквально за считанные минуты. А для решения некоторых задач могут отводиться и вовсе несколько секунд. К счастью, определение точного времени в любой точке земного шара — несложная задача. Достаточно лишь иметь под рукой любое устройство с выходом в интернет. Рассмотрим, как определить точное время на смартфонах и планшетах, работающих под управлением операционной системы Android.

О синхронизации времени

Существуют различные способы определения точного времени. Для обычных людей наиболее удобным и простым способом является использование серверов синхронизации времени (NTP-сервер). Большинство операционных систем, устанавливающихся на компьютеры и мобильные устройства, имеют встроенную функцию для работы с такими NTP-серверами. Алгоритм синхронизации внутренних часов устройства со временем на удаленном сервере достаточно прост:

  • Пользовательское устройство посылает запрос на сервер синхронизации запрос, для чего используется специальный сетевой протокол — NTP (Network Time Protocol).
  • В ответ на запрос сервер формирует NTP-пакет с нужными данными и отправляет его обратно на пользовательское устройство.
  • Встроенная функция синхронизации обрабатывает пакет и настраивает внутренние часы устройства, используя данные из NTP-пакета.
  • Высокая точность синхронизации (вплоть до одной сотой секунды, т.е. 10 миллисекунд) достигается благодаря тому, что функция установки времени учитывает задержку между и отправкой запроса и получение от сервера NTP-пакета.

Сам же NTP-сервер определяет точное время по реально (физически) существующему эталону времени. Это целый комплекс оборудования, в задачу которого входит отчет времени. В мире существует несколько эталонов времени, расположенных в технологически развитых странах, включая Россию. Атомные часы имеются в распоряжении «Всероссийского научно-исследовательского института физико-технических и радиотехнических измерений» (ВНИИФТРИ).

Синхронизация времени с TimeServer на Android

В операционных системах Android также имеется встроенная функция синхронизация времени по сети. Однако пользователи не могут ее настраивать. Т.е. система сверяет время с NTP-сервером, который, по сути, неизвестен владельцу Андроид-устройства. Также остается секретом и то, насколько точно работает базовая функция синхронизации часов в Android.

Для возможности синхронизации времени на смартфонах и планшетах под управлением Андроид существует только один выход — использование специальных приложений. Но и здесь есть свои нюансы. ОС Android запрещает сторонним приложениям изменять настройки даты и времени, что сделано в целях безопасности. Для полноценной работы приложений синхронизации времени требуется root-права. Без root-прав такие программы не могут изменять системные настройки в автоматическом режиме, однако определять точное время они все же в состоянии. В этом случае пользователю придется время от времени устанавливать время на своем Android-устройстве вручную.

О том, что часы в мобильном отстают узнаешь, как правило, когда куда-то опоздал, примеру, на поезд. В XXI веке неприемлемо когда ваши часы спешат или отстают больше чем на минуту.

И если к наручным часам претензий нет, то смартфоны просто обязаны показывать точное время. Но как показывает практика — это не всегда так. Часы на телефонах такие же «брехучие» как и старые ходики у бабушки в деревне.

Читать еще:  Регулировка выходного напряжения электронного трансформатора

Чем определяется точность электронных часов

В первую очередь точностью настройки и стабильностью кварцевого генератора (резонатора). Точность и стабильность частоты последнего как правило составляет 10 -6 . В идеале при таком значении часы убегают чуть более 30 секунд в год.

На практике стабильность немного хуже, так как на частоту резонатора влияют параметры окружающей среды (температура, давление) и напряжение питания генератора. Так же в состав генератора входят и другие элементы, к примеру конденсаторы, параметры которых сильнее зависят от внешних воздействий. В результате часы могут убегать до 30 секунд в месяц.

Повышаем точность часов

В профессиональных устройствах, например в приемо-передающей аппаратуре спутникового телевидения, стабильность генераторов намного выше и может достигать значений 10 -12 .

Поэтому напрашивается сам собой способ взять за эталон частоту несущей внешнего источника сигнала. И использовать ее как опорную для нашего генератора. Возможны два пути: аппаратный и программный.

В первом случае частота генератора часов подстраивается под частоту несущей передающей вышки GSM. Во втором случае базовая вышка GSM передает сигналы точного времени и операционная система подстраивает часы.

Но как показывает отечественная действительность, на сотовых операторов надежды нет. Я несколько раз попадал в ситуацию, когда время на часах перескакивало на несколько часов. После чего пришлось отключить опцию использования данных предоставляемых сетью.

Серверы точного времени

Так как смартфон это компьютер с доступом в интернет, то проще всего синхронизировать часы с эталонными серверами точного времени. В стандартных прошивках этой возможности нет. Но проблема решается установкой допольнительного ПО. Программ таких несколько, и мне приглянулась одна — ClockSync от «отечественного производителя» :-).

ClockSync синхронизирует системное время Android устройства через Интернет по протоколу NTP с серверами точного времени. Программа полезна если оператор сотовой связи не поддерживает NITZ (автоматическую синхронизацию времени) или посылает неверные значения, а также в случае, если часы телефона сильно убегают вперед или отстают.

Работает на планшетах. Актуально если нужно точное время. Тем более на устройствах без GSM модуля.

Особенности программы ClockSync

Автоматическая синхронизация работает только на телефонах с ROOT.
Если root-прав нет, то проверка времени проводится автоматически и вы получите уведомление если часы сильно убежали. А синхронизировать часы придется «руками».

Предположим, вы уже давно используете Android, а потому может показаться, что он прекрасно справляется с задачами синхронизации времени – будильники срабатывают вовремя, каких-то явных отклонений времени не наблюдается и т. д. Однако уверены ли вы полностью в том, откуда Android на самом деле получает данные о точном времени и часовых поясах? Если у вас есть хоть какие-то сомнения о том, как это работает — добро пожаловать под кат.

В Android существует две проблемы со временем: это его непредсказуемая синхронизация и необходимость в актуализации данных о часовых поясах даже в самой свежей версии ОС.

Предыстория: Android является мобильной ОС, базирующейся на ядре Linux, он спокойно подключается к интернету и, конечно же, можно предположить, что синхронизация времени осуществляется с помощью NTP, однако, это не так. Исторически сложилось, что Android был предназначен для использования исключительно в мобильных телефонах (вспомните версию 1.6). При этом только к 3 мажорной версии он обзавёлся интерфейсом для планшетов и начали́сь другие подвижки к унификации интерфейса и начинки ОС. Однако даже версии 4.4 и Android L получают сигналы точного времени теми же методами, что их получала Nokia 3310 и другие, более ранние GSM/3GPP телефоны, т. е. от вышек сотовой связи при регистрации в сети (при подключении к вышке). При этом планшеты или другие устройства без модуля связи, в принципе не имеют возможности синхронизировать время автоматически.

К великому сожалению, чтобы научить Android синхронизировать время полностью автоматически с помощью NTP нам понадобиться root доступ ибо API для точной установки времени в Android ныне отсутствует.

Приступим. Первое, что необходимо сделать, это выключить синхронизацию времени с мобильной сетью. При этом установку часового пояса я рекомендую оставить в автоматическом режиме, а отключать её стоит, только если есть гарантия, что устройство будет работать в стационарном режиме.

Далее, необходимо установить приложение ClockSync, которое и будет выступать для нас альтернативой демону синхронизации времени с помощью NTP.

На скриншотах видно, что разница с точным временем оказалась достаточно маленькой, однако, бывают разные ситуации, у некоторых время на устройстве может даже плавать туда-сюда поскольку оператор не удосужился навести порядок у себя на БС.

Убедившись, что всё работает, настроим автоматическую синхронизацию в программе ClockSync. Для повышения точности я рекомендую включить опции «Режим высокой точности» и «Только через WI-FI». Если с первой опцией всё понятно из описания в программе (см. скриншот ниже), то вторую опцию я рекомендую включить в первую очередь не из соображений экономии мобильного трафика, а из-за того, что мобильный интернет не способен гарантировать хоть сколько-нибудь стабильные задержки.

Помимо этого я рекомендую включить опцию «При включении», чтобы лишний раз не выводить устройство из глубокого сна и тем самым сэкономить энергию.

В связи с масштабными изменениями часовых поясов в РФ осенью этого года необходимо уже сейчас задуматься об актуализации информации о них на всех устройствах и если с поддерживаемыми настольными ОС проблем не возникает, то в Android даже самая свежая версия ОС содержит устаревшие данные. Для того чтобы в этом убедиться устанавливаем TimeZone Fixer и наблюдаем неприглядную картину.

Автор программы TimeZone Fixer предупреждает нас, что обновление файлов данных о часовых поясах может полностью «сломать» устройство и даже даёт рекомендации о том как обезопасить себя от дополнительных проблем, хоть случаи проблем единичные и очень специфичные — это действительно хорошая забота о простых пользователях.

Только поэтому я и внёс этот кусочек в статью, он хоть и не имеет непосредственного отношения к проблеме, но это действительно хороший пример заботы о пользователях. В то же время предупреждение насчёт версий 4.3+ вызвано лишь малым количеством отзывов о программе для устройств с новыми версиями ОС, поэтому, пожалуйста, после использования обязательно напишите о́тзыв об этом приложении.

После обновления данных о часовых поясах программа предло́жит перезагрузится, однако, я рекомендую перезагрузить устройство самостоятельно через системное меню поскольку программа осуществляет перезагрузку фактически эквивалентную reset, что, пусть и с малой вероятностью, но может привести к проблемам и потери данных.

С удовольствием отвечу на любые вопросы или внесу дополнения, которые сообщество посчитает необходимыми, однако, хочется избежать перегруженности статьи дополнительной информацией, дабы придерживаться формата компактного руководства по решению конкретной проблемы.

Читать еще:  Как отрегулировать скорость работы вентилятора

UPD: Эта инструкция полностью решает проблему часовых поясов только для версий младше 4.4. С версии 4.4 нужен дополнительный патчинг, пока вопрос находится на стадии исследования возможностей для создания юзер-френдли решения.

Синхронизация времени через интернет андроид

Знание точного времени очень важно в современном мире, в котором все может поменяться буквально за считанные минуты. А для решения некоторых задач могут отводиться и вовсе несколько секунд. К счастью, определение точного времени в любой точке земного шара — несложная задача. Достаточно лишь иметь под рукой любое устройство с выходом в интернет. Рассмотрим, как определить точное время на смартфонах и планшетах, работающих под управлением операционной системы Android.

О синхронизации времени

Существуют различные способы определения точного времени. Для обычных людей наиболее удобным и простым способом является использование серверов синхронизации времени (NTP-сервер). Большинство операционных систем, устанавливающихся на компьютеры и мобильные устройства, имеют встроенную функцию для работы с такими NTP-серверами. Алгоритм синхронизации внутренних часов устройства со временем на удаленном сервере достаточно прост:

  • Пользовательское устройство посылает запрос на сервер синхронизации запрос, для чего используется специальный сетевой протокол — NTP (Network Time Protocol).
  • В ответ на запрос сервер формирует NTP-пакет с нужными данными и отправляет его обратно на пользовательское устройство.
  • Встроенная функция синхронизации обрабатывает пакет и настраивает внутренние часы устройства, используя данные из NTP-пакета.
  • Высокая точность синхронизации (вплоть до одной сотой секунды, т.е. 10 миллисекунд) достигается благодаря тому, что функция установки времени учитывает задержку между и отправкой запроса и получение от сервера NTP-пакета.

Сам же NTP-сервер определяет точное время по реально (физически) существующему эталону времени. Это целый комплекс оборудования, в задачу которого входит отчет времени. В мире существует несколько эталонов времени, расположенных в технологически развитых странах, включая Россию. Атомные часы имеются в распоряжении «Всероссийского научно-исследовательского института физико-технических и радиотехнических измерений» (ВНИИФТРИ).

Синхронизация времени с TimeServer на Android

В операционных системах Android также имеется встроенная функция синхронизация времени по сети. Однако пользователи не могут ее настраивать. Т.е. система сверяет время с NTP-сервером, который, по сути, неизвестен владельцу Андроид-устройства. Также остается секретом и то, насколько точно работает базовая функция синхронизации часов в Android.

Для возможности синхронизации времени на смартфонах и планшетах под управлением Андроид существует только один выход — использование специальных приложений. Но и здесь есть свои нюансы. ОС Android запрещает сторонним приложениям изменять настройки даты и времени, что сделано в целях безопасности. Для полноценной работы приложений синхронизации времени требуется root-права. Без root-прав такие программы не могут изменять системные настройки в автоматическом режиме, однако определять точное время они все же в состоянии. В этом случае пользователю придется время от времени устанавливать время на своем Android-устройстве вручную.

Точное время – залог успеха, и чем сильнее отстают или спешат часы относительно эталонного времени, тем выше вероятность упустить момент и пропустить важную встречу, отстать от поезда или не успеть на рейс самолета. Электронные часы имеют возможность “врать”, а соответственно могут подставить вас в самый неподходящий момент. Как синхронизировать время на Андроиде и быть уверенными в том, что часы работают исправно?

В первую очередь необходимо зайти в раздел “Дата и время” настроек системы и активировать пункты “Дата и время сети”, а также “Часовой пояс сети”.

Это может решить вопрос с точностью, однако не всегда сотовые вышки передают верную информацию о времени (редко, но случается). В этом случае вам на помощь придет приложение ClockSync, которое позволит синхронизировать часы на Андроиде с мировым временем.

Если на устройстве есть root-доступ, можно настроить автоматическую синхронизацию времени.

А в случае отсутствия прав администратора программа вышлет уведомление о рассинхронизации и нужно будет обновить время вручную.

Установить ClockSync из GooglePlay: установить

О том, что часы в мобильном отстают узнаешь, как правило, когда куда-то опоздал, примеру, на поезд. В XXI веке неприемлемо когда ваши часы спешат или отстают больше чем на минуту.

И если к наручным часам претензий нет, то смартфоны просто обязаны показывать точное время. Но как показывает практика — это не всегда так. Часы на телефонах такие же «брехучие» как и старые ходики у бабушки в деревне.

Чем определяется точность электронных часов

В первую очередь точностью настройки и стабильностью кварцевого генератора (резонатора). Точность и стабильность частоты последнего как правило составляет 10 -6 . В идеале при таком значении часы убегают чуть более 30 секунд в год.

На практике стабильность немного хуже, так как на частоту резонатора влияют параметры окружающей среды (температура, давление) и напряжение питания генератора. Так же в состав генератора входят и другие элементы, к примеру конденсаторы, параметры которых сильнее зависят от внешних воздействий. В результате часы могут убегать до 30 секунд в месяц.

Повышаем точность часов

В профессиональных устройствах, например в приемо-передающей аппаратуре спутникового телевидения, стабильность генераторов намного выше и может достигать значений 10 -12 .

Поэтому напрашивается сам собой способ взять за эталон частоту несущей внешнего источника сигнала. И использовать ее как опорную для нашего генератора. Возможны два пути: аппаратный и программный.

В первом случае частота генератора часов подстраивается под частоту несущей передающей вышки GSM. Во втором случае базовая вышка GSM передает сигналы точного времени и операционная система подстраивает часы.

Но как показывает отечественная действительность, на сотовых операторов надежды нет. Я несколько раз попадал в ситуацию, когда время на часах перескакивало на несколько часов. После чего пришлось отключить опцию использования данных предоставляемых сетью.

Серверы точного времени

Так как смартфон это компьютер с доступом в интернет, то проще всего синхронизировать часы с эталонными серверами точного времени. В стандартных прошивках этой возможности нет. Но проблема решается установкой допольнительного ПО. Программ таких несколько, и мне приглянулась одна — ClockSync от «отечественного производителя» :-).

ClockSync синхронизирует системное время Android устройства через Интернет по протоколу NTP с серверами точного времени. Программа полезна если оператор сотовой связи не поддерживает NITZ (автоматическую синхронизацию времени) или посылает неверные значения, а также в случае, если часы телефона сильно убегают вперед или отстают.

Работает на планшетах. Актуально если нужно точное время. Тем более на устройствах без GSM модуля.

Особенности программы ClockSync

Автоматическая синхронизация работает только на телефонах с ROOT.
Если root-прав нет, то проверка времени проводится автоматически и вы получите уведомление если часы сильно убежали. А синхронизировать часы придется «руками».

голоса
Рейтинг статьи
Ссылка на основную публикацию
ВсеИнструменты
Adblock
detector