本レッスンの前のセクションでは、Matter仕様がソフトウェア更新を実行する何らかの方法のサポートを要求していることに触れましたが、Matter OTAメカニズムの使用は任意であり、デバイスはカスタム方法を使用することが許可されています。
nRF Connect SDKは、Matter OTAの代替ソリューションとして、Bluetooth LE経由のSimple Management Protocol(SMP)を使用したDevice Firmware Upgrade(DFU)を提供しています。このアプローチは、Matterデバイスがまだコミッショニングされていない場合やネットワークが利用できない場合など、特定のシナリオにおいて有益です。Bluetooth LEサービスはMatterネットワークの状態とは独立して動作できるためです。
SMPは、アプリケーションイメージ管理を含むデバイス管理目的で使用される基本的な転送エンコーディングです。SMPは、Bluetooth LE、UDP、シリアルUSB/UARTなど、さまざまなトランスポートの使用をサポートしています。
検討されている例では、MatterデバイスはSMPサーバーを実行し、Bluetooth LEトランスポートを使用してアプリケーション更新イメージをダウンロードします。
Bluetooth LEの文脈では、SMPという略語は誤解を招く可能性があります。Bluetooth LEには、デバイス間の安全な接続の確立と管理に使用されるSecurity Manager Protocol(SMP)という別のプロトコルが存在するためです。これら2つのプロトコルは異なる目的を持っており、混同しないようにしてください。
SMPの詳細については、技術文書:SMPプロトコル仕様を参照してください。
SMPがBluetooth LE経由で使用される場合、そのデータはデバイス上のGeneric Attribute Profile(GATT)サービスとして処理されます。SMPは、以下の値を使用する特定のGATTサービスおよび特性UUIDを定義しています:
8D53DC1D-1DB7-4CD3-868B-8A527460AA84DA2E7828-FBCE-4E01-AE9E-261174997C48SMPサーバーを実行しているデバイス(本例ではMatterデバイス)は、Bluetooth LEペリフェラルロールを実装します。ソフトウェアイメージをホストするSMPクライアントロールは、通常、PCツールまたはnRF Connect Device Managerなどのモバイルアプリケーションであり、Bluetooth LEセントラルロールを実装します。
ソフトウェア更新プロセスは通常、次のようになります:
Bluetooth LEトランスポート経由でSMPがどのように動作するかの詳細については、SMPトランスポート仕様を参照してください。
Bluetooth LE経由のSMPを使用したDFUは、モバイルおよびPC向けの複数のアプリケーションでサポートされています。Nordic Semiconductorが推奨するモバイルアプリケーションは、nRF Connect Device Managerです。
PCの場合、最も一般的なアプリケーションは、MCUmgrと呼ばれるLinux用のコマンドラインツールです。