動作確認
0. はじめに
動作の確認は、次の6つのステップがあります。
- OpenBlocksにてプロセスの確認を行います。
- OpenBlocksにてログの確認を行います。
- Device Shadowの状態をモニターするためClassic Shadowタブを開きます。
- 送受されるメッセージをモニターするためメッセージ サブスクライブ用バッチファイルを起動します。
- 仮想シリアル・デバイス(Tera Term)を操作してDevice Shadowへメッセージが送られることを確認します。
- 制御メッセージ パブリッシュ用バッチファイルを用いて制御メッセージをDevice Shadowへ送り、
仮想シリアル・デバイス(Tera Term)が制御(所定のメッセージが出力)されていることを確認します。
6-1. スイッチ OFF
6-2. スイッチ ON
1. プロセスの確認
ダッシュボードタブのプロセス状況 (IoTデータ) ペインにてPD RepeaterとPD Handler RS-SERIALのプロセスを確認します。
- PD Repeaterが稼働中であることを確認します。
- PD Handler RS-SERIALが稼働中であることを確認します。
停止中である場合は、送受信設定に誤りが無いか確認します。
起動しないよくある原因として次の事項が挙げられます。
- PD Repeater
- 送信先ホストの設定が誤っている
- ルート証明書、デバイス証明書、プライベートキーのパス名が誤っている。
- PD Handler RS-SERIAL
- Luaスクリプト ファイルのデバイス番号、デバイスファイル名の指定が誤っている。
2. ログの確認
IoTデータ⇒ログタブにて、PD Handler RS-SERIALとPD Repeaterのログ出力を確認します。
上の黒いタブ列にIoTデータタブが表示されていない場合は、サービスタブにあるIoTデータのリンクをクリックして下さい。
2-1. PD Handler RS-SERIAL のログ
PD Handler RS-SERIALのログ出力を確認します。 ログ選択プルダウンメニューにてpd-handler-rs-serial.logを選択します。
正常に動作している場合、デバイスからデータを受け次の様なメッセージがログに出力されます。
2-2. PD Repeater のログ
PD Repeaterのログ出力を確認します。
ログ選択プルダウンメニューにてpd-repeater.logを選択します。
正常に動作している場合、次の様に AWS IoT Core へ送信したデータ数をログに出力します。
また、AWS IoT Core よりメッセージを受信すると次の様にログに出力します。
AWS IoT Core への接続に失敗している場合は、次の様なメッセージがログに出力されます。
接続に失敗する原因としては、送受信設定に誤りがある場合の他に ルート証明書、デバイス証明書、プライベートキーの何れかが正しくない場合やネットワークの設定に問題がる場合もあります。
なお、ログ出力メッセージについての詳細は多義に渡るため公開されておりません。
ご不明な点がございましたらサポートに必要となるログ情報を取得 の上サポート窓口にお問い合わせ下さい。
3. Classic Shadow タブを開く
AWS IoT Device Shadowの状態をモニターするため、AWS IoT コンソールの AWS IoT > 管理>モノ > SERIAL > Classic Shadowタブを開きます。
- AWS IoT コンソールにサインインし、 AWS IoT タブへアクセス します。
- 画面左メニューバーのすべてのデバイス⇒モノをクリックします。
AWS IoT > 管理 > モノタブが表示されます。
AWS IoT > 管理 > モノタブにてSERIALを選択します。
AWS IoT > 管理 > モノ > SERIALタブが表示されます。
AWS IoT > 管理 > モノ > SERIALタブにてDevice Shadowタブを選択します。
Device Shadowペインが表示されます。
デバイス(SERIAL)が AWS IoT Core に接続されDevice Shadowメッセージを受けとるまでClassic Shadowは存在しません。
シリアル・デバイス又はApplication Clientを操作しDevice Shadowメッセージが送信された後に、
Device ShadowペインのボタンをクリックするとClassic Shadowが表示されます。
AWS IoT > 管理 > モノ > SERIALタブのDevice ShadowペインにてClassic Shadowを選択します。
AWS IoT > 管理>モノ > SERIAL > Classic Shadowタブが表示されます。
4. メッセージ サブスクライブ用バッチファイルの起動
送受されるメッセージをモニターするため Windows PC にてバッチファイルの準備で作成したメッセージ サブスクライブ用バッチファイルsub.batを起動します。
- Windows PC にてコマンド プロンプト(cmd.exe)を開きます。
- 作業用ディレクトリの作成した作業用ディレクトリC:\Users\user\rs_serialに移動します。
- sub.batを起動します。
5. シリアル・デバイスを操作し動作を確認
シリアル・デバイスの準備で起動したTera Termを操作し動作を確認します。
5-1. Tera Term の操作
シリアル・デバイスの準備で起動したTera Termを操作し、仮想デバイスの switchA を on にします。
Tera TermのコンソールにswitchAOnと入力します。
5-2. PD Handler RS-SERIAL のログの確認
PD Handler RS-SERIAL のログを確認します。
switchAがonとなったことを示すreportedメッセージがPD Repeaterへ送られたことを示すログが出力されます。
ここで、@UPDATE {}はDevice ShadowをサポートするためにPD Repeater用意された構文です。
詳しくはAWS IoTの送信メッセージ構文をご覧下さい。
5-3. PD Repeater のログの確認
PD Repeater のログを確認します。
次の確認をします。
- メッセージ(PD Handler RS-SERIAL の reported)の送信を示すsend to awsiot(0), 1 data
- acceptedメッセージの受信を示すtopic=$aws/things/SERIAL/shadow/update/accepted
- documentsメッセージの受信を示すtopic=$aws/things/SERIAL/shadow/update/documents
ここでdocuments, acceptedの受信順序は不定です。
5-4. Device Shadow ドキュメント(reported)の確認
[Classic Shadow タブ]にてDevice Shadow の状態を確認します。
"reported": { "switchA": "on" } であることを確認します。
5-5. メッセージ サブスクライブ出力の確認
メッセージ サブスクライブの出力を確認します。
reported, accepted, documents の 3つのメッセージが確認できます。
ここで documents, accepted の受信順序は不定です。
6. Application Client を操作し動作を確認
6-1. スイッチ OFF
6-1-1. メッセージ パブリッシュによる スイッチ OFF
Windows PC にてバッチファイルの準備で作成した制御メッセージ パブリッシュ用バッチファイルpub.batを用いてシリアル・デバイスの仮想デバイスswitchAをoffする制御メッセージをDevice Shadowに送ります。
- Windows PC にてコマンド プロンプト(cmd.exe)を開きます。
- 作業用ディレクトリの作成した作業用ディレクトリC:\Users\user\rs_serialに移動します。
- pub.bat off.jsonを実行します。
6-1-2. Device Shadow ドキュメント(desired)の確認(desired)
[Classic Shadow タブ]にてDevice Shadow の状態を確認します。
"desired": { "switchA": "off" }、"reported": { "switchA": "on" }であることを確認します。
"reported": { "switchA": "on" } はデバイスからの応答(reported)を受け取ると "reported": { "switchA": "off" }へ遷移します。
6-1-3. Tera Term コンソール出力の確認
Tera Termのコンソール出力を確認します。
仮想デバイスswitchAがoffされたことを示すswitchA offが出力されます。
6-1-4. Device Shadow ドキュメント(reported)の確認
[Classic Shadow タブ]にてDevice Shadow の状態を確認します。
"reported": { "switchA": "on" } が "reported": { "switchA": "off" }へ遷移している事を確認します。
6-1-5. PD Repeater のログの確認
PD Repeater のログを確認します。
次の確認をします。
- deltaメッセージの受信を示す topic=$aws/things/SERIAL/shadow/update/delta
- documentsメッセージの受信を示すtopic=$aws/things/SERIAL/shadow/update/documents
- acceptedメッセージの受信を示すtopic=$aws/things/SERIAL/shadow/update/accepted
- メッセージ(PD Handler RS-SERIAL のreported)の送信を示す send to awsiot(0), 1 data
- documentsメッセージの受信を示すtopic=$aws/things/SERIAL/shadow/update/documents
- acceptedメッセージの受信を示すtopic=$aws/things/SERIAL/shadow/update/accepted
ここで documents, accepted の受信順序は不定です。
6-1-6. PD Handler RS-SERIAL のログの確認
PD Handler RS-SERIAL のログを確認します。
switchAをoffしたことを示すreportedメッセージがPD Repeaterへ送られたことを示すログが出力されます。
ここで、@UPDATE {}はDevice ShadowをサポートするためにPD Repeater用意された構文です。
詳しくはAWS IoTの送信メッセージ構文をご覧下さい。
6-1-7. メッセージ サブスクライブ出力の確認
メッセージ サブスクライブの出力を確認します。
次のメッセージが確認することができます。
- Application Clientからのdesiredメッセージとその応答delta, accepted, documents
- deltaに対するデバイスのreportedとその応答accepted, documents**
ここでdocuments, acceptedの受信順序は不定です。
6-2. スイッチ ON
6-2-1. メッセージ パブリッシュによる スイッチ ON
Windows PC にてバッチファイルの準備で作成した制御メッセージ パブリッシュ用バッチファイルpub.batを用いてシリアル・デバイスの仮想デバイスswitchAをonする制御メッセージをDevice Shadowに送ります。
- 6-1-1項で開いたコマンド プロンプト(cmd.exe)にフォーカスします。
- pub.bat off.jsonを実行します。
6-2-2. Device Shadow ドキュメント(desired)の確認(desired)
[Classic Shadow タブ]にてDevice Shadow の状態を確認します。
"desired": { "switchA": "on" }、"reported": { "switchA": "off" }であることを確認します。
"reported": { "switchA": "off" } はデバイスからの応答(reported)を受け取ると "reported": { "switchA": "on" }へ遷移します。
6-2-3. Tera Term コンソール出力の確認
Tera Termのコンソール出力を確認します。
仮想デバイスswitchAがonされたことを示すswitchA onが出力されます。
6-2-4. Device Shadow ドキュメント(reported)の確認
[Classic Shadow タブ]にてDevice Shadow の状態を確認します。
"reported": { "switchA": "off" } が "reported": { "switchA": "on" }へ遷移している事を確認します。
6-2-5. PD Repeater のログの確認
PD Repeater のログを確認します。
次の確認をします。
- deltaメッセージの受信を示すtopic=$aws/things/SERIAL/shadow/update/delta
- documentsメッセージの受信を示すtopic=$aws/things/SERIAL/shadow/update/documents
- acceptedメッセージの受信を示すtopic=$aws/things/SERIAL/shadow/update/accepted
- メッセージ(PD Handler RS-SERIAL のreported)の送信を示す send to awsiot(0), 1 data
- documentsメッセージの受信を示すtopic=$aws/things/SERIAL/shadow/update/documents
- acceptedメッセージの受信を示すtopic=$aws/things/SERIAL/shadow/update/accepted
ここでdocuments, acceptedの受信順序は不定です。
6-2-6. PD Handler RS-SERIAL のログの確認
PD Handler RS-SERIAL のログを確認します。
switchAをonしたことを示すreportedメッセージがPD Repeaterへ送られたことを示すログが出力されます。
ここで、@UPDATE {}はDevice ShadowをサポートするためにPD Repeater用意された構文です。
詳しくはAWS IoTの送信メッセージ構文をご覧下さい。
6-2-7. メッセージ サブスクライブ出力の確認
メッセージ サブスクライブの出力を確認します。
次のメッセージが確認することができます。
- Application Clientからのdesiredメッセージとその応答delta, accepted, documents
- deltaに対するデバイスのreportedとその応答accepted, documents
ここで documents, accepted の受信順序は不定です。