Projekty podmiotów współprowadzących

Projekty podmiotów przetwarzających są obsługiwane przez OpenThread. Podczas tworzenia przykładów OpenThread automatycznie jest tworzony obraz oprogramowania układowego każdego z procesorów przetwarzających. Więcej informacji znajdziesz w sekcji Pliki binarne.

Współprocesor radiowy (RCP)

Architektura OT RCP

W projekcie RCP podstawa OpenThread jest hostowana na komputerze hosta z minimalną warstwą MAC („kontroler”) na urządzeniu z radiem Thread. Procesor hosta zwykle nie jest przeznaczony w tym projekcie, częściowo w celu zapewnienia niezawodności sieci Threads.

Komunikacja między RCP a procesorem hosta jest zarządzana przez OpenThread Daemon przez interfejs SPI przez protokół Spinel.

Zaletą tego rozwiązania jest to, że OpenThread może wykorzystywać zasoby bardziej wydajnego procesora.

Ten projekt jest przydatny na urządzeniach, które są mniej wrażliwe na ograniczenia zasilania. Na przykład procesor hosta w kamerze wideo jest zawsze włączony, aby rozpocząć przetwarzanie filmu.

Router Openorder Border obsługuje interfejs RCP. Więcej informacji znajdziesz w artykule OpenThread Border Router.

Aby utworzyć RCP, zapoznaj się z tymi ćwiczeniami z programowania:

Utwórz sieć wątków z nRF52840 routerem granicznym

Wspólny procesor sieci (NCP)

Architektura OT NCP

Standardowy projekt NCP ma funkcje Threads w SoC i uruchamia warstwę aplikacji w hoście, który jest zwykle bardziej funkcjonalny (ale ma większe zapotrzebowanie na energię) niż urządzenie OpenThread.

Komunikacja między NCP a procesorem hosta jest zarządzana przez wpantund przez interfejs szeregowy, zwykle przy użyciu SPI lub UART, przy użyciu protokołu Spinel.

Zaletą tej projektu jest to, że host o większej mocy może spać, a urządzenie OpenThread o mniejszej mocy jest aktywne, by utrzymać się w sieci nici. SOC nie jest powiązany z warstwą aplikacji, więc tworzenie i testowanie aplikacji jest niezależne od kompilacji OpenThread.

Przydaje się to na urządzeniach z bramą oraz na urządzeniach, które mają inne wymagania dotyczące przetwarzania danych, takich jak kamery IP czy głośniki.

Protokół Spinel

Spinel to ogólny protokół zarządzania, który umożliwia urządzeniu hostującemu komunikację z podmiotem przetwarzającym dane i zarządzanie nim. Początkowo platforma Spinel została zaprojektowana pod kątem obsługi NCP opartych na wątkach. Ma wielowarstwową metodę, która w przyszłości pozwoli łatwo dostosować ją do innych technologii sieciowych. Jest używany zarówno w projektach RCP, jak i NCP.

Ten protokół jest dołączony do OpenThread na stronie /src/lib/spinel. Narzędzie testowe Python o nazwie Pyspinel jest dostępne do testów.

Więcej informacji znajdziesz w dokumencie Internet-Wersje protokołu Sinel Host-Controller Protocol.