Testowanie połączenia z bezpiecznym zasobem CoAP za pomocą interfejsu wiersza poleceń OT

Wyświetl źródło na GitHubie

OpenThread oferuje zarówno funkcje bezpiecznego serwera, jak i klienta, umożliwiające urządzeniom łączenie się z zasobami na serwerze Secure CoAP i obserwację każdego zasobu w poszukiwaniu zmian w jego bieżącym stanie.

Bezpieczny CoAP korzysta z protokołu DTLS (Datagram Transport Layer Security) do nawiązywania bezpiecznych, kompleksowych połączeń.

Agent Secure CoAP udostępniony w interfejsie wiersza poleceń może działać jako klient Secure CoAP lub Bezpieczny serwer CoAP.

W tym przewodniku przedstawiono podstawowe zadania, które wykorzystują niektóre z najczęściej używanych poleceń coaps (Secure CoAP).

Polecenia Secure CoAP

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

coaps help
connect
delete
disconnect
get
isclosed
isconnactive
isconnected
post
psk
put
resource
set
start
stop
x509
Done

Dokumentacja poleceń interfejsu wiersza poleceń

Opisy i składnię wszystkich poleceń znajdziesz w dokumentacji poleceń interfejsu wiersza poleceń. Polecenia Secure CoAP rozpoczynają się alfabetycznie od coaps connect.

Przykład użycia polecenia Bezpieczny serwer i polecenie klienta

W tym przykładzie użyto podstawowych poleceń interfejsu wiersza poleceń w celu uruchomienia serwera i klienta Secure CoAP, utworzenia zasobu testowego na serwerze Secure CoAP oraz umożliwienia klientowi bezpiecznego CoAP współdziałania z zasobem. Przykładowe dane służą do celów poglądowych.

Konfigurowanie pakietów szyfrów DTLS

Interfejs wiersza poleceń coaps udostępnia polecenia psk i x509, których można używać z kluczem PSK i certyfikatem X.509. Składnię poleceń i przykłady znajdziesz w dokumentach coaps psk i coaps x509.

Konfigurowanie serwera Secure CoAP

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

  1. Uruchom agenta Bezpiecznego CoAP.

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

    coaps resource test-resource
    Done
    

Konfigurowanie klienta Secure CoAP

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

  1. Uruchom agenta Bezpiecznego CoAP:

    coaps start
    Done
    
  2. Uruchom polecenie connect, aby zainicjować sesję DTLS z wersją równorzędną:

    coaps connect fdde:ad00:beef:0:9903:14b:27e0:5744
    Done
    coaps connected
    
  3. Uruchom polecenie get, aby uzyskać informacje o zasobie:

    coaps get test-resource
    Done
    coaps response from fdde:ad00:beef:0:9903:14b:27e0:5744 with payload: 68656c6c6f576f726c6400
    

    Ostatnia część odpowiedzi serwera to hasło with payload:, po którym następuje wszystkie bajty ładunku w formacie szesnastkowym. W przykładzie with payload: 68656c6c6f576f726c6400 wskazuje, że ładunek bieżącego zasobu to wartość szesnastkowa 68656c6c6f576f726c6400, która zostaje przekonwertowana na ciąg znaków helloWorld. Więcej informacji o korzystaniu z opcji payload znajdziesz w poście na temat coaps.

  4. Zasób możesz modyfikować za pomocą polecenia put:

    coaps put test-resource con hellothere
    Done
    coaps response from fdde:ad00:beef:0:9903:14b:27e0:5744
    

    W tym przykładzie con oznacza, że chcesz, aby pewna wiadomość otrzymywana z użyciem potwierdzonej wiadomości (con) została wysłana do serwera Secure 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 tutaj: coaps put (w języku angielskim).

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

Odpowiedzi wysłane do serwera Secure CoAP

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

coaps request from fdde:ad00:beef:0:9e68:576f:714c:f395 GET
coaps response sent
coaps request from fdde:ad00:beef:0:9e68:576f:714c:f395 PUT with payload: 68656c6c6f7468657265
coaps response sent

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