Desain Co-Processor didukung oleh OpenThread. Saat mem-build contoh OpenThread, image firmware untuk setiap desain co-processor secara otomatis dibuat. Untuk informasi selengkapnya, lihat Biner.
Koprosesor Radio (RCP)
Dalam desain RCP, core OpenThread berada di prosesor host hanya dengan "pengontrol" lapisan MAC minimal di perangkat dengan radio Thread. Prosesor host biasanya tidak tidur dalam desain ini, sebagian untuk memastikan keandalan jaringan Thread.
Komunikasi antara RCP dan prosesor host dikelola oleh OpenThread Daemon melalui antarmuka SPI melalui protokol Spiel.
Keuntungannya di sini adalah OpenThread dapat memanfaatkan resource pada prosesor yang lebih canggih.
Desain ini berguna untuk perangkat yang kurang sensitif terhadap kendala daya. Misalnya, prosesor host pada kamera video selalu aktif untuk memproses video.
Router Thread OpenThread mendukung desain RCP. Untuk informasi selengkapnya, lihat Router Perbatasan OpenThread.
Untuk mem-build RCP, lihat Codelab berikut:
Mem-build jaringan Thread dengan nRF52840 Thread Border Router
Co-Processor (NCP) Jaringan
Desain NCP standar memiliki fitur Thread pada SoC dan menjalankan lapisan aplikasi pada prosesor host, yang biasanya lebih mampu (tetapi memiliki permintaan daya yang lebih besar) daripada perangkat OpenThread.
Komunikasi antara NCP dan prosesor host dikelola oleh
wpantund
melalui antarmuka serial,
biasanya menggunakan SPI atau UART, melalui protokol Spinel.
Manfaat desain ini adalah host berdaya lebih tinggi dapat tidur saat perangkat OpenThread berdaya lebih rendah tetap aktif untuk mempertahankan posisinya di jaringan Thread. Dan karena SoC tidak terkait dengan lapisan aplikasi, pengembangan dan pengujian aplikasi tidak bergantung pada build OpenThread.
Desain ini berguna untuk perangkat gateway atau perangkat yang memiliki permintaan pemrosesan lain seperti speaker dan kamera IP.
Protokol Spinel
Spinel adalah protokol pengelolaan umum untuk memungkinkan perangkat host berkomunikasi dengan dan mengelola co-processor. Awalnya dirancang untuk mendukung NCP berbasis Thread, Spinel telah dirancang dengan pendekatan berlapis yang memungkinkannya mudah diadaptasi dengan teknologi jaringan lainnya di masa mendatang. Ini digunakan dengan desain RCP dan NCP.
Protokol ini disertakan dengan OpenThread di
/src/lib/spinel
. Alat Python CLI yang disebut
Pyspinel tersedia untuk tujuan pengujian.
Untuk informasi selengkapnya, lihat Draf Internet untuk Protokol Pengontrol Host Spiel.