Brunoで検証
Brunoコレクションを使って、認証、デバイス照会、リレー制御、RS485透過送信、コマンド結果の照会を検証します。2つのcurlリクエストと比べて、この方法はより広い範囲をカバーし、組み込みのアサーションがレスポンスの形式を自動的に検証するため、JSONを目視で確認する必要がありません。
事前準備
clientIdとclientSecretを用意します。device:readを有効化します。リレーやRS485のリクエストを実行する場合のみdevice:controlまたはdevice:configを有効化してください。- 対象のデバイスとリレーが安全に制御できることを確認してください。
- まだ実機や認証情報がない場合は、support@svnwi.com に連絡し、テスト用認証情報と利用可能なデモデバイスの機種について問い合わせてください。先に実機を購入する必要はありません。
1. Brunoをインストール
Brunoデスクトップアプリをダウンロードします。CIやヘッドレス環境向けにはCLIをインストールします。
npm install -g @usebruno/cli
bru --version2. コレクションを取得
SDKリポジトリ全体ではなく、examples/bruno フォルダだけが必要です。この部分だけを取得するにはスパースチェックアウトを使います。
git clone --filter=blob:none --sparse https://github.com/svnwi/wlte-openapi-sdk.git
cd wlte-openapi-sdk
git sparse-checkout set examples/brunoこのフォルダをBrunoデスクトップアプリで開きます。
examples/bruno/WLTE-OpenAPI/3. 認証情報を設定
リポジトリにコミットされている environments/quickstart.bru はプレースホルダーのみを含むため、Gitの履歴に含まれても問題ありません。実際の認証情報は、決してコミットしないローカルコピーに記載します。
cd examples/bruno/WLTE-OpenAPI
cp environments/quickstart.bru environments/quickstart.local.bruenvironments/quickstart.local.bru を開き、次の部分だけを置き換えます。
clientId -> your_client_id
clientSecret -> your_client_secretBrunoで quickstart.local 環境を選択します。コレクションのスクリプトが accessToken、deviceId、commandId を自動的に設定します。relayIndex はデフォルトで 1 です。
quickstart.local.bru はすでに .gitignore で除外されています——このルールを変更しないでください。
4. 読み取り専用の検証を実行
次のリクエストを順番に実行します。
| 順序 | リクエスト | 目的 |
|---|---|---|
| 1 | 00-auth / Auth | アクセストークンを取得する |
| 2 | 01-device-queries / 01-list-devices | アクセス可能なデバイスを確認し、deviceId を自動設定する |
| 3 | 01-device-queries / 02-get-device-real-time-status | デバイスの状態を更新して読み取る |
| 4 | 01-device-queries / 03-list-profiles | デバイスタイプ定義を照会し、対応する機能を確認する |
| 5 | 01-device-queries / 04-get-device-config | 現在の設定(ボーレート、ジョグ時間など)を読み取る |
組み込みのアサーションが、HTTPステータスとレスポンス形式を検証します。
5. 任意でデバイス制御を検証
デバイスコマンドは実際のハードウェアの状態を変更します。API Clientが対応する権限を持ち、操作が安全であることを確認したうえで続けてください。必要なリクエストだけを選んで実行します。
| 順序 | リクエスト | 目的 | 必要なスコープ |
|---|---|---|---|
| 6 | 02-relay-control / 01-turn-relay-on | リレーをオンにする | device:control |
| 7 | 02-relay-control / 02-turn-relay-off | リレーをオフにする | device:control |
| 8 | 02-relay-control / 03-jog-relay | ジョグを1回実行する | device:control |
| 9 | 02-relay-control / 04-set-relay-jog-time | ジョグ時間を設定する(リレーの現在の状態は変更しない) | device:config |
| 10 | 02-relay-control / 05-control-multiple-relays | 1回のリクエストで複数のリレーを制御する | device:control |
| 11 | 04-rs485 / 01-rs485-transceive | RS485透過送信データを送る(RS485対応デバイスが必要) | device:control |
| 12 | 04-rs485 / 02-set-rs485-baud-rate | RS485ボーレートを設定する | device:config |
| 13 | 03-command-result / 01-get-command-result | 前の手順の commandId を使って最終結果を照会する | device:read |
読み取り専用の統合であれば、このセクション全体をスキップしてください。RS485リクエストをテストする前に、rs485DeviceId を実際にRS485に対応しているデバイスに設定してください(デフォルトではコレクションのナビゲーション目的で最初に検出されたデバイスが使われますが、それはRS485対応を意味するものではありません)。
CLIの使い方
CLIではパスによって実行するフォルダを選択できるため、誤ってリレー操作を実行してしまうかもしれない1つのコマンドではなく、読み取り専用の検証とデバイス制御を別々の2つのコマンドに分けることができます。
cd examples/bruno/WLTE-OpenAPI
# 読み取り専用の検証: データを読み取るだけで、デバイスの状態は変更しない
bru run --env-file environments/quickstart.local.bru \
00-auth 01-device-queries
# デバイス制御の検証: 実際にリレーとRS485デバイスを操作する——先に安全性を確認すること
bru run --env-file environments/quickstart.local.bru \
02-relay-control 04-rs485 03-command-resultbru run --env quickstart をパスなしで実行しないでください
フォルダパスを指定しないと、bru run はコレクション内のすべてのリクエストを再帰的に実行します。読み取り専用の確認だけを意図していた場合でも、リレーのオン/オフ、ジョグ、RS485コマンドが含まれます。上記のように、必ずフォルダを明示的に指定してください。
初めての統合作業では、環境変数・アサーション・レスポンス本文を確認しやすいデスクトップアプリの方が扱いやすいでしょう。CLIは繰り返しの検証やCIに向いています。
検証結果
このページを完了すると、次の項目を検証したことになります。
- API Clientの認証
- デバイスアクセス、リアルタイム状態、デバイス設定、タイプ定義
- 任意でのリレー制御、RS485透過送信、コマンド結果の照会
アカウント全体を、単一デバイスへの繰り返しリクエストで監視しないでください。一括表示にはデバイス一覧を、継続的な変化にはWebSocketイベントを使ってください。
