Platformy

Oprogramowanie OpenThread – opracowane przez Google zostało przeniesione na kilka urządzeń i platform przez zespół OpenThread, firmę tworzącą Silicon i społeczność. Przykłady kompilacji dla wszystkich przeniesionych platform są uwzględnione w repozytorium OpenThread.

Na stronie Dostawcy wyszukiwania znajdziesz listę wszystkich platform obsługujących porty i społeczności obsługiwanych przez dostawcę.

Pomoc

Obsługa poszczególnych platform zmienia się z czasem. Niektóre platformy są otagowane jako obecny poziom pomocy, co zostało oznaczone przez zespół OpenThread. Nieotagowane platformy nie były ostatnio testowane i mogą być oznaczone jako „Ograniczona obsługa”.

Poziom pomocyOpis
Obsługiwana Pełna i podstawowa pomoc, a także każdy certyfikowany komponent z wątkami korzystający z OpenThread. Wiele z tych platform zostało przetestowanych i używanych przez zespół OpenThread. Zalecamy korzystanie z nich w naszych wersjach demonstracyjnych 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 Obecnie nieobsługiwane, mogą występować problemy z uruchomieniem OpenThread. Korzystasz z nich na własne ryzyko.

Architektura systemu

Architektura systemu OT

OpenThread zaprojektowano z myślą o przenośności i elastyczności. Kod to port C/C++ (C99 i C++11), który jest niezależny od architektury systemu z powodu wąskiej warstwy abstrakcji. Ta warstwa abstrakcji oznacza, że OpenThread działa na sprzęcie klienta lub w systemie operacyjnym. Dotychczas udowodniliśmy, że OpenThread działa w systemach FreeRTOS, RIOT-OS, Zephyr OS, Linux i macOS.

Przenośny charakter OpenThread nie zakłada żadnych funkcji dotyczących platformy. OpenThread to sposób łączenia się z ulepszonymi funkcjami radiowymi i kryptograficznymi, które ograniczają wymagania systemowe, takie jak pamięć, kod i cykle obliczeniowe. Możesz to zrobić dla każdej platformy przy zachowaniu domyślnej konfiguracji.

OpenThread ma konfigurowalny system kompilacji, z którym deweloper może włączyć lub wyłączyć funkcje. Oprócz domyślnego łańcucha narzędzi GNU źródło zostało zaprojektowane do działania w wielu innych popularnych łańcuchach, takich jak IAR i Visual Studio.

Projekty platform

OpenThread obsługuje zarówno projekty oparte na układach SOC, jak i współprocesory sieciowe.

Procesor SOC to jednoukładowy procesor ze wspólnym procesorem RFIC (802.15.4 w obudowie Thread) i procesorem, gdzie OpenThread i warstwa aplikacji działają na lokalnym procesorze.

Projekt NCP to miejsce, w którym warstwa aplikacji działa na hoście hosta i komunikuje się z OpenThread za pomocą połączenia szeregowego przez standardowy protokół hosta o nazwie Spinel. W tym projekcie OpenThread może działać na procesorze radiowym lub hoście.

Jednoukładowy, tylko z wątkami (SOC)

Architektura OT SoC

W tym projekcie warstwa aplikacji i OpenThread są uruchomione na tym samym procesorze. Aplikacja korzysta bezpośrednio z interfejsów API OpenThread i protokołu IPv6.

Jest to najczęściej używany układ SOC. Ponieważ jest dobrze zintegrowany w jednym krzemowym układzie, ma najniższy koszt i najniższe zużycie energii.

Jednoukładowy, z wieloma interfejsami (SOC)

Architektura wielokanałowa układu SOC

Gdy SOC ma kilka przycisków radiowych, takich jak 802.15.4 i Wi-Fi lub 802.15.4 i Bluetooth Low Energy (BLE), warstwa aplikacji i OpenThread nadal działają na tym samym procesorze. W projekcie z wieloma interfejsami OpenThread wykorzystuje udostępniany stos IPv6 innej firmy za pomocą nieprzetworzonego interfejsu datagramu IPv6.

Projekty współprocesorów

OpenThread obsługuje modele Radio-Cossor (RCP) i Network Co-Processor (NCP). Więcej informacji znajdziesz w artykule Projekty współprocesorów.

Problemy z otwartą platformą

W przypadku platform OpenThread mogą obecnie występować te problemy: