Versions Compared

Key

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

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

Сообщения передают события, происходящие в системе, на сервер. Сервер подтверждает получение сообщений. В настоящее время подтверждение по LoRa не реализовано, сообщение считается отправленным, если устройство joinedполучен confirm на uplink с данными.

При отсутствии подтверждения события копятся в буфере и попытки отправки повторяются периодически. События из буфера отправляются, начиная со старейшего. Если буфер переполняется, новые события вытесняют старые. События имеют циклический порядковый номер (параметр SEQ uint16_t), что позволяет обнаруживать потерю событий.

...

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

  • CAS360, CAS1/2: через LoRa инфраструктуру
  • CAS360, CAS1/2: по IP-сети (WiFi, LAN) на заданный в конфигурации CoAP-сервер.
  • CAS360: по IP-сети (LTE) на заданные в конфигурации HTTPS-сервер и его контекст.
  • Upload
  •  Upload бинарных данных
  • с типом
  • .
    Метод POST, ресурс <в настройках CAS360>, Content-Type: application/cbor
    Сообщение в HTTP body 
    Подтверждение получения – HTTP response 2xx

Отправка через

...

LoRa

На LoRa порт 11

Заголовок пакета такой же, как для сенсоров, далее сообщение (вместо блока сенсоров), см. Описание форматов пакетов

Подтверждение получения – не реализовано, подтверждением считается confirmation пакета с базы LoRa

Отправка через IP

По IP-сети (LTE, WiFi, LAN) на заданный в конфигурации CoAP-сервер.

Метод POST, ресурс /msg

Пример запроса: POST /msg

Content-Format:application/cbor

Сообщение в payload

Подтверждение получения – CoAP Response 2.xx

Структура сообщения

Структура сообщения – последовательность CBOR-элементов (CBOR-stream, rfc7049 section 3.1):

...

Могут приходить сообщения без EVENT, это keepalive – используются для проверки связи при отсутствии полезных данных.

События могут приходить повторно, если устройство не получило подтверждение получения из-за плохой связи.

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

Элемент VERSION

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

...

EVENT

Value

Description

ZoneRed0Вход в Красную зону
ZoneYellow1Вход в Желтую зону
ZoneGreen2Вход в Зеленую зону
ZoneOut3Выход (пропадание метки из эфира)
ZonePark4Парковка метки (прекращение обнаружения)
ZoneUndef5Зона не определилась

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

...