Versions Compared

Key

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

ПРЕДВАРИТЕЛЬНО

Сообщения передают события, происходящие в системе. События передаются по мере возникновения, при невозможности отправки копятся в ограниченном FIFO буфере. Размер буфера зависит от версии программы (и транспорта).

Сообщение может передаваться:

  • по IP-сети (LTE) на заданные в конфигурации HTTPS-сервер и его контекст
  • через LoRa инфраструктуру на заданный порт

Структура сообщения – последовательность CBOR-элементов:

VERSION(int=1), HEADER, EVENT, EVENT, ...

VERSION иденифицирует дальнейшую структуру, должен быть integer и равен 1. Иначе формат сообщения считать неизвестным.

HEADER идентифицирует отправляющую систему CAS360 и несет общие параметры, EVENT несет информацию об одном событии.

Каждый HEADER и EVENT – CBOR map, то есть, набор полей key:value (key это int).

Идентификаторы полей (key) выбираются в диапазоне -24..23, чтобы занимали 1 байт в CBOR.

Элемент VERSION

Тип integer, значение определяет дальнейшее содержимое. Для нижеописанной структуры значение =1

Поля HEADER

NameKeyValue TypeDescription
CAS_ID1uint32

Unique (hopefully) identifier of sending CAS360 system, generated automatically (linked to tablet PC hardware) 

Looks like arbitrary number (advised is HEX representation to user – to match CAS360 software UI and logs)





Поля EVENT

NameKeyValue TypeDescription
SEQ1uint16Циклический сквозной порядковый номер события, для обнаружения потерь
TIME2uint32Время события, секунды с UNIX epoch.
KIND3intРод события: 1-CAS, ...
EVENT4intСобытие



дополнительные поля, специфичные для каждого события EVENT

Дополнительные поля событий KIND=1 (CAS)

События CAS: (предварительно)

Name

Value

Description

ZoneRed1Вход в Красную зону
ZoneYellow2Вход в Желтую зону
ZoneGreen3Вход в Зеленую зону
ZoneOut4Выход (пропадание метки из эфира)
ZonePark5Парковка метки (прекращение обнаружения)

Вход в какую-то зону предполагает выход из предыдущей.

Дополнительные поля событий CAS. Множественные Key это альтернативы, придет какой-то один.

Name

Key

Value Type

Description


EUI

SERIAL

CAS_ID


1

2

3


uint64

uint32

uint32

Идентификатор метки. 

(uint64)=EUI64 (для меток не-ULUN)

серийный номер (для меток ULUN, пересчитывать в EUI64)

CAS_ID для систем CAS360 (при сближении с другой системой CAS360)

Основным идентификатором меток (по IEEE 802.12.4) является EUI64. В метках ULUN EUI64 однозначно связан с серийным номером.

CAS_ID не связан с серийными номерами меток и анкеров; используется, потому что система CAS360 в целом не имеет одного меточного серийного номера.

DIST_CM4intДистанция до метки, см
BEARER5int

Носитель метки:  0-Generic, 1-Person, 2-Vehicle, 3-Stationary

Опционально, при отсутствии =Generic

SECTOR_DEG

6

array uint16[2]

Сектор, градусы [ from to ] , отсчет вправо от направления вперед транспортного средства. 0..359 градусов (на картинке по часовой стрелке от направления вверх)

Опционально, при отсутствии – не определен (полный круг)