メニュー
AWS Greengrass
開発者ガイド

シナリオの実行

AWS Greengrass コア ソフトウェアを実行し、ロボットアームデバイスおよびスイッチデバイスで実行されているコードを実行する準備が完了しました。

Greengrass の実行

AWS Greengrass コア をストーリーライン設定で実行するには、「AWS Greengrass コアソフトウェアの実行」を参照してください。デプロイが完了すると、uptimeLambda 関数と messageLambda 関数が /greegrass/lambda/ フォルダにデプロイされたことを確認できます。

デバイスコードの実行

ロボットアームデバイスを実行するには、/aws-iot-device-sdk-cpp/build/bin ディレクトリに変更し、./robot-arm-sample コマンドを実行します。これにより、ロボットアームデバイスが起動します。このデバイスは、その起動状態をクラウドに発行 (オフ) して、更新を待機します。その状態が変更されると、/topic/metering トピックでメッセージを発行します。変更をモニタリングできるように、このトピックにサブスクライブしている必要があります。

スイッチサンプルを実行するには、/aws-iot-device-sdk-cpp/build/bin ディレクトリに変更し、./switch-sample コマンドを実行します。オンの場合は「1」、オフの場合は「0」、終了の場合は「q」と入力するよう求めるメッセージが表示されます。「1」と入力して、Enter キーを押します。これにより、ロボットアームの状態がオンに更新されます。ロボットアームの状態をオフにするには「0」と入力します。このプログラムを終了するには「q」と入力します。ロボットアームのオンとオフを切り替えると、プログラムが実行されているロボットアームデバイスのターミナルに状態の変更が表示されます。

ロボットアームは、ローカルのシャドウステータスをクラウドのシャドウと同期するように設定されています。その状態が変わると、クラウドのシャドウは自動的に更新されます。その状態を確認するには、AWS IoT コンソールで RobotArm_Thing のモノの詳細ページに移動し、[Shadow] リンクを選択します。

AWS Greengrass コア にアクティブなインターネット接続がある場合は、AWS IoT コンソールにアクセスし、Lambda 関数から発行されているメッセージを表示します。AWS IoT コンソールでテスト機能を使用して、/topic/metering トピックにサブスクライブできます。AWS Greengrass コア にインターネット接続がある場合は、このトピックにロボットアームの状態が発行されます。

クラウドからロボットアームを制御するには、以下のメッセージを /topic/update トピックに発行できます。

スイッチをオンにするには、{"state":"on"} を発行します。

スイッチをオフにするには、{"state":"off"} を発行します。

エラーコードが表示された場合は、ResponseCode.hpp を検索してエラーコードの特性に関する詳細を確認できます。このファイルは、次のいずれかの場所にあります。

デバイス上: aws-iot-device-sdk-cpp/include/ResponseCode.hpp

GitHub 上:ResponseCode.hpp