Virbactd.ru

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

Точное время в твоем мобильном

Точное время в твоем мобильном

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Читайте так же:
Как регулировать давление воды в гидрофоре

Синхронизировать 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 года и не имеет високосных секунд, поэтому оно отличается от более стандартных представлений времени. Вот соответствующее описание из Википедии: В то время как большинство часов.

Читайте так же:
Как регулировать клапана ом 616

Вы можете получить разницу во времени в миллисекундах от 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 битам на моем телефоне. Все в коде.

Читайте так же:
Chainsaw 5200 как отрегулировать карбюратор

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

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

Приложение для синхронизации времени на Андроид

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

Поэтому, в сегодняшней статье мы будем учиться приходить вовремя на важные мероприятия, а поможет нам в этом приложение ClockSync.

Приложение для синхронизации времени на Android: Видео

Установка приложения ClockSync

Разработчики позиционируют свой продукт как программу совершенно бесплатную, но требующую для полноценной работы ROOT-доступ. ClockSync доступна для загрузки по адресу .

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

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

Синхронизация устройств на системе Android с ПК: Видео

Настройка приложения ClockSync

Итак, давайте запустим программу и проверим отклонение текущего времени на мобильном устройстве от времени на серверах синхронизации.

Как видите, отклонение есть, пусть и небольшое. Разница во времени указана в строке “Смещение”. Следовательно, часы гаджета надо немного подстроить. Но перед этим предлагаем вам ознакомиться с теми возможностями, которые предлагают нам разработчики ClockSync. С помощью контекстного меню открываем настройки приложения.

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

Разработчики учли предыдущие пожелания интернет-сообщества и снабдили ClockSync возможностями записи выполненных операций – вы в любой момент можете просмотреть журнал работы программы в пункте “История и статистика”.

Двигаемся далее. Опция “Определять часовой пояс”. Это может пригодиться тем из вас, кто много путешествует. Зачем тратить личное время на корректировку часов при перелете из одной страны в другую? Пусть этим занимается “сообразительный” гаджет!

Как мы отмечали уже в начале статьи, ClockSync настоятельно просит у пользователя root-доступ, но приложение вполне неплохо справляется со своими обязанностями и без него. Достаточно лишь указать необходимый режим работы в настройках программы.

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

Читайте так же:
Регулировка датчик уровня топлива 2109

На этом краткий обзор настроек ClockSync мы и завершим. Пришло время синхронизировать наши мобильные часы. Переходим на основной экран программы и видим, что смещение по времени никуда не делось. Открываем вспомогательное меню и выбираем пункт “Синхронизировать”.

В виду того, что наше устройство “рутировано”, приложение запросит разрешение на получение неограниченного доступа к системным функциям. Разрешаем.

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

На этом все. Смеем надеяться, что мы сумели убедить вас, что для операционной системы Android синхронизация времени – это процесс несложный и очень необходимый.

Проблемы времени и часовых поясов в 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 нужен дополнительный патчинг, пока вопрос находится на стадии исследования возможностей для создания юзер-френдли решения.

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