Kaiten

[PMO] База знаний функциональности (интернет)

To Kaiten

CoAP

Аргументы

Чтобы опубликовать данные телеметрии по CoAP, отправьте запрос POST по следующему URL-адресу:

url
coap://dev.rightech.io:5683/api/v1/objects/:id/:path

где

  • id - идентификатор объекта на платформе;

  • path - путь, по которому устройство отправляет значение параметра.

В случае CoAP источник данных для аргумента - это путь расположения параметра, указанный после id в запросе.

Например, устройство отправляет значение влажности в POST запросе со следующим URL

url
coap://dev.rightech.io:5683/api/v1/objects/:id/base/state/humidity

Тогда в качестве источника в данном параметре необходимо указать base/state/humidity.

Для того чтобы отправить несколько параметров в одном пакете, воспользуйтесь форматом JSON при построении пакета данных. Например, отправить много данных в одном пакете можно, указав URL как

url
coap://dev.rightech.io:5683/api/v1/objects/:id/state/telemetry1

a данные в виде

JSON
{ "stringKey": "value1", "booleanKey": true, "doubleKey": 3.1415, "longKey": 73, "jsonKey": { "someNumber": 42, "someArray": [1, 2, 3], "someNestedObject": { "key": "value" } }}

Как же разобрать такой сложный пакет по модели? На помощь приходит параметр с типом данных Объект:

  1. Создайте аргумент с типом данных Объект, в источнике укажите тот путь, по которому ожидаете данные - в данном случае state/telemetry1. Задайте некоторый идентификатор - например, telemetry1.

  1. Создайте дополнительные узлы - под каждое поле из JSON. В данном случае получается 9 узлов:

    1. Аргумент для поля stringKey

    2. Аргумент для поля booleanKey

    3. Аргумент для поля doubleKey

    4. Аргумент для поля longKey

    5. Аргумент для поля someNumber из вложенного JSON jsonKey

    6. Аргумент для первого элемента массива поля someArray из вложенного JSON jsonKey

    7. Аргумент для второго элемента массива поля someArray из вложенного JSON jsonKey

    8. Аргумент для третьего элемента массива поля someArray из вложенного JSON jsonKey

    9. Аргумент для поля key из вложенного JSON someNestedObject из вложенного в свою очередь JSON jsonKey

У каждого из этих параметров укажите тип данных, соответствующий типу этих значений в JSON. Источник у каждого из узлов сформируйте в виде <идентификатор_узла_с_типом_объект>.<нужное_поле_из_json>. Если из массива нужно взять только элемент, укажите далее его порядковый номер через точку: .<номер элемента массива>. Например, someArray.2 — третий элемент массива в поле someArray (отсчет от нуля).

Примеры:

  • для строкового параметра stringKey;

  • для числового параметра someNumber из вложенного JSON jsonKey;

  • для второго элемента числового массива someArray из вложенного JSON jsonKey.

Действия

Возможность отправки команд на устройство, работающее по CoAP, не предусмотрена.