インストール手順
概要
本手順書では、enebular-agentのインストール手順を説明します。
enebular-agentは、AWS IoTを使用してenebularに接続できます。(AWS IoTの環境はご用意いただく必要があります)
インストールは、対象デバイスのLinux OS上でシェルスクリプト(以降、インストールスクリプト)を実行することにより行われます。
説明
前提条件
インストールスクリプトを実行する前に取得・準備する事項は以下の項目です。
Linux
- enebular-agentがサポートするDebian GNU/Linuxであること
- enebular-agentを実行するユーザーが作成されていること(以降では
enebular
ユーザーが作成されているという前提で記載) - インストールに使用するユーザーがsudo権限(
sudo
コマンドを使用)を持っていること - インターネット接続環境があること
AWS IoT
- AWSのアカウントが作成されていること
- このアカウントにはAWSIoTConfigAccessの権限が与えられていること
- enebular-agentのインストールに使用するAWS Access Key Id(AWSAccessKeyId)が取得されていること
- enebular-agentのインストールに使用するAWS Secret Access Key(AWSSecretKey)が取得されていること
enebular
- enebularのアカウントが作成済みであること
- enebularにプロジェクトが作成されていること
インストールスクリプトの実行
インストールスクリプトは、対象デバイスのLinuxにログインして、shellより以下のコマンドを入力することで実行できます。
wget -qO- https://enebular.com/agent-install | sudo -E bash -s -- オプション1 オプション2 ・・・
上記のコマンドを実行するフォルダーは、どこでも構いません。
インストールスクリプトはenebular.comサーバーよりインターネット経由で取得します。
インストール先のフォルダーはインストールスクリプトのオプションで指定します。
そのため、任意のフォルダーでインストールスクリプトを実行できます。
オプション
インストールスクリプトに設定できるオプションとオプション引数は次の表のとおりです。
オプション | オプション引数 | 説明 |
---|---|---|
-u or --user | =作成済みのユーザー名 |
Linuxのユーザーを指定します(注1) |
-d or --install-dir | =パス |
Linux上のインストールフォルダーを指定します(注2) |
-v or --release-version | =enebular-agentのバージョン |
enebular-agentのバージョンを指定します(注3) |
--no-startup-register | 無し | enebular-agentの自動起動を有効にするか無効するかを指定します(注4) |
--aws-access-key-id | =AWS Access Key ID |
AWS Access Key IDを指定します |
--aws-secret-access-key | =AWS Secret Access Key |
AWS Secret Access Keyを指定します |
--aws-iot-region | =AWS IoTのリージョン |
AWS IoTのリージョンを指定します |
--aws-iot-thing-name | =AWS IoTのモノ名 |
AWS IoTのモノ名を指定します |
--dev-mode | 無し | enebular-agentの自動起動を有効にした場合の起動モード(開発者モード,ノーマルモード)を指定します |
--remote-maintenance-user-password | =パスワード |
Remote Maintenanceを行う際のログインユーザのパスワードを指定します(注5) |
- 注1:enebular-agentはこのオプションにて指定されたユーザーでインストールされ、実行されます。ユーザーの詳細については、ユーザー/フォルダー - ユーザーを参照してください
- 注2:指定されたフォルダーがない場合は作成します。フォルダーの詳細については、ユーザー/フォルダー - フォルダーを参照してください
- 注3:エージェントソフトウェアの保証期間は、利用規約の第6条をご確認ください
- 注4:enebular-agentの自動起動は、Linuxのサービスとして起動するようになります。サービス自動起動については起動/停止 - コマンドを参照してください
- 注5:セキュリティ対策のため、パスワードを設定することを推奨します
オプションの詳細
各オプションの必要性について次の表に示します。
オプション | 必須/省略可 | オプション省略時の設定内容 |
---|---|---|
-u or --user | 省略可 | enebular(注1) |
-d or --install-dir | 省略可 | /home/<ユーザー>/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 | 必須 | |
--dev-mode | 省略可 | enebular-agentを「ノーマルモード」で起動します(注2) |
--remote-maintenance-user-password | 省略可 | enebular |
- 注1:Linuxで作成済みユーザーを使用してください。ユーザー作成していないユーザーを使用した場合、Linux上に本システムのために必要なフォルダー・ファイルは作成されますが、ログインができるようにするための作業が別途必要になります
- 注2: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
になります
事例
インストールスクリプトの実行例
Linuxにインストールする場合のコマンド実行例
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の値はあくまで例ですので、この値を使用してコマンドを実行しても正常終了しません。
Raspberry Piにインストールする場合のコマンド実行例
Raspberry Piにenebular-agentのインストールを行う場合、ユーザー名はpi
にすることを推奨します。
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 --user=pi
Raspberry Pi OSのデフォルトのユーザーであるpi
は、GPIO、I2C等のペリフェラルに対してアクセスできるグループに所属しています。
ユーザー名をpi
にしてインストールすることで、enebular-agentからペリフェラルを利用する場合に権限の設定を行う手間がなくなります。pi
以外のユーザーを指定してインストールする場合、追加されたユーザーはペリフェラルにアクセスできるグループには属していないため、必要に応じてペリフェラルへのアクセス権限を与える必要があります。
結果
フォルダー構成
インストールに成功すると、対象デバイスには以下のようなフォルダー構成で関連するファイルがインストールされます。
/home/
└enebular/ ← ユーザー
├enebular-runtime-<インストールユーザ名>/ ← インストールフォルダ
└nodejs-v<バージョン>/ ← JavaScript
/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の実行状況を確認できます。
enebularの確認方法
AWS IoTの管理画面から以下を確認できます。
- 「管理」-「モノ」に「enebular-agent-test」が追加されます
- 「管理」-「モノ」-「enebular-agent-test」-「操作」で「HTTPS(エンドポイント)」が確認できます
アンインストール手順
以下の手順でデバイスからアンインストールできます。
sudo systemctl stop enebular-agent-<インストールユーザ名>.service
sudo systemctl disable enebular-agent-<インストールユーザ名>.service
sudo rm /etc/systemd/system/enebular-agent-<インストールユーザ名>.service
Raspberry Piのpiユーザーにインストールされたenebular-agentをアンインストールする場合のコマンド実行例
sudo systemctl stop enebular-agent-pi.service
sudo systemctl disable enebular-agent-pi.service
sudo rm /etc/systemd/system/enebular-agent-pi.service
enebular-agent用のユーザーごと削除する場合は、以下のコマンドを実行します。
sudo deluser --remove-all-files <インストールユーザ名>
enebular-agentの要素を削除する場合、以下のコマンドを実行します。
※nodejsのバージョン番号は/home/<インストールユーザ名>/
配下にあるバージョン番号を設定してください。
sudo rm -r /home/<インストールユーザ名>/enebular-runtime-agent
sudo rm -r /home/<インストールユーザ名>/nodejs-v<バージョン>
トラブルシューティング
空き容量が不足している場合
- enebular-agentのインストールに十分な空き容量が存在しない場合、エラーメッセージとともにインストールが失敗します。
また、全体の空き容量は足りていても領域がパーティションで分割されている場合、うまくインストールできない場合があります。 - enebular-agentのインストーラーはダウンロードしたパッケージを
/tmp
ディレクトリ以下に保存します。そのため、/tmp
ディレクトリに割り当てられた容量が少ないと、インストール用のパッケージをダウンロードする際に容量不足が問題になることがあります。
これらの場合、パーティションの設定を見直すことで解決する場合があります。