В системе есть 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
От чего зависит поддержка? От конкретных спутников, спутниковой системы или от модуля?
|