Plattformen

OpenThread, das von Google veröffentlicht wurde, wurde vom OpenThread-Team, Silicon-Anbietern und der Community auf verschiedene Geräte und Plattformen portiert. Build-Beispiele für alle portierten Plattformen sind im OpenThread-Repository enthalten .

Eine Liste aller vom Anbieter unterstützten Plattformen und Community-Ports finden Sie unter Anbieter suchen.

Support

Die Unterstützung für jede Plattform variiert mit der Zeit. Einige Plattformen sind mit dem aktuellen Supportlevel gekennzeichnet, das vom OpenThread-Team festgelegt wurde. Nicht getaggte Plattformen wurden in letzter Zeit nicht getestet und gelten als eingeschränkt eingeschränkt.

SupportstufeBeschreibung
Unterstützt Vollständige und grundlegende Unterstützung sowie jede Thread-zertifizierte Komponente, die OpenThread verwendet. 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 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 mit der Ausführung von OpenThread. Die Nutzung erfolgt auf eigenes Risiko.

Systemarchitektur

OT-Systemarchitektur

OpenThread ist auf Portabilität und Flexibilität ausgelegt. Der Code ist portierbares C/C++ (C99 und C++11), das aufgrund einer schmalen Abstraktionsschicht systemarchitekturunabhängig ist. Diese Abstraktionsebene bedeutet, dass OpenThread entweder auf Bare-Metal oder auf einem Betriebssystem ausgeführt werden kann. Bislang wurde OpenThread auf freier Basis für FreeRTOS, RIOT-OS, Zephyr OS, Linux und macOS ausgeführt.

Die mobile Natur von OpenThread macht keine Annahmen zu Plattformfunktionen. OpenThread bietet Hooks für die Nutzung erweiterter Funk- und Kryptofunktionen und reduziert Systemanforderungen wie Speicher, Code und Rechenzyklen. Dies kann pro Plattform erfolgen und gleichzeitig die Standardkonfiguration beibehalten.

OpenThread verfügt über ein konfigurierbares Build-System, mit dem ein Entwickler Funktionen nach Bedarf aktivieren oder deaktivieren kann. Neben der standardmäßigen GNU-Toolchain kann die Quelle mit einer Reihe anderer beliebter Toolchains wie IAR und Visual Studio verwendet werden.

Plattformdesigns

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

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

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

Single-Chip, nur Thread (SoC)

OT-SoC-Architektur

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

Dies ist das von Endgeräten am häufigsten verwendete SoC-Design. Da es hochgradig in ein einzelnes Silikon integriert ist, hat es die niedrigsten Kosten und den niedrigsten Energieverbrauch.

Single-Chip, mehrere Schnittstellen (SoC)

OT-SoC-Architektur

Wenn ein SoC mehrere Funkschnittstellen hat, z. B. 802.15.4 und WLAN 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.

Co-Prozessor-Designs

OpenThread unterstützt Radio Co-Processor (RCP) und Network Co-Processor (NCP)-Designs. Weitere Informationen finden Sie unter Co-Prozessor-Designs.

Offene Plattformprobleme

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