Gelişmiş Özellikleri Uygulama

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

Bazı gelişmiş özellikler, olup olmadıklarına bağlı olarak isteğe bağlıdır. desteklenen bir modeldir.

Otomatik çerçeve beklemede

IEEE 802.15.4, üst ve alt yayıncı arasında iki tür veri iletim yöntemini tanımlar çocuk: doğrudan bulaşma ve dolaylı bulaşma. İkincisi ise proje yaşam döngüsü çoğunlukla uykulu son cihazlar (SED'ler) için. kuyruğa alınan veriler olup olmadığını görmek için ebeveyni yoklamak üzere düzenli olarak uyanır.

  • Doğrudan İletim: Ebeveyn, doğrudan son cihaza bir veri çerçevesi gönderir Doğrudan İletim

  • Dolaylı İletim: Ebeveyn, hedeflenen son cihazı tarafından talep edilene kadar verileri saklar. Doğrudan İletim

Dolaylı durumda, alt uç cihazın ilk olarak ebeveyni yoklaması gerekir. mevcut olup olmadığını gösterir. Çocuk bunun için bir veri gönderir. ebeveyn tarafından onaylar. Daha sonra ana yayıncı, Çocuğun cihazıyla ilgili herhangi bir veriye sahip; alta bir veri paketi gönderir. cihazın onaylamasını sağlayın.

Radyo, giden çağrılarda Çerçeve Beklemede bitinin dinamik olarak ayarlanmasını destekliyorsa sürücüler, SED'lere onay verdiğinden, kaynak adresi eşleşmesi API'yi kullanabilirsiniz. OpenThread bu API'yı kullanarak radyoya hangi Çerçeve Beklemede bitini ayarlamak için SED'ler kullanabilirsiniz.

Radyo, Çerçeve Beklemede bitinin dinamik olarak ayarlanmasını desteklemiyorsa radyo, döndürecek API'nin kaynak adresi ile eşleşebilir OT_ERROR_NOT_IMPLEMENTED

Radyo ile Enerji Tarama/Algılama

Enerji Tarama/Algılama özelliği, enerjiyi örneklemek için radyo çipi gerektirir seçili kanallarda sunum yaparak algılanan enerji değerini üst katmanız var.

Bu özellik uygulanmazsa IEEE 802.15.4 MAC katmanı Mevcut mesajı değerlendirmek için İşaretçi İstek/Yanıt paketi gönderir/alır. ne kadar değer verdiğinizi gösterir.

Radyo çipi Enerji Taraması/Algılama özelliğini destekliyorsa yazılımı devre dışı bıraktığınızdan emin olun. makroyu ayarlayarak enerji tarama mantığını OPENTHREAD_CONFIG_ENABLE_SOFTWARE_ENERGY_SCAN = 0

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

mbedTLS, ana yapılandırma üstbilgi dosyasında çeşitli makroları tanımlar. mbedtls-config.h Bu da kullanıcıların AES, SHA1, SHA2 ve alternatif uygulamalarını etkinleştirmesini sağlar. ve Eliptik eğri için bağımsız fonksiyonların yanı sıra GF (p) modülü üzerinden kriptografi(ECC) Görüntüleyin mbedTLS donanım hızlandırma konulu videomuzu izleyin.

OpenThread bu makroları etkinleştirmez; bu nedenle simetrik kripto algoritmalar, karma algoritmaları ve ECC işlevleri birlikte çalışır. Bu uygulamalar önemli miktarda bellek gerektirir yeni bilgiler edinir. Optimum performans ve daha iyi bir kullanıcı için Bu işlemi yapmak için yazılım yerine donanım hızlandırmayı yukarıdaki işlemleri uygulayın.

OpenThread içinde donanım hızlandırmayı etkinleştirmek için aşağıdaki mbedTLS yapılandırma başlığı dosyaları ot-config derlemesine eklenmelidir aşağıdaki tanımlar:

  • OpenThread'de kullanılan tüm gerekli makroları tanımlayan ana yapılandırma: /openthread/third-party/mbedtls/mbedtls-config.h
  • Özel yapılandırmanın alternatif uygulamalarını tanımlayan, modüller ve işlevler: src/platform-name-mbedtls-config.h

nrf52811.cmake örneği:

target_compile_definitions(ot-config INTERFACE
    "MBEDTLS_USER_CONFIG_FILE=\"nrf52811-mbedtls-config.h\""
)

mbedtls-config.h ürününde yorum yapılan makrolar zorunlu değildir ve şurada etkinleştirilebilir: kullanıcıya özel yapılandırma üstbilgisi dosyasına sahip olabilir.

Kullanıcıya özel yapılandırmanın tamamı için mbedtls_config_autogen.h ot-efr32 klasöründeki.

AES modülü

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

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

  1. Kullanıcıya özel mbedTLS'de MBEDTLS_AES_ALT makrosunu tanımlama yapılandırma üstbilgi dosyası
  2. aes_alt.h dosyasının yolunu MBEDTLS_CPPFLAGS kullanarak belirtin. değişken

SHA256 modülü

OpenThread Security, aşağıdaki adımları uygulayarak HMAC ve SHA256 karma algoritmalarını Thread'e göre ağ anahtarı yönetimi ve PSKc oluşturma için karma değeri Spesifikasyon.

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

  1. Kullanıcıya özel mbedTLS'de MBEDTLS_SHA256_ALT makrosunu tanımlama yapılandırma üstbilgi dosyası
  2. sha256_alt.h dosyasının yolunu MBEDTLS_CPPFLAGS kullanarak belirtin. değişken

ECC işlevleri

mbedTLS şu anda yalnızca ECC'nin bölümleri için donanım hızlandırmayı desteklediğinden fonksiyonlarının kullanılması yerine, bunlardan bazılarını uygulamaya şurada tanımlanan işlevler: ECC'yi hızlandırmak için path-to-mbedtls/library/ecp.c noktayla çarpma işlemi.

Eğri secp256r1, anahtar değişimi algoritmasında kullanılan ECJPAKE taslağı. Dolayısıyla, donanım hızlandırma en azından secp256r1 kısa Weierstrass'ı desteklemelidir eğri işlemi. SiLabs CRYPTO Donanım Hızlandırması için mbedTLS inceleyebilirsiniz.