デバイスシミュレータは、IoT Platform のデバイスシミュレーション機能によって提供され、物理デバイスと IoT Platform 間の接続をシミュレートします。 シミュレータとテストデータを使用して、デバイスと IoT Platform 間の接続性を確認し、接続関連の問題をトラブルシューティングできます。 このトピックでは、デバイスをシミュレートし、シミュレートされたデバイスを IoT Platform に接続する方法について説明します。
機能
デバイスシミュレータを使用すると、デバイスと IoT Platform 間の接続をデバッグできます。 次の表に、デバッグ機能を示します。
機能 | 説明 |
アップストリームデバッグ | デバイスは、次のシナリオで IoT Platform にメッセージを送信します。
|
ダウンストリームデバッグ | IoT Platform は、次のシナリオでデバイスにメッセージを送信します。
|
制限
ポリシーを構成して、プロパティとイベントを定期的に送信できます。
ポリシー設定を複数回変更した場合、最後に変更した内容のみが有効になります。
連続するメッセージ間の最小間隔は 1 秒です。
連続するメッセージを送信できる最大期間は 3 時間です。
データの型パラメータがカスタムに設定されているデバイスには、デバイスシミュレータを使用できません。
オンラインまたは無効になっている物理デバイスには、デバイスシミュレータを使用できません。
デバイスシミュレーションページから移動すると、デバイスシミュレータは無効になります。
排他的インスタンスのカスタム MQTT(Message Queuing Telemetry Transport)エンドポイントと証明書を指定した場合、インスタンスでデバイスシミュレーション機能を使用することはできません。 カスタム証明書の詳細については、「排他的インスタンスの MQTT エンドポイントのカスタム証明書を作成する」をご参照ください。
手順
IoT Platform コンソール にログインします。
[概要] ページで、[すべての環境] をクリックします。 [すべての環境] タブで、管理するインスタンスを見つけ、インスタンス ID またはインスタンス名をクリックします。
左側のナビゲーションウィンドウで、 を選択します。
プロダクトを選択し、次にシミュレートするデバイスを選択します。 [デバイスシミュレーション] ページで、[デバイスシミュレーションの開始] をクリックします。
[MQTT 接続パラメータ] ダイアログボックスで、[MQTT プロトコルバージョン] を選択し、[OK] をクリックします。
MQTT の詳細については、「MQTT プロトコル」をご参照ください。

機能を選択し、データを送信して機能をデバッグします。 次の表に、機能を示します。
アップストリームデバッグ
カスタム Topic
[メッセージレポート]: デバイスシミュレータは、カスタム Topic を使用して IoT Platform にメッセージを送信します。
を選択します。
メッセージを送信するカスタム Topic を選択し、ペイロードデータパラメータを構成します。
Qos パラメータを 0 または 1 に設定します。
MQTT プロトコルバージョンパラメータを 5.0 に設定した場合、[保持メッセージ] パラメータと [メッセージ有効期間(秒)] パラメータを構成できます。
説明Qos パラメータを 0 に設定した場合、[メッセージ有効期間(秒)] パラメータの最大値は 86,400 です。 Qos パラメータを 1 に設定した場合、[メッセージ有効期間(秒)] パラメータの最大値は 604,800 です。 [メッセージ有効期間(秒)] パラメータを構成しない場合、最大値が使用されます。 最大値は、Qos パラメータの値によって異なります。
[メッセージレポート] をクリックします。
[メッセージサブスクリプション]: デバイスシミュレータは、カスタム Topic をサブスクライブして IoT Platform からメッセージを受信します。
[topic カテゴリ] を選択します。
メッセージサブスクリプションの Topic を選択します。
MQTT プロトコルバージョンパラメータを 5.0 に設定した場合、次のパラメータを構成できます。
[qos]。有効な値:[0] および [1]。
[no Local(デバイスメッセージを受信)]。有効な値:[true] および [false]。 値 true は、デバイスが自身のメッセージを受信しないことを指定します。 値 false は、デバイスが自身のメッセージを受信することを指定します。
[retain Handling(サブスクリプション中にデバイスに保持メッセージを送信)]。有効な値:
[0]: サーバーとクライアントの間にサブスクリプションが構成されている場合、サーバーは保持メッセージを送信します。
[1]: サーバーとクライアントの間に新しいサブスクリプションが構成されている場合、サーバーは保持メッセージを送信します。
[2]: サーバーとクライアントの間にサブスクリプションが構成されているかどうかに関係なく、サーバーはクライアントに保持メッセージを送信しません。
[サブスクライブ] をクリックします。
プロパティの送信
デバイスシミュレータは、プロパティを IoT Platform に送信します。
[プロパティ] を選択します。
[デバッグデバイス] ドロップダウンリストから TSL(Thing Specification Language)モジュールを選択します。
プロパティフィールドで値を選択または入力します。 値は、プロパティのデータ型と値の範囲と一致している必要があります。数値型のプロパティをランダムな値に設定できます。
random(a,b)は、整数 a と整数 b の間のランダムな値を指定します。データを送信します。オプション:
[コマンドを送信]: データをすぐに送信します。
[プッシュポリシー]: メッセージングポリシーを構成します。有効な値:
重要デバイスシミュレータが無効になると、メッセージングポリシーは無効になります。
特定の時刻:データは、特定の時点で 1 回だけ送信されます。
特定の間隔:データは、特定の期間中に一定の間隔で繰り返し送信されます。 間隔は秒単位で測定されます。
イベントの送信
デバイスシミュレーション機能は、イベントを IoT Platform に送信します。
を選択します。
[デバッグ機能] ドロップダウンリストから TSL モジュールを選択します。
機能を選択し、
{"Power": "on"}などの JSON 形式でイベントデータを入力します。データを送信します。オプション:
[コマンドを送信]: データをすぐに送信します。
[プッシュポリシー]: メッセージングポリシーを構成します。有効な値:
重要デバイスシミュレータが無効になると、メッセージングポリシーは無効になります。
特定の時刻:データは、特定の時点で 1 回だけ送信されます。
特定の間隔:データは、特定の期間中に一定の間隔で繰り返し送信されます。 間隔は秒単位で測定されます。
ダウンストリームデバッグ
カスタム Topic
IoT Platform は、カスタム Topic を使用してデバイスにメッセージを送信します。
を選択します。
メッセージを送信するカスタム Topic を選択し、ペイロードデータパラメータを構成します。
Qos パラメータを 0 または 1 に設定します。
MQTT プロトコルバージョンを 5.0 に設定した場合、[保持メッセージ] パラメータと [メッセージ有効期間(秒)] パラメータを構成できます。
説明Qos パラメータを 0 に設定した場合、[メッセージ有効期間(秒)] パラメータの最大値は 86,400 です。 Qos パラメータを 1 に設定した場合、[メッセージ有効期間(秒)] パラメータの最大値は 604,800 です。 [メッセージ有効期間(秒)] パラメータを構成しない場合、最大値が使用されます。 最大値は、Qos パラメータの値によって異なります。
[コマンドを送信] をクリックします。
プロパティのクエリと構成
IoT Platform は、プロパティ値を変更またはクエリするコマンドをデバイスシミュレータに送信します。
を選択します。
プロパティフィールドに値を入力し、[デバッグ] をクリックします。次に、[設定] をクリックします。数値型のプロパティをランダムな値に設定できます。
random(a,b)は、整数 a と整数 b の間のランダムな値を指定します。重要成功メッセージは、デバイスが IoT Platform からプロパティ値を変更するコマンドを受信したことを示しているだけです。 デバイスはコマンドを実行しない場合があります。 デバイスを構成するために使用される Link SDK がプロパティ構成リクエストに応答した後、デバイスは最新のプロパティ値を送信して、プロパティ値が変更されたことを証明する必要があります。
プロパティフィールドの右側にある [デバッグ] をクリックします。次に、[取得] をクリックします。
最新のプロパティ値がフィールドに表示されます。 デバイスシミュレータにプロパティ値が存在しない場合、データは表示されません。
サービス呼び出し
を選択します。
[デバッグ機能] ドロップダウンリストから、TSL モジュールとサービスを選択します。
結果
データがプッシュされると、ページの右側にある [デバイスログ] セクションでデバイスログを表示できます。
次の図は例を示しています。

[クラウドログの表示] をクリックします。 [クラウド実行ログ] タブで、関連する IoT プラットフォームログを表示できます。
詳細については、「IoT プラットフォームログ」をご参照ください。
