システム利用手順

実際に本システムをArmadillo上で動作させる手順を説明します。

3.1. セットアップ方法

以下の手順は、既にAWSのアカウントを作成し、AWSマネジメントコンソールにログインできていることを前提としています。 AWSアカウントの作成方法については、こちらを参照してください。

3.1.1. EC2の設定

後にArmadilloがカメラから取得した画像を閲覧するために、WebサーバーをAmazon Elastic Compute Cloud(EC2)上に構築します。 本手順では、EC2のインスタンスの作成を行います。 EC2のインスタンスの作成を行うことができるIAMユーザーで作業を行ってください。

3.1.1.1. インスタンスの作成

EC2インスタンスページにアクセスし、「インスタンスを起動」をクリックしてください。

images/aws_ec2_page.png

図3.1 インスタンスの作成


「ステップ1: Amazonマシンイメージ(AMI)」では、無料枠のある「Ubuntu Server 20.04 LTS (HVM)」の64ビットを選択してください。

images/aws_ec2_step1.png

図3.2 AMIの選択


「ステップ2: インスタンスタイプの選択」では、無料枠の「t2.micro」を選択し、「確認と作成」をクリックしてください。

images/aws_ec2_step2.png

図3.3 インスタンスタイプの選択


「ステップ7: インスタンス作成の確認」では、「セキュリティグループの編集」をクリックしてください。

images/aws_ec2_step7.png

図3.4 セキュリティグループの設定


「ステップ6: セキュリティグループの設定」では、「ルールの追加」をクリックし、以下の様に設定して「確認と作成」をクリックしてください。

表3.1 セキュリティグループの設定

タイプ プロトコル ポート範囲 ソース 説明

HTTP

TCP

80

0.0.0.0/0

空白


images/aws_ec2_step6.png

図3.5 セキュリティグループの設定内容


再度「ステップ7: インスタンス作成の確認」に戻りますので、右下の「起動」をクリックしてください。 クリックすると、以下のポップアップが出るので、「新しいキーペアの作成」を選択し、キーペアのタイプを「RSA」、キーペア名に任意の文字列を入力して「キーペアのダウンロード」を行ってください。 以下の例ではキーペア名を「aiota6_monitoring_camera」として行っています。

images/aws_ec2_keypair.png

図3.6 キーペアの作成


「[キーペア名].pem」を任意の場所に保存しておいてください。 その後、「インスタンスの作成」をクリックしてください。 しばらくするとインスタンスの起動が完了します。

3.1.1.2. インスタンスへのIAMロールの追加

作成したEC2インスタンスは、S3とDynamoDBへの読み込みアクセスが可能である必要があります。 本手順では、作成したEC2インスタンスに適切なIAMロールを割り当てます。

EC2インスタンスページから先程作成したインスタンスを選択し、「アクション」→「セキュリティ」→「IAM ロールを変更」をクリックしてください。

images/aws_ec2_change_role.png

図3.7 IAMロールの割当


「新しいIAM ロールを作成」をクリックしてください。

images/aws_ec2_create_role.png

図3.8 IAMロールの作成①


新しいタブでページが開かれるので、「ロールを作成」をクリックしてください。

images/aws_ec2_click_role.png

図3.9 IAMロールの作成②


「一般的なユースケース」、もしくは「または、サービスを選択してユースケースを表示します」から「EC2」を選択して、「次のステップ: アクセス権限」をクリックしてください。

images/aws_ec2_usecase.png

図3.10 ユースケースの選択


以下の2つのポリシーをアタッチし、「次のステップ: タグ」に進みます。

  • AmazonDynamoDBReadOnlyAccess
  • AmazonS3ReadOnlyAccess
images/aws_role_policy.png

図3.11 IAMロールへアタッチするポリシーの選択①


images/aws_role_policy_2.png

図3.12 IAMロールへアタッチするポリシーの選択②


タグは設定不要です。 「次のステップ: 確認」に進みます。

images/aws_ec2_tags.png

図3.13 タグの設定


「ロール名」に任意の文字列を設定してください。 以下の例では「EC2WebServer」としています。 ロール名が決まったら「ロールの作成」をクリックしてください。

images/aws_ec2_role_name.png

図3.14 ロール名の設定


「IAM ロールを変更」の画面に戻り、更新ボタンをクリックし、プルダウンメニューから作成したIAM ロールを選択してください。 選択したら、「保存」をクリックしてください。

images/aws_ec2_save_role.png

図3.15 ロールの選択と保存


EC2インスタンスページに戻り、作成したインスタンスを選択してインスタンスの再起動を行ってください。 しばらくすると再起動が完了します。

images/aws_ec2_restart_instance.png

図3.16 インスタンスの再起動


3.1.1.3. インスタンスへの接続情報の取得

EC2インスタンスページから先程作成したインスタンスを選択し、「接続」をクリックしてください。

images/aws_ec2_connection.png

図3.17 インスタンスの接続


「インスタンスに接続」の「SSH クライアント」タブを開き、「4. ご使用中のインスタンスのパブリックDNSを使用してインスタンスに接続」の下にある文字列をメモしてください。

images/aws_ec2_dns.png

図3.18 インスタンス接続情報の表示


以上でEC2の設定は完了です。

3.1.2. S3の設定

次にAmazon Simple Storage Service(S3)上にバケットを作成します。 S3のバケット作成を行うことができるIAMユーザーで作業を行ってください。

3.1.2.1. S3バケットの作成

S3バケットページにアクセスし、「バケットを作成」をクリックしてください。

images/aws_s3_create.png

図3.19 バケットの作成


「バケット名」は任意の文字列、リージョンは「アジアパシフィック(東京) ap-northeast-1」を選択します。

images/aws_bucket_name.png

図3.20 バケットの名称設定


「オブジェクト所有者」では「ACL有効」と「希望するバケット所有者」を選択します。

images/aws_bucket_acl.png

図3.21 ACLの設定


「このバケットのブロックパブリックアクセス設定」では「パブリックアクセスをすべてブロック」のチェックを外し、「現在の設定により、このバケットとバケット内のオブジェクトが公開される可能性があることを承認します。」にチェックを入れて「バケットの作成」をクリックしてください。

images/aws_s3_setting.png

図3.22 パブリックアクセスの設定


バケット一覧に作成したバケットが表示されたら完了です。

3.1.2.2. S3バケットのライフサイクルルールの追加

「S3バケットの作成」で作成したバケットをそのまま使用しても問題ありませんが、現状の設定ではバケットに保存された画像は手動で削除しない限り永遠に残り続けます。 S3は保存容量による課金がありますので、このままの運用では料金が膨れ上がっていきます。

本手順では、作成したS3バケットにライフサイクルルールを追加し、保存から2週間で自動的に削除されるように設定します。

作成したS3のバケットページから、「管理」タブをクリックします。

images/aws_s3_management.png

図3.23 ライフサイクルルールの作成①


管理タブから「ライフサイクルルールを作成する」をクリックしてください。

images/aws_s3_create_rule.png

図3.24 ライフサイクルルールの作成②


「ライフサイクルルールを作成する」ページに遷移するので、以下の様に設定します。

  1. 「ライフサイクルルール名」: S3_lifecycle
  2. 「ルールスコープを選択」: 「バケット内のすべてのオブジェクトに適用」を選択
  3. 「このルールがバケット内のすべてのオブジェクトに適用されることを了承します。」にチェック
  4. 「ライフサイクルルールのアクション」は以下の2つにチェック

    1. 「オブジェクトの現行バージョンを有効期限にする」
    2. 「オブジェクトの非現行バージョンを完全に削除」
  5. 「オブジェクトの現行バージョンの有効期限が切れる」の「オブジェクト作成後の日数」を 7 に設定
  6. 「オブジェクトの以前のバージョンを完全に削除する」の「オブジェクトが以前のバージョンになってからの日数」を 7 に設定
images/aws_s3_setting_rule.png

図3.25 ライフサイクルルールの設定①


images/aws_s3_setting_rule_2.png

図3.26 ライフサイクルルールの設定②


設定後、「ルールの作成」をクリックしてください。

以上でS3の設定は完了です。

3.1.3. IAMユーザー作成

IAMマネジメントコンソール へログインしてください。その後、ユーザータブを開き、「ユーザーを追加」をクリックします。

images/aws_login_iam.png

図3.27 IAMユーザーの追加①


images/aws_iam_user_tab.png

図3.28 IAMユーザーの追加②


3.1.3.1. ユーザーを追加

下記の通り入力、選択し「次のステップ:アクセス権限」に進みます。

  • ユーザー名
  • AWSアクセスの種類を両方選択
  • コンソールのパスワードは自動生成パスワードを選択
  • 「パスワードのリセットが必要」にチェックを入れる
images/aws_add_user.png

図3.29 IAMユーザーの設定


3.1.3.2. アクセス許可の設定

下記の手順でポリシーをアタッチし、「次のステップ: タグ」に進みます。

  • 「既存のポリシーを直接アタッチ」を選択
  • 表示された中から以下にチェック

    • AmazonS3FullAccess
    • AmazonDynamoDBFullAccess
images/aws_attach_policy.png

図3.30 IAMユーザーへアタッチするポリシーの選択①


images/aws_attach_policy_2.png

図3.31 IAMユーザーへアタッチするポリシーの選択②


3.1.3.3. タグの追加(オプション)

今回は設定不要です。 「次のステップ:確認」に進みます。

images/aws_add_tags.png

図3.32 IAMユーザーへのタグの追加


3.1.3.4. 確認画面

確認画面が表示されます。 設定した通りの内容になっていることを確認し、「ユーザーの作成」をクリックしてください。

images/aws_add_result.png

図3.33 IAMユーザーの作成


3.1.3.5. IAMユーザー作成完了

成功すると下記のような画面が表示されます。 後ほどArmadilloの設定で使用するため、ここでは必ずcsvのダウンロードを忘れずに行ってください。 行わなかった場合、再度IAMユーザーを作成する必要があります。

images/aws_csv.png

図3.34 csvのダウンロード


ダウンロードしたファイル( new_user_credentials.csv )の内容は、以下のようなカンマ区切りの文字列になります。

User name,Password,Access key ID,Secret access key,Console login link
user,pass,AWS123,asdfghjkl,https://***.signin.aws.amazon.com/console

この例の場合、Access key IDの値は AWS123 で、Secret access keyの値は asdfghjkl です。

3.1.4. インストールディスクの作成

監視カメラシステムのインストールディスクイメージをダウンロードしてください。

次にダウンロードしたインストールディスクイメージをSDカードに書き込みます。 インストールディスクイメージはzip圧縮されていますので、書き込み前に展開してください。

Armadillo-IoT ゲートウェイ A6 製品マニュアル 「インストールディスクの作成」の手順を参考にSDカードにインストールディスクイメージを書き込んでください。

3.1.5. 設定ファイルの書き込み

インストールディスクの第1パーティションには、本アプリケーションが動作するための設定を記入するファイルが格納されています。 本手順ではそれらの設定ファイルの編集方法について説明します。

3.1.5.1. 各種設定ファイルの配置

Armadiiloが動作するための各種ファイルを配置します。

  1. インストールディスクイメージが書き込まれたSDカードをPCに接続
  2. 「ファイル」から「2.1MB ボリューム」をクリック

    images/volume.png

    図3.35 設定ファイルの配置場所


  3. 下記のファイルを etc/aiota6_monitoring_camera/ 以下に配置してください。

    1. 「IAMユーザー作成完了」でダウンロードした new_user_credentials.csvcredentials.csv にリネームして配置
    2. 「インスタンスの作成」でダウンロードした [キーペア名].pem

      images/copy.png

      図3.36 設定ファイルの配置


3.1.5.2. 初期設定ファイルの編集

本アプリケーションが動作する際の初期設定値の編集を行います。

  1. 「ファイル」から「2.1MB ボリューム」をクリック
  2. etc/aiota6_monitoring_camera/parameter.json をテキストエディタで開きます

    images/edit_param.png

    図3.37 初期設定ファイルの編集


  3. 以下の7項目を編集します( s3_bucket_nameとec2_public_dnsは必ず編集してください )

    表3.2 初期設定ファイルの設定項目

    項目 説明 初期値(単位)

    operation_interval_min

    Armadilloがsleepモードから復帰するまでの時間です

    60(分)

    s3_bucket_name

    Armadilloのデータアップロード先となるS3のバケット名です。「S3バケットの作成」で作成したバケットの名前を指定してください。

    なし

    save_path

    Armadilloがカメラから取得した画像データを保存するディレクトリを絶対パスで指定します。USBメモリに保存する際は /dev/sda1 を、SDカードに保存する際は /dev/mmcblk1p1 を指定してください。何も指定しない場合は /opt/aiota6_monitoring_camera/pictures に保存されます。

    なし

    auto_remove

    Armadilloがカメラから取得した画像データをAWSへのアップロード後に削除するかどうかを指定するオプションです。 true なら削除され、それ以外の文字列の場合は削除されません。また、save_pathに指定されたパスが不正であったり、何も指定しない場合にはこのオプションは自動的に true になります。

    true

    ec2_public_dns

    「インスタンスへの接続情報の取得」でメモした「4. ご使用中のインスタンスのパブリックDNSを使用してインスタンスに接続」の下にある文字列をここに記入してください。

    なし

    ec2_user_name

    「インスタンスの作成」で作成したEC2インスタンス内のユーザー名です。本ドキュメントどおりに設定を進めた場合は初期値である ubuntu のままで問題ありません。

    ubuntu


  4. 以下は編集例です

    images/edited_param.png

    図3.38 parameter.jsonの編集例


3.1.5.3. LTE 設定ファイル (/etc/aiot-modem-control/startup.conf) の編集

Armadillo-IoT ゲートウェイ A6 製品マニュアル 「6.2.4.2. LTE 設定ファイル (/etc/aiot-modem-control/startup.conf) の編集」を参照し、LTE 設定ファイルを編集してください

3.1.5.4. SDカードの取り外し

SDカードの2つのボリュームをアンマウントしてから、PCからSDカードを抜いてください。

以上で起動前の設定ファイルの書き込みは完了です。

3.1.6. ソフトウェアのインストール

作成したインストールディスクをmicroSD ユニットに装着し、サブユニット SW1(ユーザースイッチ)のスライドスイッチを microSD 側に設定して電源を投入してください。

Armadilloへのソフトウェアのインストールが開始されます。 インストールには数分間かかります。 インストールの進捗は、ArmadilloのユーザーLEDの状態で確認することが出来ます。 インストールの進捗とLEDの状態の関係は以下の表の通りです。

表3.3 インストールの進捗とLEDの対応

進捗 ユーザーLED 赤 ユーザーLED 緑

実行中

消灯

点滅

正常終了

点灯

点灯

異常終了

消灯

点滅


LEDが点灯に変わり、インストールが完了したらACアダプタを抜いてください。

3.2. システムの起動

下記の図のように接続してください。 SDカードを抜いてください。 メインユニット CON5(USB ホストインターフェース)にUSBカメラを接続してください。 その後、Armadilloに電源を投入してください。

images/system_connection.png

図3.39 システムの接続


電源投入後、自動的にアプリケーションが起動し、AWSのセットアップを行います。 AWSのセットアップ完了後に、「初期設定ファイルの編集」で設定した周期の通りにカメラから画像の取得と、AWSへアップロードを行います。