OT CLI를 사용하여 제한된 애플리케이션 프로토콜 (CoAP) 리소스에 대한 연결 테스트

GitHub에서 소스 보기

OpenThread는 CoAP 서버 및 클라이언트 기능을 모두 제공하므로 기기에서 CoAP 서버의 리소스에 연결하고 각 리소스의 현재 상태 변경을 관찰할 수 있습니다. CLI에서 제공되는 CoAP 에이전트는 CoAP 클라이언트 또는 서버 역할을 할 수 있습니다.

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: 용어이며, 그 뒤에는 16진수 형식의 모든 페이로드 바이트가 나옵니다. 따라서 예시에서 with payload: 30는 리소스의 현재 페이로드가 16진수 값이 0x30인 페이로드 정보의 1바이트로 설정되어 있음을 나타냅니다. payload 옵션 사용에 관한 자세한 내용은 게시물을 참고하세요.

  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는 확인 가능한 메시지 (con)를 사용하여 얻은 신뢰할 수 있는 메시지가 CoAP 서버로 전송되기를 원한다는 의미입니다. 기본값은 확인할 수 없는 메시지 (non-con)를 전송하는 것입니다.

    hellothere 문자열은 typecon 또는 non-con일 때 선택적 payload 매개변수를 사용하는 예입니다. 자세한 내용은 복사를 참조하세요.

    서버는 요청이 처리되었음을 나타내기 위해 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

68656c6c6f7468657265payload 값은 ASCII 코드 바이트 시퀀스로 변환된 hellothere 문자열입니다.