Platformy

Układ OpenThread wydany przez Google został przeniesiony na kilka urządzeń i platform przez zespół OpenThread, dostawców silikonu i społeczność. Przykłady kompilacji dla wszystkich przenoszonych platform znajdują się w repozytorium OpenThread.

Na stronie Dostawcy wyszukiwania znajdziesz listę wszystkich platform i portów społeczności obsługiwanych przez dostawców, które można przeszukiwać.

Pomoc

Obsługa poszczególnych platform różni się w zależności od czasu. Niektóre platformy są oznaczone bieżącym poziomem pomocy określonym przez zespół OpenThread. Nieotagowane platformy nie były ostatnio testowane i mogą zostać uznane za mające stan „Ograniczona pomoc”.

Poziom pomocyOpis
Obsługiwane Pełna obsługa na poziomie podstawowym, a także wszystkie komponenty z certyfikowanym wątkiem korzystające z OpenOpen. Wiele z tych platform zostało przetestowanych i używanych przez zespół OpenThread. Zalecamy ich użycie w naszych demonstracjach i ćwiczeniach z programowania.
Ograniczona pomoc Te platformy nie zostały w pełni przetestowane i mogą nie mieć niektórych kluczowych funkcji.
Nieobsługiwany Ta funkcja nie jest obecnie obsługiwana i mogą występować problemy z uruchomieniem OpenThread. Stosujesz je na własne ryzyko.

Architektura systemu

Architektura systemu operacyjnego

Projekt OpenThread został zaprojektowany z myślą o przenośności i elastyczności. Kod jest przenośny C/C++ (C99 i C++03), który jest związany z architekturą systemu ze względu na wąską warstwę abstrakcji. Ta warstwa abstrakcyjnego oznacza, że OpenThread może działać zarówno na podstawie Bare-Metal, jak i OS. Jak dotąd pokazano, że OpenThread działa w systemach FreeRTOS, RIOT-OS, Zephyr OS, Linux i macOS.

Przenośny charakter OpenThread nie wymaga założenia na temat funkcji platformy. OpenThread pozwala na korzystanie z udoskonalonych funkcji radia i kryptograficznego, co pozwala zmniejszyć wymagania systemowe, takie jak pamięć, kod i cykle obliczeniowe. Można to zrobić na poszczególnych platformach, zachowując jednocześnie możliwość domyślnej konfiguracji standardowej.

OpenThread ma konfigurowalny system kompilacji, w którym deweloper może włączać i wyłączać funkcje odpowiednio do potrzeb. Oprócz domyślnego łańcucha narzędzi GNU źródło ma działać z wieloma innymi popularnymi narzędziami, takimi jak IAR i Visual Studio.

Projekty platformy

OpenThread obsługuje projekty zarówno układu układowego (SoC), jak i procesora sieciowego (NCP).

SoC to rozwiązanie jednoukładowe z połączonym RFIC (802.15.4 w przypadku wątków) i procesorem, w którym OpenThread i warstwa aplikacji działają na lokalnym procesorze.

Projekt NCP to sytuacja, w której warstwa aplikacji jest uruchamiana na procesorze hosta i komunikuje się z OpenThread przez połączenie szeregowe przy użyciu standardowego, standardowego przez nas protokołuSpinningowa danych W tym projekcie OpenThread może działać jako radio lub procesor hosta.

Jednoukładowy, tylko nitkowy (SoC)

Architektura OT SoC

W tym projekcie warstwa aplikacji i OpenThread są uruchamiane w tym samym procesorze. Aplikacja korzysta bezpośrednio z interfejsów API OpenThread i stosu IPv6.

Jest to najczęściej używany układ w urządzeniach końcowych. Ponieważ jest wysoko zintegrowany z silikonem, ma najniższy koszt i najniższe zużycie energii.

Elementy pojedyncze, z wieloma interfejsami (SoC)

Architektura SO Multi

Jeśli SOC ma wiele stacji radiowych, np. 802.15.4 i Wi-Fi lub 802.15.4 i Bluetooth Low Energy (BLE), warstwy aplikacji i OpenThread będą nadal działać na tym samym procesorach. W projekcie obejmującym wiele interfejsów OpenThread wykorzystuje stos stosu IPv6 innej firmy za pomocą interfejsu nieprzetworzonego interfejsu IPv6.

Projekty podmiotów współprowadzących

OpenThread obsługuje projekty procesora radiowego (RCP) i współprocesora sieciowego (NCP). Więcej informacji znajdziesz w artykule Projekty podmiotów przetwarzających dane.

Problemy z otwartą platformą

W przypadku platform OpenThread na tych kontach są obecnie otwarte te problemy: