Google si impegna a promuovere l'equità razziale per le comunità nere. Vedi come.
Questa pagina è stata tradotta dall'API Cloud Translation.
Switch to English

piattaforme

OpenThread rilasciato da Google è stato portato su diversi dispositivi e piattaforme dal team OpenThread, dai fornitori di silicio e dalla community. Esempi di compilazione per tutte le piattaforme portate sono inclusi nel repository OpenThread .

Consulta Cerca fornitori per un elenco di tutte le piattaforme supportate dal fornitore e le porte della community.

Supporto

Il supporto per ciascuna piattaforma varia nel tempo. Alcune piattaforme sono taggate con l'attuale livello di supporto identificato dal team OpenThread. Le piattaforme senza tag non sono state testate di recente e possono essere considerate con "Supporto limitato".

Livello di supporto Descrizione
supportato Supporto completo 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 codelab.
Supporto limitato Queste piattaforme non sono state completamente testate e potrebbero mancare alcune funzionalità chiave.
Non supportato Attualmente non supportato e potrebbe avere problemi con OpenThread. Utilizzare a proprio rischio.

Architettura di sistema

Architettura del sistema OT

OpenThread è progettato pensando alla portabilità e flessibilità. Il codice è C / C ++ portatile (C99 e C ++ 03) indipendente dall'architettura del sistema a causa di uno strato di astrazione stretto. Questo livello di astrazione significa che OpenThread può essere eseguito su bare metal o su un sistema operativo. Ad oggi, OpenThread ha dimostrato di funzionare su FreeRTOS, RIOT-OS, Zephyr OS, Linux e macOS.

La natura portatile di OpenThread non fa ipotesi sulle funzionalità della piattaforma. OpenThread fornisce gli hook per utilizzare le funzionalità avanzate di radio e crittografia, riducendo i requisiti di sistema, quali memoria, codice e cicli di calcolo. Questo può essere fatto per piattaforma, pur mantenendo la possibilità di impostare automaticamente una configurazione standard.

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

Design della piattaforma

OpenThread supporta progetti sia di sistema su chip (SoC) che di coprocessore di rete (NCP).

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

Una progettazione NCP è il punto in cui il livello dell'applicazione viene eseguito su un processore host e comunica con OpenThread tramite una connessione seriale utilizzando un protocollo standardizzato controller host che chiamiamo Spinel . In questo progetto, OpenThread può essere eseguito sia sulla radio che sul processore host.

Chip singolo, solo thread (SoC)

OT SoC Architecture

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

Questo è il design SoC più comunemente usato per i dispositivi finali. Poiché è altamente integrato in un singolo silicio, ha il minor costo e il minor consumo energetico.

SoC (Single-Chip, Multiple-Interface)

OT Architettura SoC multipla

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

Coprocessore di rete (PCN)

Architettura OT NCP

Il design NCP standard ha funzionalità Thread sul SoC ed esegue il livello applicazione su un processore host, che in genere è più capace (ma ha maggiori richieste di potenza) rispetto al dispositivo OpenThread. Il processore host comunica con il dispositivo OpenThread tramite un'interfaccia seriale (in genere SPI o UART) tramite il protocollo Spinel.

Il vantaggio di questo design è che l'host ad alta potenza può dormire mentre il dispositivo OpenThread a bassa potenza rimane attivo per mantenere il suo posto nella rete Thread. E poiché il SoC non è legato al livello dell'applicazione, lo sviluppo e il test delle applicazioni è indipendente dalla build di OpenThread.

Questo design è utile per dispositivi gateway o dispositivi che hanno altre esigenze di elaborazione come telecamere IP e altoparlanti.

Coprocessore radio (RCP)

Architettura OT Host-Controller

Questa è una variante del design NCP in cui il nucleo di OpenThread vive sul processore host con solo un "controller" minimo sul dispositivo con la radio Thread. Il processore host in genere non viene disattivato in questo progetto, in parte per garantire l'affidabilità della rete Thread.

Il vantaggio qui è che OpenThread può utilizzare le risorse sul processore più potente.

Questo design è utile per i dispositivi meno sensibili ai limiti di potenza. Ad esempio, il processore host su una videocamera è sempre acceso per elaborare il video.

Problemi con la piattaforma aperta

I seguenti problemi sono attualmente aperti per le piattaforme OpenThread: