ПРЕДВАРИТЕЛЬНО
Сообщения передают события, происходящие в системе, на сервер. Сервер подтверждает получение сообщений. В настоящее время подтверждение по LoRa не реализовано, сообщение считается отправленным, если устройство joinedполучен confirm на uplink с данными.
При отсутствии подтверждения события копятся в буфере и попытки отправки повторяются периодически. События из буфера отправляются, начиная со старейшего. Если буфер переполняется, новые события вытесняют старые. События имеют циклический порядковый номер (параметр SEQ uint16_t), что позволяет обнаруживать потерю событий.
...
Сообщение может передаваться:
- CAS360, CAS1/2: через LoRa инфраструктуру
- CAS360, CAS1/2: по IP-сети (WiFi, LAN) на заданный в конфигурации CoAP-сервер.
- C
AS360: по IP-сети (LTE) на заданные в конфигурации HTTPS-сервер и его контекст. Upload бинарных данных с типом .Метод POST, ресурс <в настройках CAS360>, Content-Type: application/cbor
Сообщение в HTTP body
Подтверждение получения – HTTP response 2xx CAS360: через LoRa инфраструктуру на заданный порт (сервер ожидает данные на порту 11 )
Upload
Сообщение в payload
Отправка через 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 – используются для проверки связи при отсутствии полезных данных.
События могут приходить повторно, если устройство не получило подтверждение получения из-за плохой связи.
...
EVENT | Value | Description |
|---|---|---|
| ZoneRed | 0 | Вход в Красную зону |
| ZoneYellow | 1 | Вход в Желтую зону |
| ZoneGreen | 2 | Вход в Зеленую зону |
| ZoneOut | 3 | Выход (пропадание метки из эфира) |
| ZonePark | 4 | Парковка метки (прекращение обнаружения) |
| ZoneUndef | 5 | Зона не определилась |
Дополнительные поля событий CAS. Множественные Key это альтернативы, придет какой-то один.
...