Testowanie połączenia z zasobem ograniczonego aplikacji (CoAP) za pomocą interfejsu wiersza poleceń OT

Wyświetl źródło na GitHubie

OpenThread udostępnia funkcje serwera i klienta CoAP, umożliwiając łączyć się z zasobami na serwerze CoAP i obserwować poszczególne zasoby i bieżącego stanu. Agent CoAP udostępniony w interfejsie wiersza poleceń może wykonać jako klient lub serwer CoAP.

Polecenia CoAP

Aby zobaczyć listę poleceń coap, wpisz help:

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

Odniesienie do polecenia interfejsu wiersza poleceń

Opisy i składnię wszystkich poleceń znajdziesz w dokumentacji poleceń interfejsu wiersza poleceń. Polecenia coap zaczynają się alfabetycznie od coap cancel.

Przykład użycia poleceń serwera i klienta CoAP

W tym przykładzie użyto podstawowych poleceń interfejsu wiersza poleceń, aby uruchomić serwer i klienta CoAP, utworzyć zasób testowy na serwerze CoAP i umożliwić klientowi CoAP interakcję z tym zasobem. Przykładowe dane służą do celów poglądowych.

Konfigurowanie serwera CoAP

W węźle serwera CoAP wykonaj te czynności:

  1. Uruchom agenta CoAP.

    coap start
    Done
    
  2. Utwórz zasób testowy.

    coap resource test-resource
    Done
    

Konfigurowanie klienta CoAP

W węźle klienta CoAP wykonaj te czynności:

  1. Uruchom agenta CoAP:

    coap start
    Done
    
  2. Uruchom polecenie get, aby uzyskać informacje o zasobie:

    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
    

    Ostatnia część serwera response to hasło with payload:, obserwowane według wszystkich bajtów ładunku w formacie szesnastkowym. Dlatego w tym przykładzie with payload: 30 wskazuje, że bieżący ładunek dla zasobu jest ustawiony na jeden bajt informacji ładunku z wartością szesnastkową 0x30. Więcej informacji o korzystaniu z opcji payload znajdziesz tutaj: Coap post.

  3. Możesz zmodyfikować zasób za pomocą polecenia 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]
    

    W tym przykładzie con oznacza, że oczekujesz wiarygodnego komunikatu, który jest uzyskane za pomocą możliwej do potwierdzenia wiadomości (con) wysłanej do serwera CoAP. Domyślnie wysyłana jest wiadomość, której nie można potwierdzić (non-con).

    Ciąg hellothere jest przykładem użycia opcjonalnego payload gdy type ma wartość con lub non-con”. Więcej informacji: Coap put.

    W odpowiedzi serwer podaje swój adres IPv6, wskazując, że żądanie zostało wykonane.

Odpowiedzi wysłane do serwera CoAP

Na serwerze dane wyjściowe z tego przykładu będą wyglądać tak:

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

Wartość payload z 68656c6c6f7468657265 to ciąg znaków przekonwertowany hellothere na sekwencję bajtów kodu ASCII.