Projekty współprocesorów są obsługiwane przez OpenThread. Podczas tworzenia przykładów OpenThread automatycznie tworzy się obraz oprogramowania dla każdego projektu przetwarzającego dane. Więcej informacji znajdziesz w plikach binarnych.
Procesor radiowy
W projekcie RCP rdzeń OpenThread funkcjonuje w procesorze hosta z minimalną „kontrolerem MAC” urządzenia z radiem Thread. W tym układzie procesor hosta zwykle nie jest aktywny, co ma zapewnić niezawodność sieci Thread.
Komunikacja między RCP a procesorem hosta jest zarządzana przez OpenThread Daemon przez interfejs SPI przez protokół Spinel.
Dzięki temu OpenThread może korzystać z zasobów wydajniejszych.
To rozwiązanie przydaje się na urządzeniach, które są mniej wrażliwe na ograniczenia zasilania. Na przykład host hosta kamery jest zawsze włączony, aby przetworzyć dane wideo.
OpenPark Border Router obsługuje projekt RCP. Więcej informacji znajdziesz w artykule o routerze granicowym OpenThread.
Aby utworzyć RCP, zapoznaj się z tymi ćwiczeniami z programowania:
Utwórz sieć wątków za pomocą numeru nRF52840 router obramowania
Procesor sieciowy (NCP)
Standardowy projekt NCP ma funkcje Thread na SoC i uruchamia warstwę aplikacji na procesorze hosta, który zwykle ma większe możliwości (ale ma większe zapotrzebowanie na energię) niż urządzenie OpenThread.
Komunikacja między NCP a procesorem hosta jest zarządzana przy użyciu interfejsu szeregowego wpantund
przez protokół SPI lub UART przy użyciu protokołu Spinel.
Zaletą tego rozwiązania jest to, że host o większej mocy może działać w trybie uśpienia, podczas gdy urządzenie OpenThread o niższej mocy pozostaje aktywne, aby utrzymać swoje miejsce w sieci. Ponieważ układ SOC nie jest powiązany z warstwą aplikacji, tworzenie i testowanie aplikacji jest niezależne od kompilacji OpenThread.
To rozwiązanie przydaje się w przypadku urządzeń bramy albo urządzeń mających inne potrzeby w zakresie przetwarzania danych, np. kamery IP i głośniki.
Protokół Spinel
Spinel to ogólny protokół zarządzania, który umożliwia komunikowanie się z urządzeniem przetwarzającym dane i zarządzanie nim. Usługa Spinel została początkowo zaprojektowana z myślą o obsłudze NCP opartych na wątkach i ma wielopoziomowe podejście, dzięki czemu można ją łatwo dostosować do innych technologii sieciowych w przyszłości. Używa się ich zarówno w przypadku RCP, jak i NCP.
Ten protokół jest dołączony do OpenThread pod adresem /src/lib/spinel
. Do testowania można użyć narzędzia wiersza poleceń w języku Python o nazwie Pyspinel.
Aby uzyskać więcej informacji, zobacz Internetowa wersja robocza protokołu kontrolera Spinel.