Модуль занимается управлением и настройкой gnss приемников. Приемники могут быть внутренние или внешние. Внутренний gnss приемник всегда имеет индекс 0 и расположен внутри устройства. Наличие внутреннего приемника определяется конфигурацией метки.
Внешний gnss приемник подключается через внешний RS232 интерфейс, если он доступен на конкретном устройстве (только для транспортной метки TG8V). На данный момент поддерживаются внешние приемники с чипами ublox G7020 (индекс 1) и G8030 (индекс 2) или совместимыми. Конкретный тип приемника определяетсяавтоматически на основе версии протокола.
Одновременно может быть доступен внутренний и один внешний приемник. Приемники могут работать параллельно, но только с одного данные помещаются в структуру сенсоров для отправки потребителю. Настраивается в PUT gnss/gcomm#datasrc=(0/1 - internal/external ).
Работа с внешним приемником поддерживает “горячее“ подключение приемника к интерфейсу RS232. Проверка наличия внешнего приемника производится с интервалом 30с. При обнаружении приемника, он будет автоматически сконфигурирован в соответствии с настройками в парсетах. Если внешний приемник будет отключен во время работы, то информация в сенсорах об отсутствии связи появится не ранее чем через 120с. Для активации интерфейса RS232 в режиме работы с gnss нужно выполнить команду PUT esi/rs232#mode=ExtGnss, чтобы деактивировать PUT esi/rs232#mode=Off.
Общее текущее состояние модуля можно увидеть по команде GET cli state gnss::
Конфигурация модуля содержит следующие парсеты:
gnss/gcomm # общие настройки модуля gnss/gmode <dev> # настройки режима работы приемника, где dev - индекс приемника gnss/gpmn <dev> # специфичные настройки для активного режима (расширенные) gnss/gpme <dev> # специфичные настройки для режима сна (расширенный) gnss/gpmsn <dev> # специфичные настройки для активного режима (упрощенные) gnss/gpmse <dev> # специфичные настройки для режима сна (упрощенные) gnss/ad <dev> # настройки ограничений по точности
Так же доступны отладочные cli команды:
gnss/gset <dev> # Принудительная переконфигурация приемника gnss/gstat <dev> # печать статистики gnss/gpoll <dev> # запрос данных из приемника gnss/gcmd <dev> # выполнение команд приемника
Сноски, применяемые в документе.
'*' - режим по умолчанию
'!!' - только для внутреннего приемника
'??' - настройки использующиеся в тестовых целях, либо для тонкой настройки. Модифицировать не рекомендуется.
/gnss/gcomm - общие настройки модуля
[/gnss/gcomm] gnss common: bulklora= on datasrc=internal (Set 0*)
bulklora - активация режима передачи истории координат в упакованном виде. По умолчанию включено.
datasrc - выбор источника координат для передачи. По умолчанию - внутренний приемник gnss.
/gnss/gmode - специфичные настройки для активного режима (расширенные)
gmode set 0
[/gnss/gmode] modes:
* Set 0: sleep_s=600 pmn_set=1 pmsn_set=-1 ad_set=0 lora_guard_s=120 early_fix=off meas_rate=1000 nav_rate=1
Set 1: sleep_s=600 pmn_set=0 pmsn_set=-1 ad_set=0 lora_guard_s=120 early_fix=off meas_rate=1000 nav_rate=1
Модифицировать не рекомендуется. Описание можно найти в datasheet по приемникам ublox.
!! sleep_s - время перехода модуля в режим сна с момента начала неподвижности по акселерометру, сек > 0. Если зафиксировано событие подвижности метки, то этот таймер запускается заново.
!! lora_guard_s - защитный интервал, в течении которого после запуска gnss запрещена работа модуля LoRa. Это полезно для ускорения первоначального получения координат по GNSS, так как LoRa и GNSS используют одну физическую антенну, а LoRa имеет приоритет над GNSS при выборе антенны. Данный параметр не учитывается если параметр lorasync в соседнем парсете включен.
ad_set - указатель на номер набора настроек (set) парсета gnss/ad, который используется в данном режиме.
pmn_set - указатель на set парсета gnss/gpmn, который используется в данном режиме. Если -1, то используется упрощенные настройки, указанные в pmsn_set.
pmsn_set - указатель на set парсета gnss/gpmsn, который используется в данном режиме. Если -1, то используется расшиненные настройки, указанные в pmn_set.
early_fix - разрешает передачу любых координат, полученных приемником, независимо от выбранных ограничений по точности парсета gnss/ad.
?? meas_rate - смотри datasheet
?? nav_rate - смотри datasheet
/gnss/gpmn - Расширенные настройки gnss приемника для активного режима
gpmn set
[/gnss/gpmn] normal:
Set 0: lorasync= on rxmlpm= on mode=onoff startDurMax_s=120 updatePer_s=30 searchPer_s=180 acqTimeMin_s=60 onTime_s=2 updateRTC=off updateEPH=off
* Set 1: lorasync=off rxmlpm=off mode=cycle startDurMax_s=0 updatePer_s=5 searchPer_s=10 acqTimeMin_s=0 onTime_s=0 updateRTC= on updateEPH= on
!! lorasync - включает синхронизацию работы gnss и lora модулей такким образом, что модуль lora не занимает антенну, пока gnss активен. В этом случае параметр lora_guard_s не учитывается.
?? rxmlpm - смотри datasheet.
?? mode - смотри datasheet.
?? startDurMax_s- смотри datasheet.
?? updatePer_s - смотри datasheet.
?? searchPer_s - смотри datasheet.
?? acqTimeMin_s - смотри datasheet.
?? onTime_s - смотри datasheet.
?? updateRTC - смотри datasheet.
?? updateEPH - смотри datasheet.
/gnss/gpme - Расширенные настройки gnss приемника для режима работы во сне
gpme set [/gnss/gpme] extended: * Set 0: lorasync= on rxmlpm= on mode=onoff startDurMax_s=240 updatePer_s=300 searchPer_s=900 acqTimeMin_s=30 onTime_s=0 updateRTC= on updateEPH= on
Параметры аналогичны /gnss/gpmn. Парсет активируется когда метка находится без движения sleep_s секунд.
/gnss/gpmsn - Упрощенные настройки gnss приемника для активного режима работы
gpmsn set
[/gnss/gpmsn] normal (simple):
Set 0: lorasync= on rxmlpm= on pwr=interval period_s=0 onTime_s=0
* Set 1: lorasync=off rxmlpm=off pwr=fullpower period_s=0 onTime_s=0
!! lorasync - аналогично параметру из парсета /gnss/gpmn.
?? rxmlpm - смотри datasheet.
?? pwr - смотри datasheet.
?? period_s - смотри datasheet.
?? onTime_s - смотри datasheet.
/gnss/gpmse - Упрощенные настройки gnss приемника для режима работы во сне
gpmse set [/gnss/gpmse] extended (simple): * Set 0: lorasync= on rxmlpm= on pwr=interval period_s=300 onTime_s=0
Параметры аналогичны /gnss/gpmsn. Парсет активируется когда метка находится без движения sleep_s секунд.
/gnss/ad - Парсет настроек точности позиционирования на базе которых формируется событие fixOk gnss приемника. По событию fixOk данные о координатах и точности фиксируются и отправляются через доступный транспорт (LoRa, UWB)
gad set
[/gnss/gad] acc/dop pars:
* Set 0: pDop=100 pAcc=400 tDop=100 tAcc=1000
Set 1: pDop=25 pAcc=100 tDop=25 tAcc=350
По умолчанию используется set 0, который является более “расслабленным“ по точности по отношению к set 1.
?? pDop - смотри datasheet.
?? pAcc - смотри datasheet.
?? tDop - смотри datasheet.
?? tAcc - смотри datasheet.
Команда принудительной переконфигурации чипа gnss в соответствии с выставленными настройками.
gnss/gset GNSS setup
Команда для печати различной статистики по работе gnss модуля.
gstat 0 help [/gnss/gstat] GNSS statuses: hw1|hw2|clk|pvt|fpvt|sat|st|dop
?? hw1 - смотри datasheet.
?? hw2 - смотри datasheet.
?? clk - смотри datasheet.
pvt - информация сообщения ublox: UBX-NAV-PVT
age:0 (run)itow:0000342000 2015.10.18 00:05:42 valid:xf0( ) fixtype:nofix numSV:0 f( PSMnoAct ) lon:0.0000000dg lat:0.0000000dg h:0.000m hMSL:-17.000m hAcc:4294967.295m vAcc:3750006.272m tAcc:4294967295ns pDop:99.99
fpvt - информация последнего сообщения ublox: UBX-NAV-PVT с признаком fixOk
age:20397 (fixed)itow:0000000000 0000.00.00 00:00:00 valid:x00( ) fixtype:nofix numSV:0 f( PSMnoAct ) lon:0.0000000dg lat:0.0000000dg h:0.000m hMSL:0.000m hAcc:0.000m vAcc:0.000m tAcc:0ns pDop:0.00
sat - выжимка из сообщения ublox: UBX-NAV-SAT
itow:0000012000 svs:0 rxed:0 cno:0(99|0) used:0 : itow - GPS time, svs - количество известных спутников, rxed - количество принятых спутников, cno - средний энергетический показатель по принятым спутникам (минимальное|максимальное), used - количество спутников, используемых в данный момент для навигации.
?? st - смотри datasheet.
?? dop - смотри datasheet.
?? gcmd - Выполнение команд приемника
gcmd 0 help [/gnss/gcmd] GNSS cmd message: crst|bup|bclr|cold|sleep|ncfg
?? gpoll - запрос данных из приемника
gpoll 0 help [/gnss/gpoll] GNSS poll message: sat|orb|hw1|hw2|gnss|clk|st|ver|dop|pvt
?? sat - запрос сообщения UBX_NAV_SAT
?? orb - запрос сообщения UBX_NAV_ORB
?? hw1 - запрос сообщения UBX_MON_HW
?? hw2 - запрос сообщения UBX_MON_HW2
?? clk - запрос сообщения UBX_NAV_CLOCK
?? st - запрос сообщения UBX_NAV_STATUS
?? dop - запрос сообщения UBX_NAV_DOP
?? pvt - запрос сообщения UBX_NAV_PVT