Google is committed to advancing racial equity for Black communities. See how.
Bu sayfa, Cloud Translation API ile çevrilmiştir.
Switch to English

Gelişmiş Özellikleri Uygulayın

Kaynağı GitHub'da görüntüleyin

Bazı gelişmiş özellikler, hedef donanım platformunda desteklenip desteklenmediklerine bağlı olarak isteğe bağlıdır.

Otomatik çerçeve beklemede

IEEE 802.15.4, ebeveyn ve çocuk arasında iki tür veri aktarım yöntemi tanımlar: doğrudan aktarım ve dolaylı aktarım. İkincisi, öncelikli olarak çoğu zaman uyuyan ve sıradaki veriler için ebeveyni sorgulamak üzere periyodik olarak uyanan uykulu uç cihazlar (SED'ler) için tasarlanmıştır.

  • Doğrudan İletim - ebeveyn, bir veri çerçevesini doğrudan son cihaza gönderir Doğrudan İletim

  • Dolaylı İletim - ebeveyn, amaçlanan son cihazı tarafından talep edilene kadar verileri tutar Doğrudan İletim

Dolaylı durumda, bir alt cihaz, kendisi için herhangi bir veri olup olmadığını belirlemek için önce ebeveyni yoklamalıdır. Bunu yapmak için çocuk, ebeveynin onayladığı bir veri talebi gönderir. Daha sonra ebeveyn, alt cihaz için herhangi bir veriye sahip olup olmadığını belirler; eğer öyleyse, alt cihaza verinin alındığını onaylayan bir veri paketi gönderir.

Telsiz, SED'lere giden bildirimlerde Çerçeve Beklemede bitini dinamik olarak ayarlamayı destekliyorsa, sürücülerin bu özelliği etkinleştirmek için kaynak adresi eşleştirme API'sini uygulaması gerekir. OpenThread, radyoya hangi SED'lerin Çerçeve Bekleyen bitini ayarlayacağını söylemek için bu API'yi kullanır.

Telsiz, Çerçeve Bekleyen biti dinamik olarak ayarlamayı desteklemiyorsa, telsiz OT_ERROR_NOT_IMPLEMENTED döndürmek için kaynak adresi eşleştirme API'sini OT_ERROR_NOT_IMPLEMENTED .

Radyo ile Enerji Tarama / Algılama

Enerji Tarama / Algılama özelliği, radyo çipinin seçilen kanallarda mevcut olan enerjiyi örneklemesini ve algılanan enerji değerini üst katmana döndürmesini gerektirir.

Bu özellik uygulanmazsa, IEEE 802.15.4 MAC katmanı, kanaldaki mevcut enerji değerini değerlendirmek için bir İşaret Talebi / Yanıt paketi gönderir / alır.

Radyo çipi Energy Scan / Detect'i destekliyorsa, OPENTHREAD_CONFIG_ENABLE_SOFTWARE_ENERGY_SCAN = 0 makrosunu ayarlayarak yazılım enerji tarama mantığını devre dışı OPENTHREAD_CONFIG_ENABLE_SOFTWARE_ENERGY_SCAN = 0 emin olun.

MbedTLS için donanım hızlandırma

mbedTLS, kullanıcıların AES, SHA1, SHA2 ve diğer modüllerin alternatif uygulamalarının yanı sıra GF üzerinden Eliptik eğri kriptografisi (ECC) için ayrı işlevleri etkinleştirmesine izin vermek için ana yapılandırma başlık dosyasında, mbedtls-config.h birkaç makro tanımlar. (p) modülü. Daha fazla bilgi içinmbedTLS donanım hızlandırmasına bakın.

OpenThread bu makroları etkinleştirmez, bu nedenle simetrik şifreleme algoritmaları, karma algoritmalar ve ECC işlevlerinin tümü varsayılan olarak yazılım uygulamalarını kullanır. Bu uygulamalar, önemli miktarda bellek ve hesaplama kaynakları gerektirir. En iyi performans ve daha iyi bir kullanıcı deneyimi için, yukarıdaki işlemleri gerçekleştirmek üzere yazılım yerine donanım hızlandırmayı etkinleştirmenizi öneririz.

OpenThread içinde donanım hızlandırmayı etkinleştirmek için, aşağıdaki mbedTLS yapılandırma başlık dosyaları, platform örneğinin Makefile dosyasındaki derleme seçeneği bayraklarına eklenmelidir:

  • OpenThread'de kullanılan tüm gerekli makroları tanımlayan ana yapılandırma: /openthread/third-party/mbedtls/mbedtls-config.h
  • Modüllerin ve işlevlerin alternatif uygulamalarını tanımlayan kullanıcıya özel konfigürasyon: /openthread/examples/platforms/ platform-name /crypto/ platform-name -mbedtls-config.h

Misal:

EFR32_MBEDTLS_CPPFLAGS  = -DMBEDTLS_CONFIG_FILE='\"mbedtls-config.h\"'
EFR32_MBEDTLS_CPPFLAGS += -DMBEDTLS_USER_CONFIG_FILE='\"efr32-mbedtls-config.h\"'

mbedtls-config.h makrolar zorunlu değildir ve donanım hızlandırması için kullanıcıya özel yapılandırma başlık dosyasında etkinleştirilebilir.

Kullanıcıya özgü eksiksiz bir yapılandırma örneği için mbedtls_config_autogen.h dosyasına bakın.

AES modülü

OpenThread Security, IEEE 802.15.4 veya MLE mesajlarını şifrelemek / şifresini çözmek için AES CCM (CBC-MAC ile Sayaç) şifresini uygular ve mesaj entegrasyon kodunu doğrular. Donanım hızlandırma, AES CCM temel işlevsel çağrısı için en azından temel AES ECB (Elektronik Kod Kitabı Kitabı) modunu desteklemelidir.

Alternatif bir AES modülü uygulamasını kullanmak için:

  1. Kullanıcıya özel mbedTLS yapılandırma başlık dosyasında MBEDTLS_AES_ALT makrosunu tanımlayın
  2. MBEDTLS_CPPFLAGS değişkenini kullanarak aes_alt.h dosyasının yolunu MBEDTLS_CPPFLAGS

SHA256 modülü

OpenThread Güvenliği, İş Parçacığı Spesifikasyonuna göre ana anahtar yönetimi ve PSKc üretimi için karma değeri hesaplamak için HMAC ve SHA256 karma algoritmaları uygular.

Alternatif bir temel SHA256 modül uygulamasını kullanmak için:

  1. Kullanıcıya özel mbedTLS yapılandırma başlık dosyasında MBEDTLS_SHA256_ALT makrosunu tanımlayın
  2. MBEDTLS_CPPFLAGS değişkenini kullanarak sha256_alt.h dosyasının yolunu MBEDTLS_CPPFLAGS

ECC fonksiyonları

MbedTLS şu anda modülün tamamı yerine yalnızca ECC işlevlerinin bazı bölümleri için donanım hızlandırmayı desteklediğinden, ECC nokta çarpımını hızlandırmak için path-to-mbedtls /library/ecp.c tanımlanan bazı işlevleri uygulamayı seçebilirsiniz.

Eğri secp256r1, ECJPAKE taslağının anahtar değişim algoritmasında kullanılır. Bu nedenle, donanım hızlandırma en azından secp256r1 kısa ağırlık eğrisi işlemini desteklemelidir. Örnek için mbedTLS için SiLabs CRYPTO Donanım Hızlandırmasına bakın.