Platformy

Opracowana przez Google platforma OpenThread została przeniesiona na kilka urządzeń i platform przez zespół OpenThread, dostawców silikonów i społeczność. Przykłady kompilacji dla wszystkich przeniesionych platform znajdziesz w repozytorium OpenThread.

W sekcji Dostawcy wyszukiwania znajdziesz listę wszystkich platform obsługiwanych przez dostawców i portów społeczności, którą możesz przeszukiwać.

Pomoc

Obsługa poszczególnych platform różni się w miarę upływu czasu. Niektóre platformy są oznaczone aktualnym poziomem pomocy określonym przez zespół OpenThread. Nieotagowane platformy nie były ostatnio testowane i mogą mieć stan „Ograniczona obsługa”.

Poziom podtrzymaniaOpis
Obsługiwane Pełna i podstawowa obsługa, a także każdy komponent z certyfikatem Thread, który korzysta z OpenThread. Wiele z tych platform zostało przetestowanych i używanych przez zespół OpenThread. Polecamy je do wykorzystania w naszych wersjach demonstracyjnych i Codelabs.
Ograniczona pomoc Platformy te nie zostały w pełni przetestowane i mogą nie mieć niektórych kluczowych funkcji.
Nieobsługiwany Funkcja obecnie nie jest obsługiwana i mogą występować problemy z uruchamianiem OpenThread. Korzystasz z niego na własne ryzyko.

Architektura systemu

Architektura systemu OT

Pakiet OpenThread został zaprojektowany z myślą o przenośności i elastyczności. Kod jest przenośny C/C++ (C99 i C++11), dzięki czemu jest on niezależny od architektury systemu ze względu na wąską warstwę abstrakcji. Ta warstwa abstrakcji oznacza, że OpenThread może działać zarówno na sprzęcie klienta, jak i w systemie operacyjnym. Do tej pory udało się udowodnić, że OpenThread działa w systemach FreeRTOS, RIOT-OS, Zephyr OS, Linux i macOS.

Przenośny charakter OpenThread nie zakłada żadnych założeń dotyczących funkcji platformy. OpenThread udostępnia punkty zaczepienia umożliwiające korzystanie z ulepszonych funkcji radiowych i kryptograficznych, co zmniejsza wymagania systemowe, takie jak pamięć, kod i cykle obliczeniowe. Można to zrobić w przypadku każdej platformy z zachowaniem możliwości korzystania z domyślnej konfiguracji.

OpenThread ma konfigurowalny system kompilacji, za pomocą którego deweloper może włączać i wyłączać funkcje zależnie od potrzeb. Źródło zostało zaprojektowane tak, aby oprócz domyślnego łańcucha narzędzi GNU mogło współpracować z wieloma innymi popularnymi łańcuchami narzędzi, np. IAR i Visual Studio.

Projekty platform

OpenThread obsługuje zarówno układy SOC, jak i procesory współprocesora sieci (NCP).

Układ SOC to jednoukładowe rozwiązanie obejmujące połączenie RFIC (802.15.4 w przypadku Thread) i procesor, przy czym OpenThread i warstwa aplikacji działają na procesorze lokalnym.

Projekt NCP to warstwa aplikacji, która działa w procesorze hosta i komunikuje się z OpenThread przez połączenie szeregowe przy użyciu standardowego protokołu hosta-kontrolera nazywanego Spinel. W tym projekcie OpenThread może działać w ramach procesora radiowego lub hosta.

Jednoukładowy, tylko wątki (SoC)

Architektura OT SoC

W tym projekcie warstwa aplikacji i OpenThread działają na tym samym procesorze. Aplikacja bezpośrednio korzysta z interfejsów API OpenThread i stosu IPv6.

Jest to układ SOC najczęściej używany w przypadku urządzeń końcowych. Ponieważ jest mocno zintegrowana z pojedynczym krzemem, ma najniższy koszt i najmniejsze zużycie energii.

Jednoukładowy, wieloukładowy

Architektura z wieloma układami SoC OT

Jeśli układ SoC ma kilka odbiorników radiowych, np. 802.15.4, Wi-Fi lub 802.15.4 i Bluetooth Low Energy (BLE), warstwa aplikacji i OpenThread będą nadal działać na tym samym procesorze. W projektowaniu z wieloma interfejsami OpenThread korzysta ze wspólnego stosu IPv6 innej firmy za pomocą interfejsu datagramu IPv6.

Projekty współprocesorów

OpenThread obsługuje architekturę współprocesora radiowego (RCP) i współprocesora sieciowego (NCP). Więcej informacji znajdziesz w artykule o współprocesorach projektowych.

Problemy z platformą

W przypadku platform OpenThread są obecnie następujące problemy: