I progetti di co-processore sono supportati da OpenThread. Esistono due principali architetture di progettazione:
- Radio Co-Processor (RCP) : livello applicazione e core OpenThread sul processore host, MAC OpenThread minimo sul SoC 802.15.4. La comunicazione tra l'RCP e il processore host è gestita da OpenThread Daemon tramite un'interfaccia SPI sul protocollo Spinel.
- Co-processore di rete (NCP) : livello applicazione sul processore host, funzionalità OpenThread sul SoC 802.15.4. La comunicazione tra l'NCP e il processore host è gestita da
wpantund
tramite un'interfaccia seriale, tipicamente utilizzando SPI o UART, sul protocollo Spinel.
Per ulteriori informazioni su questi progetti, vedere Progettazione di piattaforme .
Quando si creano esempi OpenThread, le immagini del firmware per il progetto RCP o NCP desiderato dovrebbero essere create automaticamente. Per ulteriori informazioni, vedere Binari .
Per il download di immagini del firmware NCP predefinite selezionate, insieme alle istruzioni lampeggianti, vedere Firmware NCP precostruito .
Protocollo spinello
Spinel è un protocollo di gestione generale che consente a un dispositivo host di comunicare e gestire un coprocessore. Progettato inizialmente per supportare NCP basati su thread, Spinel è stato progettato con un approccio a più livelli che gli consente di essere facilmente adattato ad altre tecnologie di rete in futuro. Viene utilizzato con entrambi i modelli RCP e NCP.
Questo protocollo è incluso con OpenThread in /src/lib/spinel
. Uno strumento CLI Python chiamato Pyspinel è disponibile a scopo di test.
Per ulteriori informazioni, vedere Internet-Draft per Spinel Host-Controller Protocol .