Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Модуль SENS обеспечивает передачу данных с сенсоров метки параллельно с позиционированием. Данные передаются малыми порциями в пакетах позиционирования UWB, в аплинках LoRa, в пакетах LTE.

Каждое устройство имеет свой набор сенсоров, определяемый конкретной версией встроенного ПО. В зависимости от конфигурации модуля SENS передаются только выбранные сенсоры. Если все сенсоры не влезают в радиопакет, то оставшиеся передаются в следующем радиопакете, и так по кругу. С версии 3.18.0 сенсор GNSS_BULK(-25) вкладывается в пакет специальным образом, см. ниже /sens/fill

Сенсоры передаются в виде код:значение. Коды сенсоров уникальны в рамках системы позиционирования (допустимы отрицательные коды). Значением сенсора может быть одно число, или массив чисел, или список вида идентификатор:значение ; здесь идентификатором могут быть номера каналов сенсора или индексы полей для сложных сенсоров. Типичное строковое представление блока сенсоров в радиопакете (в Списке меток CoBench, см. Список меток – Формат поля Sensors):

...

Здесь v1 обозначает версию набора кодов сенсоров SensorsIdSet. В настоящее время есть только версия 1.версии 1 и 2. Коды сенсоров в этих версиях одинаковые, отличается формат EvId (см. ниже)

Описание значений и поведения разных сенсоров см. Коды сенсоров ULUN

Существует два типа сенсоров – сенсор состояния и сенсор события. Для каждого кода сенсора известен его тип.

...

Такие сенсоры конфигурируются по умолчанию на автоматическую отправку: /sens <name>#Send=Auto. В такой конфигурации они передаются несколько раз (для надежности) после возникновения соответствующего события, затем передача сенсора прекращается до следующего события. Количество раз свое у каждого сенсора.

EvId передается в виде:

  • fw версии до 2.3.0 SensorsIdSet 1 – одно целое число PassTime
  • fw версии c 2.3.0 SensorsIdSet 2 – массив размера 2:  [ Seq, PassTime ]

Seq это последовательный номер данного события (циклический в диапазоне -24..23). Применяется для различения разных событий.

fw версии до 2.3.0 передает только SensorsIdSet 1

В fw версии c 2.3.0 есть имеет параметр для включения старого формата EvIdпереключения SensorsIdSet :  /node/ctl#EvIdOld ctl#SensVer =0,11.2 (по умолчанию 2)

Конфигурация модуля

/sens

Парсет-массив, задает режим отправки для каждого сенсора. Содержит записи для всех сенсоров, отдельно для каждого канала многоканальных сенсоров. Ключом для идентификации записи является имя сенсора.

Параметр

Значения

Описание

i

text string

Описание сенсора. Неизменяемый параметр (read only)

Send

Off,
Auto,
Normal,
Urgent

Режим отправки сенсора:

  • Off – не отправлять

  • Auto – отправлять по мере необходимости

  • Normal – отправлять постоянно

  • Urgent – отправлять постоянно с повышенным приоритетом

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

...

Метка отправляет сенсоры в блинках, но сенсоры анкера (в режимах анкера) можно получить только этим опросом.

Запрос

Ответ


GET /sens/poll

Code Block
v1{i -1:0 -10:-200002 -17:0 -2:0 -3:1 -6:43 -7:4939 -8:52233 -9:3}

Текущие значения всех сенсоров в устройстве

версия > 3.7.0 : В параметрах запроса (QueryOptions) можно указать список запрашиваемых сенсоров – имена или коды сенсоров:

Code Block
GET sens/poll chg uin -11
v2{i -2:0 -8:3944 -11:{4 1:0 2:25 3:1 4:1}}

Заполнение радиопакета

версия >= 3.18.0

/sens/fill

Параметры заполнения радиопакета сенсорами. Присутствует только в устройствах, поддерживающих сенсор GNSS_BULK(-25).

Параметр

Значения

Описание

PreBulk

uintФиксированное количество сенсоров в радиопакете перед сенсором GNSS_BULK(-25) (подробности ниже)

Все сенсоры укладываются в радиопакет один за другим по кругу; если не влезли, то оставшиеся в следующем радиопакете.

Однако, сенсор GNSS_BULK(-25) укладывается специальным образом. Сенсор GNSS_BULK содержит замеры GNSS от предыдущего до текущего радиопакета. Если замеров много, они прореживаются, чтобы влезть в радиопакет и по возможности равномерно распределиться по времени между радиопакетами. Поэтому этот сенсор может содержать много данных и занимать весь доступный объем пакета. Чтобы он, с одной стороны, не вытеснял постоянно другие сенсоры, и, с другой стороны, сам не укорачивался другими сенсорами, его положение в пакете фиксируется параметром /sens/fill#PreBulk :  сначала в пакет укладываются очередные  другие сенсоры в количестве PreBulk, затем укладывается сенсор GNSS_BULK, подстраиваясь под всё оставшееся место, затем, если осталось место, укладываются очередные другие сенсоры.

Таким образом, сенсор GNSS_BULK передается в радиопакетах приоритетно и относительно равномерно, а остальные сенсоры по мере возможности. Чтобы они совсем не пропадали, для них отводится фиксированное минимальное место в количестве PreBulk штук.