このガイドでは、OpenThread コミッター(OT コミッショナー)の基本的なビルドと構成について説明します。この手順を完了すると、OT コミッショナー CLI 実行可能ファイルと静的コミッショナー ライブラリが用意されます。
OT コミッショナーを設定
OT コミッショナー リポジトリのクローンを作成します。
git clone https://github.com/openthread/ot-commissioner
依存関係をインストールします。
cd ot-commissioner
./script/bootstrap.sh
OT コミッショナーの構築
OT コミッショナーが /usr/local
ディレクトリにインストールします。インストール ディレクトリを変更する場合は、-DCMAKE_INSTALL_PREFIX
を設定します。
OT コミッターの構築:
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=/usr/local -GNinja ..
ninja -j1
次のステップ(
)でexport COMMISSIONER_CLI=/usr/local/bin/commissioner-cli
commissioner-cli
を実行する環境変数を作成します。省略可。単体テストを実行します。
./tests/commissioner-test
OT コミッショナーのインストール
OT コミッショナーがインストール ディレクトリに以下をインストールします。
- OT コミッショナー ライブラリとヘッダー ファイル
- OT コミッター CLI 実行可能バイナリ
- デフォルトの構成ファイルと認証情報
- OT コミッショナー CLI をデーモンとして実行するスクリプト
sudo ninja install
インストールを確認するには、ヘルプメニューを確認します。
$COMMISSIONER_CLI -h
/usr/local
ディレクトリにインストールした場合は、コマンドラインから commissioner-cli
を使用できます。
commissioner-cli -h
構成
OT コミッショナー CLI は、Thread 1.2 商用コミック モード(CCM)と Thread 1.1 コミッショニング(CCM 以外)の両方をサポートしています。別の Thread ネットワークに接続するには、JSON 構成ファイルで OT コミッショナー CLI を起動する必要があります。
ccm-config.json
- CCM Thread ネットワークのデフォルト構成ファイル。non-ccm-config.json
- 非 CCM Thread ネットワークのデフォルト構成ファイル。
デフォルトでは、これらの構成ファイルは /usr/local/etc/commissioner
にインストールされます。ot-commissioner GitHub リポジトリでサンプル ファイルを表示することもできます。
CCM の構成
CCM Thread ネットワークに接続するには、ccm-config.json
の次のフィールドを更新します。
Field | 説明 |
---|---|
DomainName |
企業ドメイン内で一意の識別子 |
PrivateKeyFile |
PEM 形式の秘密鍵ファイル。 |
CertificateFile |
PEM 形式の証明書ファイル。 |
TrustAnchorFile |
PEM 形式のトラスト アンカー ファイル。 |
これらの鍵ファイルと証明書ファイルは、コミッショナーとボーダー エージェント間の安全なセッションを確立するために使用されます。
CCM 以外の構成
事前共有キー PSKc
は、コミッショナーとボーダー エージェント間の安全なセッションを確立するために使用されます。非 CCM Thread ネットワークに接続するには、OT コミッショナー CLI から PSKc
を設定します。詳細については、外部コミッショニングをご覧ください。
ロギング
コマンドラインから pi@raspberrypi: commissioner-cli
を実行すると、OT コミッターは現在の作業ディレクトリに commissioner.log
ファイル(/home/pi/commissioner.log
など)を作成します。JSON 構成ファイルでは、LogFile
パス、ロギングレベル、その他のログ設定を構成できます。
読み込み構成
構成設定で OT コミッショナーを起動するには:
commissioner-cli /usr/local/etc/commissioner/ccm-config.json
結合者をコミッションする
OT コミッショナーを使用して結合者をコミッションするには、外部コミッションをご覧ください。