他のデバイスの設定 - AWS IoT Greengrass

AWS IoT Greengrass Version 1 は 2023 年 6 月 30 日に延長ライフフェーズに参加しました。詳細については、「AWS IoT Greengrass V1 メンテナンスポリシー」を参照してください。この日以降、 AWS IoT Greengrass V1 は機能、機能強化、バグ修正、またはセキュリティパッチを提供する更新をリリースしません。で実行されるデバイスは中断 AWS IoT Greengrass V1 されず、引き続き動作し、クラウドに接続します。に移行 AWS IoT Greengrass Version 2することを強くお勧めします。これにより、重要な新機能が追加され、プラットフォームのサポートが追加されます

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

他のデバイスの設定

このトピックのステップに従って、AWS IoT Greengrass コアとして使用するデバイス (Raspberry Pi 以外) をセットアップします。

ヒント

または、環境を設定し、AWS IoT Greengrass Core ソフトウェアをインストールするスクリプトを使用する場合は、「クイックスタート: Greengrass デバイスのセットアップ」を参照してください。

AWS IoT Greengrass を初めて使用する場合には、Raspberry Pi あるいは Amazon EC2 インスタンスをコアデバイスとして使用し、デバイスに合ったセットアップ手順に従うことをお勧めします。

Yocto Project を使用してカスタム Linux ベースのシステムを構築する場合は、meta-aws プロジェクトの AWS IoT Greengrass Bitbake Recipe を使用できます。この recipe は、組み込みアプリケーション用の AWS エッジソフトウェアをサポートするソフトウェアプラットフォームの開発にも役立ちます。Bitbake ビルドにより、デバイスで AWS IoT Greengrass Core ソフトウェアのインストール、設定、自動実行を行えます。

Yocto Project

ハードウェアアーキテクチャに関係なく、組み込みアプリケーション用に Linux ベースのカスタムシステムを構築できるオープンソースのコラボレーションプロジェクト。詳細については、Yocto Project を参照してください。

meta-aws

Yocto recipe を利用可能な AWS 管理プロジェクト。この recipe を使用すると、OpenEmbedded と Yocto Project で構築した Linux ベースのシステムで AWS エッジソフトウェアを開発できます。このコミュニティでサポートされている機能の詳細については、GitHub の meta-aws プロジェクトを参照してください。

meta-aws-demos

AWS プロジェクトのデモンストレーションを含む meta-aws 管理プロジェクト。統合プロセスのその他の例については、GitHub の meta-aws-demos プロジェクトを参照してください。

別のデバイスまたはサポートされているプラットフォームを使用するには、このトピックのステップに従います。

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

    注記

    使用する JetPack インストーラのバージョンは、対象の CUDA Toolkit バージョンに基づいています。以下の手順では、JetPack 4.3 と CUDA Toolkit 10.0 を使用します。デバイスに適したバージョンの使用方法については、NVIDIA のドキュメントの「Jetpack のインストール方法」を参照してください。

    1. Ubuntu 16.04 以降を実行している物理デスクトップで、NVIDIA ドキュメントの「Download and Install JetPack」(JetPack のダウンロードとインストール) (4.3) に従って、JetPack 4.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. オプション。Java 8 ランタイムをインストールします。このランタイムは、ストリームマネージャーで必要です。このチュートリアルではストリームマネージャーを使用しませんが、ストリームマネージャーをデフォルトで有効にする [デフォルトグループの作成] ワークフローを使用します。グループをデプロイする前に、次のコマンドを使用して、コアデバイスに Java 8 ランタイムをインストールする (またはストリームマネージャーを無効にする) 必要があります。ストリームマネージャーを無効にする手順については、モジュール 3 を参照してください。

    • Debian ベースまたは Ubuntu ベースのディストリビューションの場合:

      sudo apt install openjdk-8-jdk
    • Red Hat ベースのディストリビューションの場合 :

      sudo yum install java-1.8.0-openjdk
  4. 必要なすべての依存関係がそろっていることを確認するには、GitHub のAWS IoT Greengrassサンプルリポジトリから Greengrass 依存関係チェッカーをダウンロードして実行します。これらのコマンドは、依存関係チェッカースクリプトを解凍して実行します。

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

    check_ggc_dependencies スクリプトは、AWS IoT Greengrass をサポートしているプラットフォームで動作し、特定の Linux システムコマンドを必要とします。詳細については、依存関係チェッカーの Readme を参照してください。

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

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

    重要

    このチュートリアルでは、ローカル Lambda 関数を実行するには Python 3.7 ランタイムが必要です。ストリームマネージャーが有効な場合、Java 8 ランタイムも必要です。これらのランタイムの前提条件が不足しているという警告が check_ggc_dependencies スクリプトによって表示される場合は、続行する前に必ずインストールしてください。その他の欠落しているオプションのランタイム前提条件に関する警告は無視できます。

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