Google is committed to advancing racial equity for Black communities. See how.
Diese Seite wurde von der Cloud Translation API übersetzt.
Switch to English

Plattformen

Von Google veröffentlichtes OpenThread wurde vom OpenThread-Team, Siliziumanbietern und der Community auf mehrere Geräte und Plattformen portiert. Build-Beispiele für alle portierten Plattformen sind im OpenThread-Repository enthalten .

Unter Durchsuchen von Anbietern finden Sie eine durchsuchbare Liste aller von Anbietern unterstützten Plattformen und Community-Ports.

Unterstützung

Die Unterstützung für jede Plattform variiert im Laufe der Zeit. Einige Plattformen sind mit dem aktuellen Support-Level versehen, das vom OpenThread-Team festgelegt wurde. Plattformen ohne Tags wurden kürzlich nicht getestet und können als "eingeschränkter Support" eingestuft werden.

Unterstützungsstufe Beschreibung
Unterstützt Vollständige und grundlegende Unterstützung sowie alle Thread-zertifizierten Komponenten, die OpenThread verwenden. Viele dieser Plattformen wurden vom OpenThread-Team getestet und verwendet und werden für die Verwendung in unseren Demos und Codelabs empfohlen.
Eingeschränkter Support Diese Plattformen wurden noch nicht vollständig getestet und es fehlen möglicherweise einige wichtige Funktionen.
Nicht unterstützt Wird derzeit nicht unterstützt und hat möglicherweise Probleme beim Ausführen von OpenThread. Benutzung auf eigene Gefahr.

Systemarchitektur

OT-Systemarchitektur

OpenThread wurde im Hinblick auf Portabilität und Flexibilität entwickelt. Der Code ist portables C / C ++ (C99 und C ++ 03), das aufgrund einer engen Abstraktionsschicht systemarchitekturunabhängig ist. Diese Abstraktionsschicht bedeutet, dass OpenThread entweder auf Bare-Metal- oder einem Betriebssystem ausgeführt werden kann. Bisher wurde gezeigt, dass OpenThread unter FreeRTOS, RIOT-OS, Zephyr OS, Linux und macOS ausgeführt werden kann.

Die Portabilität von OpenThread macht keine Annahmen über Plattformfunktionen. OpenThread bietet die Möglichkeit, erweiterte Funk- und Kryptofunktionen zu nutzen und so die Systemanforderungen wie Speicher-, Code- und Rechenzyklen zu reduzieren. Dies kann pro Plattform erfolgen, wobei die Standardkonfiguration beibehalten werden kann.

OpenThread verfügt über ein konfigurierbares Build-System, mit dem ein Entwickler Funktionen nach Bedarf aktivieren oder deaktivieren kann. Über die Standard-GNU-Toolchain hinaus ist die Quelle für die Verwendung mit einer Reihe anderer beliebter Toolchains wie IAR und Visual Studio ausgelegt.

Plattformdesigns

OpenThread unterstützt sowohl System-on-Chip- (SoC) als auch Netzwerk-Co-Prozessor- (NCP) Designs.

Ein SoC ist eine Single-Chip-Lösung mit kombiniertem RFIC (802.15.4 im Fall von Thread) und Prozessor, wobei OpenThread und die Anwendungsschicht auf dem lokalen Prozessor ausgeführt werden.

Bei einem NCP-Design läuft die Anwendungsschicht auf einem Host-Prozessor und kommuniziert mit OpenThread über eine serielle Verbindung unter Verwendung eines standardisierten Host-Controller-Protokolls, das wir Spinel nennen. In diesem Design kann OpenThread entweder auf dem Radio- oder dem Host-Prozessor ausgeführt werden.

Single-Chip, Nur-Thread (SoC)

OT SoC-Architektur

In diesem Design werden die Anwendungsschicht und OpenThread auf demselben Prozessor ausgeführt. Die Anwendung verwendet direkt die OpenThread-APIs und den IPv6-Stack.

Dies ist das SoC-Design, das am häufigsten für Endgeräte verwendet wird. Da es stark in ein einziges Silizium integriert ist, weist es die niedrigsten Kosten und den niedrigsten Stromverbrauch auf.

Single-Chip, Multiple-Interface (SoC)

OT Multiple SoC-Architektur

Wenn ein SoC über mehrere Funkgeräte verfügt, z. B. 802.15.4 und Wi-Fi oder 802.15.4 und Bluetooth Low Energy (BLE), werden die Anwendungsschicht und OpenThread weiterhin auf demselben Prozessor ausgeführt. Beim Design mit mehreren Schnittstellen nutzt OpenThread den gemeinsam genutzten IPv6-Stack eines Drittanbieters über eine unformatierte IPv6-Datagrammschnittstelle.

Netzwerk-Co-Prozessor (NCP)

OT NCP-Architektur

Das Standard-NCP-Design verfügt über Thread-Funktionen auf dem SoC und führt die Anwendungsschicht auf einem Host-Prozessor aus, der normalerweise leistungsfähiger ist (aber einen höheren Strombedarf hat) als das OpenThread-Gerät. Der Host-Prozessor kommuniziert mit dem OpenThread-Gerät über eine serielle Schnittstelle (normalerweise SPI oder UART) über das Spinell-Protokoll.

Der Vorteil dieses Designs besteht darin, dass der Host mit höherer Leistung in den Ruhezustand versetzt werden kann, während das OpenThread-Gerät mit niedrigerer Leistung aktiv bleibt, um seinen Platz im Thread-Netzwerk beizubehalten. Und da der SoC nicht an die Anwendungsschicht gebunden ist, ist die Entwicklung und das Testen von Anwendungen unabhängig vom OpenThread-Build.

Dieses Design ist nützlich für Gateway-Geräte oder Geräte mit anderen Verarbeitungsanforderungen wie IP-Kameras und Lautsprecher.

Funk-Co-Prozessor (RCP)

OT RCP-Architektur

Dies ist eine Variante des NCP-Designs, bei der der Kern von OpenThread auf dem Host-Prozessor mit nur einem minimalen "Controller" der MAC-Schicht auf dem Gerät mit dem Thread-Radio liegt. Der Host-Prozessor schläft normalerweise nicht in diesem Design, teilweise um die Zuverlässigkeit des Thread-Netzwerks sicherzustellen.

Der Vorteil hierbei ist, dass OpenThread die Ressourcen des leistungsstärkeren Prozessors nutzen kann.

Dieses Design ist nützlich für Geräte, die weniger empfindlich auf Leistungsbeschränkungen reagieren. Beispielsweise ist der Host-Prozessor einer Videokamera immer eingeschaltet, um Videos zu verarbeiten.

Offene Plattformprobleme

Die folgenden Probleme sind derzeit für OpenThread-Plattformen offen: