Google tarafından kullanıma sunulan OpenThread, OpenThread ekibi, silikon tedarikçileri ve topluluk tarafından çeşitli cihazlara ve platformlara aktarıldı. Tüm taşınan platformlara yönelik derleme örnekleri, OpenThread deposuna dahil edilmiştir.
Tedarikçi firma tarafından desteklenen tüm platformların ve topluluk bağlantı noktalarının aranabilir bir listesi için Sağlayıcı Arama bölümüne bakın.
Destek
Her platform için destek zaman içinde değişiklik gösterir. Bazı platformlar, OpenThread ekibi tarafından belirlenen mevcut destek düzeyiyle etiketlenmiştir. Etiketlenmemiş platformlar yakın zamanda test edilmemiştir ve "Sınırlı Destek" olarak değerlendirilebilir.
Destek Düzeyi | Açıklama |
---|---|
Tam ve temel desteğin yanı sıra OpenThread kullanan herhangi bir Thread Sertifikalı Bileşen. Bu platformların birçoğu OpenThread ekibi tarafından test edilip kullanılmıştır ve demolarımızda ve Codelab'lerimizde kullanılması önerilir. | |
Bu platformlar tam olarak test edilmemiştir ve bazı temel işlevler eksik olabilir. | |
Şu anda desteklenmemektedir ve OpenThread'in çalıştırılmasında sorunlar olabilir. Bu özellikleri kullanmanızdan doğacak risk size aittir. |
Sistem mimarisi
OpenThread, taşınabilirlik ve esneklik göz önünde bulundurularak tasarlanmıştır. Kod, dar bir soyutlama katmanı nedeniyle sistem mimarisinden bağımsız olan taşınabilir C/C++ (C99 ve C++11) şeklindedir. Bu soyutlama katmanı, OpenThread'in çıplak metal veya işletim sistemi üzerinde çalışabileceği anlamına gelir. Bugüne kadar OpenThread'in FreeRTOS, RIOT-OS, Zephyr OS, Linux ve macOS'te çalıştığı görülmüştür.
OpenThread'in taşınabilir yapısı, platform özellikleri hakkında herhangi bir varsayımda bulunmaz. OpenThread; bellek, kod ve işlem döngüleri gibi sistem gereksinimlerini azaltarak gelişmiş radyo ve şifreleme özelliklerini kullanmak için kancalar sağlar. Bu işlem, varsayılan olarak standart yapılandırma özelliklerini koruyarak platform başına yapılabilir.
OpenThread, geliştiricinin özellikleri gerektiğinde etkinleştirebileceği veya devre dışı bırakabileceği yapılandırılabilir bir derleme sistemine sahiptir. Varsayılan GNU araç zincirinin ötesinde, kaynak IAR ve Visual Studio gibi diğer popüler araç zincirleriyle çalışacak şekilde tasarlanmıştır.
Platform tasarımları
OpenThread, hem çip üzerinde sistem (SoC) hem de ağ ortak işlemci (NCP) tasarımlarını destekler.
SoC, birleşik RFIC (Thread'de 802.15.4) ve işlemciye sahip, OpenThread ve uygulama katmanının yerel işlemcide çalıştırıldığı tek çipli bir çözümdür.
NCP tasarımı, uygulama katmanının bir ana makine işlemcisi üzerinde çalıştığı ve Spinel adını verdiğimiz standartlaştırılmış bir ana makine-denetleyici protokolünü kullanarak bir seri bağlantı üzerinden OpenThread ile iletişim kurduğu durumdur. Bu tasarımda, OpenThread radyo veya ana makine işlemcisinde çalışabilir.
Tek Çipli, Yalnızca İş Parçacığı (SoC)
Bu tasarımda, uygulama katmanı ve OpenThread aynı işlemci üzerinde çalışır. Uygulama, OpenThread API'lerini ve IPv6 yığınını doğrudan kullanır.
Bu, son cihazlar için en yaygın olarak kullanılan çip üzerinde sistem (SoC) tasarımıdır. Tek bir silikona yüksek oranda entegre olduğu için maliyeti ve enerji tüketimi de en düşüktür.
Tek Çipli, Çoklu Arayüz (SoC)
Bir çip üzerinde sistem (SoC) 802.15.4 ve Wi-Fi veya 802.15.4 ve Bluetooth Düşük Enerji (BDE) gibi birden fazla radyoya sahip olduğunda, uygulama katmanı ve OpenThread aynı işlemci üzerinde çalışmaya devam eder. Çoklu arayüz tasarımında OpenThread, ham bir IPv6 datagram arayüzü aracılığıyla paylaşılan üçüncü taraf IPv6 yığınından yararlanır.
Ortak İşlemci Tasarımları
OpenThread, Radyo Ortak İşlemci (RCP) ve Ağ Ortak İşlemci (NCP) tasarımlarını destekler. Daha fazla bilgi için Ortak İşlemci Tasarımları bölümüne bakın.
Açık platform sorunları
Aşağıdaki sorunlar şu anda OpenThread platformları için açıktır: