Проверка подключения к ресурсу ограниченного протокола приложений (CoAP) с помощью OT CLI

Посмотреть исходный код на GitHub

OpenThread предлагает как серверную, так и клиентскую функциональность CoAP, позволяя устройствам подключаться к ресурсам на сервере CoAP и наблюдать за каждым ресурсом на предмет изменения его текущего состояния. Агент CoAP, предоставленный в CLI, может действовать как клиент или сервер CoAP.

Команды КоАП

Чтобы получить список команд coap , введите help :

coap help
help
cancel
delete
get
observe
parameters
post
put
resource
set
start
stop
Done

Справочник команд CLI

Описания и синтаксис всех команд см. в Справочнике команд CLI. Команды coap начинаются в алфавитном порядке с coap cancel .

Пример использования команд сервера CoAP и клиента

В этом примере используются базовые команды CLI для запуска сервера и клиента CoAP, создания тестового ресурса на сервере CoAP и взаимодействия клиента CoAP с ресурсом. Данные выборки используются в иллюстративных целях.

Настройте сервер CoAP

На узле сервера CoAP выполните следующие действия:

  1. Запустите агент CoAP.

    coap start
    Done
    
  2. Создайте тестовый ресурс.

    coap resource test-resource
    Done
    

Настройте клиент CoAP

На клиентском узле CoAP выполните следующие действия:

  1. Запустите агент CoAP:

    coap start
    Done
    
  2. Запустите команду get , чтобы получить информацию о ресурсе:

    coap get fdde:ad00:beef:0:d395:daee:a75:3964 test-resource
    Done
    coap response from [fdde:ad00:beef:0:2780:9423:166c:1aac] with payload: 30
    

    Последняя часть response сервера — это термин with payload: , за которым следуют все байты полезной нагрузки в формате шестнадцатеричных цифр. Таким образом, в примере with payload: 30 указывает, что текущая полезная нагрузка для ресурса установлена ​​в один байт полезной информации с шестнадцатеричным значением 0x30. Для получения дополнительной информации об использовании опции payload обратитесь к сообщению Coap .

  3. Вы можете изменить ресурс с помощью команды put :

    coap put fdde:ad00:beef:0:2780:9423:166c:1aac test-resource con hellothere
    Done
    coap response from [fdde:ad00:beef:0:2780:9423:166c:1aac]
    

    В этом примере con означает, что вы хотите, чтобы на сервер CoAP было отправлено надежное сообщение, полученное с использованием подтверждаемого сообщения ( con ). По умолчанию отправляется неподтверждаемое ( non-con ) сообщение.

    Строка hellothere — это пример использования необязательного параметра полезной payload , когда typecon или non-con ».

    Сервер отвечает своим IPv6-адресом, чтобы указать, что запрос был обработан.

Ответы отправлены на сервер CoAP

На сервере выходные данные этого примера будут выглядеть примерно так:

coap request from [fdde:ad00:beef:0:b3:e3f6:2dcc:4b79] GET
coap response sent
coap request from [fdde:ad00:beef:0:b3:e3f6:2dcc:4b79] PUT with payload: 68656c6c6f7468657265
coap response sent

Значение payload 68656c6c6f7468657265 — это строка hellothere , преобразованная в последовательность байтов кода ASCII.