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

Wyświetl źródło na GitHubie

OpenThread ma funkcje zarówno serwera, jak i klienta CoAP, umożliwiając urządzeniom łączenie się z zasobami na serwerze CoAP i obserwację każdego zasobu w poszukiwaniu zmian w jego bieżącym stanie. Agent CoAP podany w interfejsie wiersza poleceń może działać jako klient lub serwer CoAP.

Polecenia CoAP

Aby wyświetlić listę poleceń coap, wpisz help:

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

Dokumentacja poleceń interfejsu wiersza poleceń

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

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

W tym przykładzie użyto podstawowych poleceń interfejsu wiersza poleceń w celu uruchomienia serwera i klienta CoAP, utworzenia zasobu testowego na serwerze CoAP oraz umożliwienia klientowi CoAP interakcji 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 ciąg with payload:, po którym następuje wszystkie bajty ładunku w formacie szesnastkowym. Dlatego w przykładzie with payload: 30 wskazuje, że bieżący ładunek dla zasobu jest ustawiony na 1 bajt informacji o ładunku z wartością szesnastkową 0 x 30. Więcej informacji o korzystaniu z opcji payload znajdziesz w poście na blogu.

  3. Zasób możesz modyfikować 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 chcesz, aby wiarygodna wiadomość otrzymywana za pomocą potwierdzonej wiadomości (con) została wysłana do serwera CoAP. Domyślnie wysyłana jest wiadomość niemożliwa do potwierdzenia (non-con).

    Ciąg hellothere jest przykładem użycia opcjonalnego parametru payload, gdy type ma wartość con lub non-con. Więcej informacji znajdziesz w sekcji coap put.

    Serwer odpowiada za pomocą adresu IPv6, co oznacza, że żądanie zostało przetworzone.

Odpowiedzi wysłane do serwera CoAP

Na serwerze dane wyjściowe z tego przykładu będą podobne do tych:

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 elementu 68656c6c6f7468657265 to ciąg znaków hellothere przekonwertowany na sekwencję bajtów z kodem ASCII.