AWS IoT Greengrass
開発者ガイド

他のデバイスの設定

AWS IoT Greengrass を初めて使用する場合には、Raspberry Pi あるいは Amazon EC2 インスタンスをコアデバイスとして使用し、デバイスに合ったセットアップ手順に従うことをお勧めします。別のプラットフォームを使用するには、このセクションのステップに従います。サポートされるデバイスのプラットフォームの詳細については、「Greengrass Core プラットフォームの互換性」を参照してください。

  1. 使用するコアデバイスが NVIDIA Jetson TX2 の場合、まず JetPack 3.3 インストーラを使用してファームウェアをフラッシュする必要があります。別のデバイスを設定する場合には、ステップ 2 に進みます。

    注記

    使用する JetPack インストーラのバージョンは、対象の CUDA Toolkit バージョンに基づいています。以下の手順では、JetPack 3.3 と CUDA Toolkit 9.0 を使用します。これは、TensorFlow v1.10.1 と MXNet v1.2.1 のバイナリ (AWS IoT Greengrass が機械学習推論用に Jetson TX2 で提供している) がこのバージョンの CUDA に対してコンパイルされるためです。詳細については、「機械学習の推論を実行する」を参照してください。

    1. Ubuntu 16.04 以降を実行している物理的デスクトップでは、NVIDIA 文書の「JetPack のダウンロードとインストール (3.3)」で説明しているように、JetPack 3.3 インストーラを使用してファームウェアをフラッシュします。

      インストーラの指示に従って、Jetson ボードにすべてのパッケージと依存関係をインストールします。Jetson ボードは、Micro-B ケーブルでデスクトップに接続されている必要があります。

    2. 標準モードでボードを再起動し、ディスプレイをボードに接続します。

      注記

      SSH を使用して Jetson に接続する場合は、デフォルトのユーザー名 (nvidia) とデフォルトのパスワード (nvidia) を使用します。

  2. 以下のコマンドを実行して、ユーザー ggc_user およびグループ ggc_group を作成します。実行するコマンドは、コアデバイスにインストールされたディストリビューションによって異なります。

    • コアデバイスが OpenWrt を実行している場合は、次のコマンドを実行します。

      opkg install shadow-useradd opkg install shadow-groupadd useradd --system ggc_user groupadd --system ggc_group
    • それ以外の場合は、以下のコマンドを実行します。

      sudo adduser --system ggc_user sudo addgroup --system ggc_group

      注記

      お客様のシステムに addgroup コマンドを使用できない場合は、以下のコマンドを使用します。

      sudo groupadd --system ggc_group
  3. 必要なすべての依存関係があることを確認するには、GitHub の AWS IoT Greengrass サンプルリポジトリから Greengrass 依存関係チェッカーをダウンロードして実行します。 これらのコマンドは、依存関係チェッカースクリプトを解凍して実行します。

    mkdir greengrass-dependency-checker-GGCv1.9.x cd greengrass-dependency-checker-GGCv1.9.x wget https://github.com/aws-samples/aws-greengrass-samples/raw/master/greengrass-dependency-checker-GGCv1.9.x.zip unzip greengrass-dependency-checker-GGCv1.9.x.zip cd greengrass-dependency-checker-GGCv1.9.x sudo ./check_ggc_dependencies | more

    注記

    check_ggc_dependencies スクリプトは、AWS IoT Greengrass をサポートしているプラットフォームで動作し、次の Linux システムコマンドを必要とします: printfunamecatlsheadfindzcatawksedsysctlwccutsortexprgreptestdirnamereadlinkxargsstringsuniq

    詳細については、依存関係チェッカーの Readme を参照してください。

  4. 依存関係チェッカーの出力で示されているように、必要な依存関係をすべてデバイスにインストールします。不足しているカーネルレベルの依存関係については、カーネルの再コンパイルが必要になる場合があります。Linux コントロールグループ (cgroups) をマウントする場合は、cgroupfs-mount スクリプトを実行できます。これにより、AWS IoT Greengrass で Lambda 関数のメモリ制限を設定できるようになります。AWS IoT Greengrass をデフォルトの containerization モードで実行するには、Cgroups も必要です。

    出力にエラーが表示されなければ、AWS IoT Greengrass はデバイスで正常に実行されます。

    重要

    このチュートリアルには Python 2.7 が必要です。check_ggc_dependencies スクリプトでは、Node.js や Java のオプション要件が見つからない場合に警告が表示されることがあります。これらの警告は無視できます。

    AWS IoT Greengrass の要件と依存関係のリストについては、「サポートされているプラットフォームと要件」を参照してください。