Piattaforme

Il sistema OpenThread rilasciato da Google è stato trasferito su diversi dispositivi e piattaforme dal team OpenThread, dai fornitori di silicon e dalla community. Gli esempi di build per tutte le piattaforme con trasferimento sono inclusi nel repository OpenThread.

Consulta la sezione Fornitori di servizi di ricerca per un elenco con tutte le piattaforme e le porte della community supportate dai fornitori.

Assistenza

Il supporto di ogni piattaforma varia nel tempo. Alcune piattaforme sono contrassegnate con il livello di assistenza attuale come identificato dal team di OpenThread. Le piattaforme non codificate non sono state testate di recente e potrebbero essere considerate con "Assistenza limitata".

Livello di assistenzaDescription
Supportato Assistenza completa e di base, nonché qualsiasi componente certificato Thread che utilizza OpenThread. Molte di queste piattaforme sono state testate e utilizzate dal team OpenThread e sono consigliate per l'uso nelle nostre demo e nei codelab.
Assistenza limitata Queste piattaforme non sono state completamente testate e potrebbero non disporre di alcune funzionalità chiave.
Non supportato Attualmente non supportato, potrebbe presentare problemi durante l'esecuzione di OpenThread. Scegli questo approccio a tuo rischio e pericolo.

Architettura di sistema

Architettura del sistema OT

OpenThread è progettato per la portabilità e la flessibilità. Il codice è C/C++ (C99 e C++03) portatile, indipendente dall'architettura di sistema a causa di un livello di astrazione ristretto. Questo livello di astrazione significa che OpenThread può essere eseguito su Bare Metal o su un sistema operativo. Ad oggi, è stato dimostrato che OpenThread viene eseguito su FreeRTOS, RIOT-OS, Zephyr OS, Linux e macOS.

La natura portabile di OpenThread non prevede ipotesi di funzionalità della piattaforma. OpenThread fornisce i hook per utilizzare funzionalità radio e di crittografia avanzate, riducendo i requisiti di sistema, come memoria, codice e cicli di calcolo. Questa operazione può essere eseguita per ogni piattaforma, mantenendo la possibilità di impostare come valore predefinito una configurazione standard.

OpenThread dispone di un sistema di compilazione configurabile con il quale uno sviluppatore può attivare o disattivare le funzionalità in base alle esigenze. Oltre alla toolchain GNU predefinita, l'origine è progettata per funzionare con una serie di altre toolchain come IAR e Visual Studio.

Progettazioni piattaforma

OpenThread supporta progetti con co-processore di rete (SoC) e system-on-chip (NCP).

Un SoC è una soluzione a chip singolo con RFIC combinato (802.15.4 nel caso di Thread) e processore, in cui OpenThread e il livello dell'applicazione vengono eseguiti sul processore locale.

Un progetto NCP è dove il livello dell'applicazione viene eseguito su un processore host e comunica con OpenThread tramite una connessione seriale utilizzando un protocollo standard del controller host chiamato Spinel. In questo design, OpenThread può essere eseguito sul radio o sul processore host.

Single-chip, solo thread (SoC)

Architettura del SoC OT

In questo progetto, il livello dell'applicazione e OpenThread vengono eseguiti sullo stesso processore. L'applicazione utilizza direttamente le API OpenThread e lo stack IPv6.

Si tratta del design SoC più comunemente usato per i dispositivi finali. Poiché è altamente integrato in un singolo silicon, ha il costo più basso e il consumo energetico più basso.

Singolo chip, interfaccia multipla (SoC)

Architettura di SoC multi-OT

Quando un SoC ha più radio, come 802.15.4 e Wi-Fi o 802.15.4 e Bluetooth Low Energy (BLE), il livello di applicazione e OpenThread continuano a essere eseguiti sullo stesso processore. Nel design di più interfacce, OpenThread sfrutta lo stack IPv6 di terze parti tramite un'interfaccia datagram IPv6 non elaborata.

Design per co-processore

OpenThread supporta i progetti co-processori radio (RCP) e Network Co-Processor (NCP). Per ulteriori informazioni, consulta la pagina relativa ai design di co-processori.

Problemi relativi alla piattaforma aperta

Al momento, i seguenti problemi sono aperti per le piattaforme OpenThread: