AWS IoT Greengrass V2 のインストーラを使用して、Greengrass V2 のセットアップを行います。
詳細は AWS IoT Greengrass コアデバイスをセットアップする - docs.aws.amazon.com などを参照してください。
AWS IoT Greengrass コアデバイスをセットアップするためには下記が必要です。
AWS IoT Greengrass Core ソフトウェアを入れたファームウェアを作成するとデバイス毎の設定ができなくなることとファームウェアのサイズが大きくなりすぎるため、
ここではソフトウェア開発 (MA-X3xx シリーズ)の基本編(ファームウェア作成)を参考に JDK(JRE) を追加したファームウェアを作成します。
※ JDK(JRE) をインストールしたファームウェアの作成については、JVM の追加 を参照してください。
作成したファームウェアをデバイスに適用します。
AWS IoT Greengrass Core ソフトウェアは、eMMC の後半領域に入れます。
eMMC の後半領域を利用する手順については、eMMC 後半領域の利用 (MA-S1xx/MA-X3xx 共通) を参照してください。
AWS IoT のコンソール に移動します。
AWS 認証情報をデバイスのターミナルにコピーしてデバイスへ貼り付けます。
デバイスで AWS 認証情報を設定します。
root@gemini:~# export AWS_ACCESS_KEY_ID=アクセスキー root@gemini:~# export AWS_SECRET_ACCESS_KEY=シークレットアクセスキー root@gemini:~# export AWS_SESSION_TOKEN=セッション トークンキー root@gemini:~#
root@gemini:/opt/data# curl -s https://XXXXXXXXXX.cloudfront.net/releases/greengrass-nucleus-latest.zip > greengrass-nucleus-latest.zip && unzip greengrass-nucleus-latest.zip -d GreengrassInstaller Archive: greengrass-nucleus-latest.zip inflating: GreengrassInstaller/META-INF/MANIFEST.MF inflating: GreengrassInstaller/META-INF/SIGNER.SF inflating: GreengrassInstaller/META-INF/SIGNER.RSA inflating: GreengrassInstaller/LICENSE inflating: GreengrassInstaller/NOTICE inflating: GreengrassInstaller/README.md inflating: GreengrassInstaller/THIRD-PARTY-LICENSES inflating: GreengrassInstaller/bin/greengrass.exe inflating: GreengrassInstaller/bin/greengrass.service.procd.template inflating: GreengrassInstaller/bin/greengrass.service.template inflating: GreengrassInstaller/bin/greengrass.xml.template inflating: GreengrassInstaller/bin/loader inflating: GreengrassInstaller/bin/loader.cmd inflating: GreengrassInstaller/conf/recipe.yaml inflating: GreengrassInstaller/lib/Greengrass.jar root@gemini:/opt/data#
root@gemini:/opt/data# sudo -E java -Droot="/greengrass/v2" -Dlog.store=FILE -jar ./GreengrassInstaller/lib/Greengrass.jar --aws-region ap-northeast-1 --thing-name GG-device1 --thing-group-name GG-Group --component-default-user ggc_user:ggc_group --provision true --setup-system-service true --deploy-dev-tools true Provisioning AWS IoT resources for the device with IoT Thing Name: [GG-device1]... Found IoT policy "GreengrassV2IoTThingPolicy", reusing it Creating keys and certificate... Attaching policy to certificate... Creating IoT Thing "GG-device1"... Attaching certificate to IoT thing... Successfully provisioned AWS IoT resources for the device with IoT Thing Name: [GG-device1]! Adding IoT Thing [GG-device1] into Thing Group: [GG-Group]... Successfully added Thing into Thing Group: [GG-Group] Setting up resources for aws.greengrass.TokenExchangeService ... Attaching TES role policy to IoT thing... No managed IAM policy found, looking for user defined policy... IAM policy named "GreengrassV2TokenExchangeRoleAccess" already exists. Please attach it to the IAM role if not already Configuring Nucleus with provisioned resource details... Downloading Root CA from "https://www.amazontrust.com/repository/AmazonRootCA1.pem" Created device configuration Successfully configured Nucleus with provisioned resource details! Creating a deployment for Greengrass first party components to the thing group Configured Nucleus to deploy aws.greengrass.Cli component Creating user ggc_user ggc_user created Creating group ggc_group ggc_group created Added ggc_user to ggc_group Successfully set up Nucleus as a system service root@gemini:/opt/data#
Greengrass CLI コマンドを実行し、バージョンが表示されることを確認します。
root@gemini:/opt/data# /greengrass/v2/bin/greengrass-cli -V Greengrass CLI Version: 2.10.0 root@gemini:/opt/data#
サービスの状態を確認するには以下のコマンドを実行します。
root@gemini:/opt/data# systemctl status greengrass.service ● greengrass.service - Greengrass Core Loaded: loaded (/etc/systemd/system/greengrass.service; enabled; vendor pr> Active: active (running) since Wed 2023-05-10 12:17:48 JST; 1h 8min ago Main PID: 906 (sh) Tasks: 35 (limit: 1186) Memory: 165.8M CGroup: /system.slice/greengrass.service tq906 /bin/sh /greengrass/v2/alts/current/distro/bin/loader mq914 java -Dlog.store=FILE -Dlog.store=FILE -Droot=/greengrass/v2> May 10 12:17:48 gemini systemd[1]: Started Greengrass Core. May 10 12:17:48 gemini sh[906]: Greengrass root: /greengrass/v2 May 10 12:17:49 gemini sh[906]: Java executable: java May 10 12:17:49 gemini sh[906]: JVM options: -Dlog.store=FILE -Droot=/greengras> May 10 12:17:49 gemini sh[906]: Nucleus options: --setup-system-service false May 10 12:18:35 gemini sh[914]: Launching Nucleus... May 10 12:18:52 gemini sh[914]: Launched Nucleus successfully.
File | Status | Note |
---|---|---|
getting_started_guide_template_for_aws_iot_greengrass_devices_ma-s1xx.docx | 2023/07/05 14:23 41.1 KB | for MA-S1xx Series |
getting_started_guide_template_for_aws_iot_greengrass_devices_ma-x3xx.docx | 2023/07/05 14:25 41.1 KB | for MA-X3xx Series |