|
|
  |
Снова про время, как узнать локальный часовой пояс |
|
|
|
May 11 2015, 13:39
|
Участник

Группа: Участник
Сообщений: 66
Регистрация: 15-01-05
Из: Москва
Пользователь №: 1 980

|
В системе есть GSM и GPS модули. Нужно получить дату-время и локальный часовой пояс(!).
Синхронизация через GSM (Quectel M95): Вариант 1. AT+CTZU=1 и AT+QNITZ=1 - не помогло, модуль возвращает ОК, а время не синхронизируется. Пробовал симки билайн и мегафон. Настраивал так: AT+QNITZ=? // включена синхронизация? Отвечает: да (1), включена AT+QNITZ=1 // если не была включена, включаю AT+CTZU=1 // синхронизирую время AT+CCLK? // читаю время - получаю время с момента старта модуля AT+QLTS // запрос последнего времени синхронизации - пусто. Единственный правильный ответ =)
Вариант 2. NTP сервер: возвращает UTC, но часовой пояс всегда "+00". Понятно, NTP сервер ничего не знает о твоем местоположении.
Синхронизация по времени GPS: в каждом втором сообщении есть время. В ZDA, согласно документации должны быть дата, время и часовой пояс (смещения dh, dmin относительно UTC). Но и здесь облом - у Quectel L70\76 в смещениях пусто, в документации на UBlox Max-M8 эти поля установлены в 0. Про другие GPS приемники еще не смотрел.
Понятно, что можно самостоятельно по координатам вычислить часовой пояс, но я надеялся хотя бы здесь не изобретать велосипед ))
У Telit в "Telit_MT_GNSS_Software_User_Guide_r2.pdf"
...описание полей ZDA... Local zone hour: Offset from UTC. Number of whole hours added to local time to obtain Greenwich Mean Time (GMT). The Local zone hour is negative for East longitudes. Range: -13 to 13 Null or always zero if not supported
Local zone minutes: Offset from UTC. Local zone minutes have the same sign as the Local zone hour. Range 00 to 59 Null or always zero if not supported
От чего зависит поддержка? От конкретных спутников, спутниковой системы или от модуля?
|
|
|
|
|
May 12 2015, 02:40
|
Группа: Участник
Сообщений: 7
Регистрация: 4-10-14
Пользователь №: 83 019

|
Отправить GSM модулем СМС самому себе, из СМСки выдернуть время.
Сообщение отредактировал gvPing - May 12 2015, 02:40
|
|
|
|
|
May 12 2015, 02:52
|
Частый гость
 
Группа: Участник
Сообщений: 125
Регистрация: 13-04-11
Из: Суровый Челябинск
Пользователь №: 64 337

|
Цитата(gvPing @ May 12 2015, 06:40)  Отправить GSM модулем СМС самому себе, из СМСки выдернуть время. Получите время СМС-центра, не факт что в вашем часовом поясе. Если вообще придет, а не будет висеть в СМС-центре.
|
|
|
|
|
May 12 2015, 06:52
|
Участник

Группа: Участник
Сообщений: 66
Регистрация: 15-01-05
Из: Москва
Пользователь №: 1 980

|
Цитата(RadikX @ May 12 2015, 05:15)  В GSM время синхронизируется не мгновенно (сразу после подачи команды), а тогда когда это принято у оператора. Частота обновления может меняться в зависимости от региона и составлять раз в десять минут, раз в час, раз в сутки и пр. Кроме того эта операция может не поддерживаться оператором. На МТС - раз в час, в 00 каждого часа.
Если включить режим синхронизации до регистрации в сети, то при регистрации время будет синхронизировано. Спасибо, попробую
|
|
|
|
|
Jun 2 2015, 06:31
|
Участник

Группа: Участник
Сообщений: 66
Регистрация: 15-01-05
Из: Москва
Пользователь №: 1 980

|
Попробовал: сразу после загрузки модуля включаю синхронизацию AT+QNITZ=1, однако ни после регистрации, ни по прошествии 9 часов время не синхронизировалось. Напишу в поддержку quectel
|
|
|
|
|
Jun 5 2015, 06:51
|
Участник

Группа: Участник
Сообщений: 48
Регистрация: 2-10-13
Пользователь №: 78 579

|
Я делал так (правда на симкомовских модулях, но тамкоманды вроде бы все из стандарта) AT+CLTS=1 //Требует брать время из сети. Вступает в силу только после перезапуска модуля!
А потом просто AT+CCLK?
Сообщение отредактировал RiseOfDeath - Jun 5 2015, 06:52
|
|
|
|
|
Jun 5 2015, 13:51
|
Участник

Группа: Участник
Сообщений: 20
Регистрация: 27-09-07
Пользователь №: 30 876

|
Проверил на SIM900R. Оператор Билайн. Выдал точное местное время. А вот пояс почему-то +08 (?). Вместо +02.
|
|
|
|
|
Jun 5 2015, 20:22
|

Частый гость
 
Группа: Участник
Сообщений: 166
Регистрация: 18-03-14
Из: Санкт-Петербург
Пользователь №: 80 977

|
Цитата(vit496 @ Jun 5 2015, 17:51)  Проверил на SIM900R. Оператор Билайн. Выдал точное местное время. А вот пояс почему-то +08 (?). Вместо +02. +08 потому, что значение в четвертях часа. На этот счет смотрите описание команды AT+CCLK. Цитата(RiseOfDeath @ Jun 5 2015, 10:51)  Вступает в силу только после перезапуска модуля! Не совсем так. Вступает данная настройка в силу в тот момент, когда Вы её подали. А вот время обновляется при регистрации в сети (конечно, если поддержано сетью). При этом не обязательно модуль перезапускать, можно только перерегистрировать в сети - сначала AT+CFUN=0, затем AT+CFUN=1.
--------------------
|
|
|
|
|
Jan 28 2016, 06:29
|
Местный
  
Группа: Участник
Сообщений: 234
Регистрация: 7-11-13
Пользователь №: 79 085

|
Цитата(Pavel☺ @ Jun 6 2015, 00:22)  А вот время обновляется при регистрации в сети (конечно, если поддержано сетью). При этом не обязательно модуль перезапускать, можно только перерегистрировать в сети - сначала AT+CFUN=0, затем AT+CFUN=1. Данный способ работает, если следующую команду послать не раньше и не сильно позже (3-5 секунд) определённого момента. После AT+CFUN=1 я жду сообщения SMS Ready.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|