Skip to main content

Downlink — отправить данные multicast-группе

По описанию v0.17 команда ставит кадр с данными в очередь на отправку multicast-группе. В текущей версии ONS она этого не делает: сервер проверяет запрос, но кадр в очередь не ставит и на правильный запрос не отвечает.

Запрос и ответ: multicast_data_req → ответа нет; при ошибке — сообщение с тем же cmd: multicast_data_req.
Доступ: только токен высокого уровня. С токеном низкого уровня сервер ответит ошибкой 1.

Текущая версия ONS

Отличия от описания v0.17:

  • Команда не выполняется: кадр не попадает в очередь и в эфир не уходит.
  • На правильный запрос сервер не отвечает. Сообщения multicast_data_resp с dataId не существует.
  • При ошибке приходит сообщение с cmd: multicast_data_req, без operation_id и без error_text.

Запрос​

Поля без пометки «обязательно» можно не передавать. Сервер только проверяет их формат.

ПолеТипОписание
cmdstringmulticast_data_req
operation_idstringПроизвольная строка; в ответ сервер её не возвращает
datastringОбязательно. Полезная нагрузка в hex
multicast_euistringEUI группы, 16 hex-символов
multicast_addrstringАдрес группы, 8 hex-символов
gatewayEuistringEUI шлюза, 16 hex-символов
fportuint8Порт приложения, 0–255. По умолчанию 2
fcntuint16Счётчик кадров, 0–65535. По умолчанию 0
{
"cmd": "multicast_data_req",
"operation_id": "xyz",
"multicast_eui": "7DA50BE8C74CE6DC",
"fport": 2,
"data": "FFFFFFFFFFFF"
}

Ответ​

На правильный запрос ответа нет. Сообщение приходит только при ошибке:

ПолеТипОписание
cmdstringmulticast_data_req
statusuint82 — ошибка
error_codeuint8Код ошибки, см. ниже
{
"cmd": "multicast_data_req",
"status": 2,
"error_code": 3
}

Ошибки​

error_codeerror_textЧто случилось
1—Запрос пришёл с токеном низкого уровня
3—Неверные данные: нет data или в нём не hex; multicast_eui или gatewayEui не из 16 hex-символов; multicast_addr не из 8; fport не 0–255; fcnt не 0–65535

См. также​