Google is committed to advancing racial equity for Black communities. See how.

Platformlar

Google tarafından yayınlanan OpenThread, OpenThread ekibi, silikon satıcıları ve topluluk tarafından çeşitli cihazlara ve platformlara taşındı. Tüm taşınan platformlar için derleme örnekleri OpenThread deposuna dahil edilmiştir.

Satıcı tarafından desteklenen tüm platformların ve topluluk bağlantı noktalarının aranabilir bir listesi için Satıcıları Ara'ya bakın.

Destek

Her platform için destek zamanla değişir. 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 kabul edilebilir.

Destek Seviyesi Açıklama
Desteklenen OpenThread kullanan herhangi bir Thread Onaylı Bileşenin yanı sıra tam ve temel destek. Bu platformların çoğu OpenThread ekibi tarafından test edilmiş ve kullanılmıştır ve demolarımızda ve Codelab'lerimizde kullanılması önerilir.
Sınırlı Destek Bu platformlar tam olarak test edilmemiştir ve bazı önemli işlevler eksik olabilir.
Desteklenmiyor Şu anda desteklenmemektedir ve OpenThread'i çalıştırırken sorun yaşayabilir. Kendi sorumluluğunuzda kullanın.

Sistem mimarisi

OT 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++'dır (C99 ve C++03). Bu soyutlama katmanı, OpenThread'in çıplak metal veya bir işletim sistemi üzerinde çalışabileceği anlamına gelir. Bugüne kadar OpenThread'in FreeRTOS, RIOT-OS, Zephyr OS, Linux ve macOS üzerinde çalıştığı kanıtlanmıştır.

OpenThread'in taşınabilir doğası, platform özellikleri hakkında hiçbir varsayımda bulunmaz. OpenThread, gelişmiş radyo ve kripto özelliklerini kullanmak için kancalar sağlayarak bellek, kod ve hesaplama döngüleri gibi sistem gereksinimlerini azaltır. Bu, standart bir konfigürasyona varsayılan olma özelliğini korurken platform başına yapılabilir.

OpenThread, bir geliştiricinin özellikleri gerektiği gibi etkinleştirebileceği veya devre dışı bırakabileceği yapılandırılabilir bir yapı sistemine sahiptir. Varsayılan GNU araç zincirinin ötesinde, kaynak, IAR ve Visual Studio gibi bir dizi başka popüler araç zinciriyle çalışmak üzere tasarlanmıştır.

Platform tasarımları

OpenThread, hem çip üzerinde sistem (SoC) hem de ağ yardımcı işlemcisi (NCP) tasarımlarını destekler.

Bir SoC, OpenThread ve uygulama katmanının yerel işlemci üzerinde çalıştığı, birleşik RFIC (Thread durumunda 802.15.4) ve işlemciye sahip tek çipli bir çözümdür.

NCP tasarımı, uygulama katmanının bir ana bilgisayar işlemcisi üzerinde çalıştığı ve OpenThread ile Spinel olarak adlandırdığımız standart bir ana bilgisayar denetleyicisi protokolü kullanarak bir seri bağlantı aracılığıyla iletişim kurduğu yerdir. Bu tasarımda OpenThread, radyo veya ana bilgisayar işlemcisinde çalışabilir.

Tek Yongalı, Yalnızca İş Parçacığı (SoC)

OT SoC Mimarisi

Bu tasarımda uygulama katmanı ve OpenThread aynı işlemci üzerinde çalışır. Uygulama, doğrudan OpenThread API'lerini ve IPv6 yığınını kullanır.

Bu, uç cihazlar için en yaygın olarak kullanılan SoC tasarımıdır. Tek bir silikona son derece entegre olduğu için en düşük maliyete ve en düşük güç tüketimine sahiptir.

Tek Yongalı, Çoklu Arayüzü (SoC)

OT Çoklu SoC Mimarisi

Bir SoC, 802.15.4 ve Wi-Fi veya 802.15.4 ve Bluetooth Düşük Enerji (BLE) gibi birden çok radyoya sahip olduğunda, uygulama katmanı ve OpenThread yine aynı işlemci üzerinde çalışır. Ç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.

Ağ Ortak İşlemcisi (NCP)

OT NCP Mimarisi

Standart NCP tasarımı, SoC üzerinde Thread özelliklerine sahiptir ve uygulama katmanını, OpenThread cihazından genellikle daha yetenekli (ancak daha fazla güç gereksinimi olan) bir ana bilgisayar işlemcisinde çalıştırır. Ana işlemci, Spinel protokolü üzerinden bir seri arabirim (tipik olarak SPI veya UART) aracılığıyla OpenThread cihazıyla iletişim kurar.

Bu tasarımın yararı, daha düşük güçlü OpenThread cihazı Thread ağındaki yerini korumak için aktif kalırken daha yüksek güçlü ana bilgisayarın uyuyabilmesidir. SoC, uygulama katmanına bağlı olmadığından, uygulamaların geliştirilmesi ve test edilmesi OpenThread yapısından bağımsızdır.

Bu tasarım, ağ geçidi cihazları veya IP kameralar ve hoparlörler gibi başka işleme talepleri olan cihazlar için kullanışlıdır.

Radyo Yardımcı İşlemcisi (RCP)

OT RCP Mimarisi

Bu, OpenThread'in çekirdeğinin, Thread radyolu cihazda yalnızca minimal bir MAC katmanı "kontrolörü" ile ana bilgisayar işlemcisinde yaşadığı NCP tasarımının bir çeşididir. Ana bilgisayar işlemcisi, kısmen Thread ağının güvenilirliğini sağlamak için bu tasarımda genellikle uyumaz.

Buradaki avantaj, OpenThread'in kaynakları daha güçlü işlemcide kullanabilmesidir.

Bu tasarım, güç kısıtlamalarına daha az duyarlı olan cihazlar için kullanışlıdır. Örneğin, bir video kameradaki ana işlemci, videoyu işlemek için her zaman açıktır.

Açık platform sorunları

Aşağıdaki sorunlar şu anda OpenThread platformları için açıktır: