インストール手順

概要

本手順書では、enebular-agentのインストール手順を説明します。

enebular-agentには、AWS IoTを使用してenebularに接続する場合と、Pelion Device Managementを使用してenebularに接続する場合の2つの接続方法があります。 本手順書では、両方のインストール手順を記載していますが、1つのデバイスにはどちらか一方しかインストール出来ません。
本文中に「AWS IoTの場合」あるいは「Pelion Device Managementの場合」と説明を付けていますので、該当箇所のみを実施をして下さい。

インストールは、対象デバイスのLinux OS上でシェルスクリプト(以降、インストールスクリプト)を実行することにより行われます。

説明

前提条件

インストールスクリプトを実行する前に取得・準備する事項は以下の項目です。

Linux

  • enebular-agentがサポートするDebian GNU/Linuxがインストールされていること
  • enebular-agentを実行するユーザーが作成されていること (以降では「enebular」ユーザーが作成されているという前提で記載)
  • インストールに使用するユーザーにSuper User権限(sudoコマンドを使用)があること
  • インターネット接続環境があること

AWS IoT(AWS IoTの場合)

  • AWSのアカウントが作成されていること
    • このアカウントにはIAMFullAccessの権限が与えられていること
  • enebularのインストールに使用するAWS Access Key Id(AWSAccessKeyId)が取得されていること
  • enebularのインストールに使用するAWS Secret Access Key(AWSSecretKey)が取得されていること

Pelion Device Management (Pelion Device Managementの場合)

  • Pelion Device Managementのアカウントが作成されていること
  • enebularのインストールに使用するPelion Device ManagementのAPI Keyが取得されていること
  • factoryモードでインストールする場合、factory用認証情報(デバイスバンドル)の取得
    • デバイスバンドルの詳しい作成方法については、 [email protected] にお問い合わせください

enebular

  • enebularのアカウントが作成済みであること
  • enebularにプロジェクトが作成されていること

インストールスクリプトの実行

インストールスクリプトは、対象デバイスのLinuxにログインして、shellより以下のコマンドで実行することができます。

wget -qO- https://enebular.com/agent-install | sudo -E bash -s -- オプション1 オプション2 ・・・

上記のコマンドを実行するディレクトリは、どこでも構いません。
インストールスクリプトはenebular.comサーバーよりインターネット経由で取得します。
インストール先のディレクトリはインストールスクリプトのオプションで指定します。
そのため、任意のディレクトリでインストールスクリプトを実行することができます。

オプション

インストールスクリプトに設定できるオプションとオプション引数は下表のとおりです。

オプション オプション引数 説明
-p or --port -p=[awsiot, pelion] AWS IoTと連携して利用する(awsiot)かPelion Device Managementと連携して利用する(pelion)かを指定します
-u or --user -u=* Linuxのユーザ名を指定します (注1)
-d or --install-dir -d=path Linux上のインストールディレクトリを指定します (注2)
-v or --release-version -v=* enebular-agentのバージョンを指定します
--no-startup-register 無し enebular-agentの自動起動を有効にするか無効するかを指定します (注3)
--aws-access-key-id =* AWS Access Key IDを指定します
--aws-secret-access-key =* AWS Secret Access Keyを指定します
--aws-iot-region =* AWS IoTのリージョンを指定します
--aws-iot-thing-name =* AWS IoTのモノ名を指定します
--mbed-cloud-mode =[developer, factory] Pelionの接続モード(developer,factory)を指定します
--mbed-cloud-dev-cred =* Pelionの接続モードをdeveloperにした場合の認証情報ファイルのパスを指定します (注4)
--mbed-cloud-pal =* Pelionの接続モードをfactoryにした場合の認証情報(デバイスバンドル)のパスを指定します (注4)
--mbed-cloud-build-fcc 無し PelionのFCCツールをビルドするか否かを指定します (注5)
--license-key =* アクティベーション用のライセンスキーを登録します (注6)
--dev-mode 無し enebular-agentの自動起動を有効にした場合の起動モード(開発者モード,ノーマルモード)を指定します

*は任意の文字列を示します
=[aaa, bbb]はaaaかbbbのどちらかを選択する事を示します

  • 注1:enebular-agentはここで指定されたユーザーでインストールされ実行されます
  • 注2:指定されたディレクトリが無い場合は作成します
  • 注3:enebular-agentの自動起動は、Linuxのサービス化することで実現されます
  • 注4:認証情報を置いたファイルのパスを指定します。このパスは/tmpなどのように再起動後に保存されない一時的なストレージ領域の使用を推奨します
  • 注5:FCCツールはデバイスバンドルを書き込むためのツールです
  • 注6:アクティベーション用のライセンスキーを登録すると、enebular-agentの初回起動時に自動的にenebularと通信してライセンス登録を行ってくれます。登録をしない場合、enebularのLicense Managerからライセンス登録を行うことができます。アクティベーション用のライセンスキーについては、 [email protected] までお問い合わせください

参考: オプション「mbed-cloud」の名称について

  • Pelion Device Managementは2018年8月より提供されています
  • このスクリプトファイルはそれ以前に作成した為、Pelion Device Managementの元の名称「mbed cloud」のままとなっています

オプションの詳細

AWS IoT、Pelion Device Management毎の各オプションの必要性について下表に示します。

オプション AWS IoT設定項目 Pelion Device Management設定項目 オプション省略時の設定内容
-p or --port 省略可 必須(pelion) awsiot
-u or --user 必須(ユーザー登録済ユーザー名) 必須(ユーザー登録済ユーザー名) enebular (注1)
-d or --install-dir 省略可 省略可 /home/<user>/enebular-runtime-agent
-v or --release-version 省略可 省略可 The latest release (最新リリース)
--no-startup-register 省略推奨 省略推奨 enebular-agentの自動起動を有効にします
--aws-access-key-id 必須 不要 省略不可
--aws-secret-access-key 必須 不要 省略不可
--aws-iot-region 必須 不要 省略不可
--aws-iot-thing-name 必須 不要 省略不可
--mbed-cloud-mode 不要 必須(factory) developer (注2)
--mbed-cloud-dev-cred 不要 不要 省略不可
--mbed-cloud-pal 不要 必須 省略不可
--mbed-cloud-build-fcc 不要 省略しない事を推奨 PelionのFCCツールをビルドしません
--license-key 省略可 省略可 アクティベーション用のライセンスキー未登録
--dev-mode 省略可 省略可 enebular-agentを「ノーマルモード」で起動します (注3)
  • 注1:Linuxでユーザー登録済みのユーザー名を使用して下さい。ユーザー登録していないユーザー名を使用した場合、Linux上に本システムの為に必要なディレクトリ・ファイルは作成されますが、ログインが出来る様にする為の作業が別途必要になります
  • 注2:Pelionの接続モードは「factory」を推奨しています。「developer」を使用する場合は、 [email protected] までお問い合わせください
  • 注3:enebular-agentの起動モードは初めてのインストール時は「ノーマルモード」を推奨しています

オプション設定時の注意事項

オプション設定時の注意事項を列挙します。

  • オプションは複数指定可能です(オプションとオプションの間は半角ブランク)
  • オプション引数には不要な半角ブランクを入れないでください
  • -d(--install-dir)オプション指定時はフルパスで指定してください(例:-d=/home/enebular/enebular-runtime-agent)

コマンド実行時に省略可のオプションを指定しなかった場合、「オプション省略時の設定内容」が設定されます。

wget -qO- https://enebular.com/agent-install | sudo -E bash -s

上の例の様に、-p -u -dを指定しなかった場合は、以下のように設定されます。

  • AWS IoTを用いてenebularと接続します
  • enebular-agentはenebularユーザーとして実行されます
  • インストール先ディレクトリは、 /home/enebular/enebular-runtime-agent になります

事例

インストールスクリプトの実行例

インストールスクリプトの実行例を、AWS IoTの場合とPelion Device Managementの場合に分けて示します。

AWS IoT用のコマンド実行例

wget -qO- https://enebular.com/agent-install | sudo -E bash -s -- --aws-iot-thing-name=enebular-agent-test --aws-access-key-id=AKIAJWWCHDEPQJD456PQ --aws-secret-access-key=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 --aws-iot-region=us-west-2`

上記事例のオプションの意味は以下の通りです。

  • Linuxユーザはenebular(オプション省略のためデフォルト値を適用)
  • AWS Access Key IDはAKIAJWWCHDEPQJD456PQ
  • AWS Secret Access Keyは、6qtl9JJ90ue5CMeHSJKm1I4iRRwKOQKLCpzt9Y94
  • AWS IoTのリージョンはus-west-2
  • AWS IoTのモノ名はenebular-agent-test
  • その他のオプションは省略

注意:ここに記載されているAWS Access Key ID, AWS Secret Access Keyの値はあくまで例ですので、この値を使用してコマンドを実行しても正常終了しません。

Pelion Device Management用のコマンド実行例

wget -qO- https://enebular.com/agent-install | sudo -E bash -s -- -p=pelion --mbed-cloud-mode=factory --mbed-cloud-pal=/tmp/pelion/pal --mbed-cloud-build-fcc

上記事例のオプションの意味は以下の通りです。

  • Linuxユーザはenebular(オプション省略のためデフォルト値を適用)
  • Pelionの接続モードはfactory
  • Pelionの認証情報(デバイスバンドル)のパスは、/tmp/pelion/pal(デバイスバンドルは左記のパスに置いて下さい)
  • PelionのFCCツールをビルドする
  • その他のオプションは省略

結果

ディレクトリ構成

インストールに成功すると、対象デバイスには以下のようなディレクトリ構成で関連するファイルがインストールされます。

/home/
  └enebular/ ← ユーザ名
      ├enebular-runtime-agent/ ← インストールディレクトリ
      └nodejs-v9.2.1/ ← JavaScript

AWS IoTの場合は、/home/enebular/enebular-runtime-agent/ports/awsiot/certs/ ディレクトリに以下の鍵と証明書が生成されるので、バックアップを行って下さい。

  • enebular-agent-test-private.pem
  • enebular-agent-test.crt.pem
  • root.pem

enebular-agentの実行状況の確認方法

sudo journalctl -ex -u enebular-agent-enebular.service

enebular-agentを自動起動する設定でインストールした場合(--no-startup-register を指定しない場合)は、上記のコマンドを実行することでenebular-agentの実行状況を確認することができます。

AWS IoTの場合

AWS IoTの管理画面から以下を確認することができます。

  • 「管理」-「モノ」に enebular-agent-test が追加されます
  • 「管理」-「モノ」-「enebular-agent-test」-「操作」で「HTTPS(エンドポイント)」が確認出来ます

results matching ""

    No results matching ""