アップデート手順

概要

本手順書では、enebular-agentのバージョンアップ手順を説明します。 バージョンアップは、対象デバイスのLinux OS上でシェルスクリプト(以降、アップデートスクリプト)を実行することにより行われます。

enebular-agentには、AWS IoTを使用してenebularに接続する場合と、Pelion Device Managementを使用してenebularに接続する場合の2つの接続方法があります。 本手順書では、両方の手順を記載していますが、アップデートスクリプトは既にデバイスにインストールされている接続方法に合わせてバージョンアップを行います。
なお、本文中に「AWS IoTの場合」または「Pelion Device Managementの場合」と説明を付けていますので、該当箇所のみを実施をして下さい。

説明

前提条件

アップデートスクリプトを実行する前に確認する事項は以下の項目です。

  • バージョン2.4.0以降のenebular-agentのインストールが完了していること
    • アップデートスクリプトはバージョン2.4.0以降のenebular-agentで使用できます
  • enebularへの接続方法:AWS IoTまたはPelion Device Management

以下に対象毎の確認事項を記載しますが、これらはenebular-agentのインストール時に取得・準備した事項です。 enebular-agentのインストールが完了していれば問題にならない項目ですが、※情報はアップデートスクリプトの実行に必要な情報ですので確認後に控える様にして下さい。

Linux

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

AWS IoT(AWS IoTの場合)

  • AWSのアカウント
    • このアカウントにはIAMFullAccessの権限が与えられていること

Pelion Device Management (Pelion Device Managementの場合)

  • Pelion Device Managementのアカウント
  • ※Pelionの接続モード:developerまたはfactory
    確認方法
    • 次のファイルをエディター等で確認し、記述内容から判別する
      /home/enebular/enebular-runtime-agent/tools/mbed-cloud-connector/define.txt
      
      add_definitions(-DMBED_CONF_APP_DEVELOPER_MODE=1):Pelionの接続モードはdeveloper
      add_definitions(-DMBED_CONF_APP_DEVELOPER_MODE=0):Pelionの接続モードはfactory

enebular

  • enebularのアカウント
  • enebularのプロジェクト

インストール時のオプション

  • インストール時のオプションに--no-startup-registerを指定していないこと
    --no-startup-registerを指定していた場合、アップデートスクリプトを使用したバージョンアップは行えません。 アップデートスクリプトを使用しないバージョンアップについては、 [email protected] までお問い合わせください

アップデートスクリプトの実行

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

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

上記のコマンドを実行するディレクトリは、どこでも構いません。
アップデートスクリプトは enebular.comサーバーよりインターネット経由で取得します。
バージョンアップに必要な情報(enebularへの接続方法:AWS IoTまたはPelion Device Management、インストール先ディレクトリ等)はアップデートスクリプトが環境変数等を参照して自動取得します。そのため、任意のディレクトリでアップデートスクリプトを実行することができます。
また、アップデートスクリプトはenebular-agentのサービスの起動状況によらず、バージョンアップを行うことが出来ます。

オプション

アップデートスクリプトに設定できるオプションとオプション引数と省略可/不可は下表のとおりです。

オプション オプション引数 省略可/不可 説明
--user --user=* 不可 enebular-agentを実行するユーザーを指定します
--pelion-mode =[developer, factory] 注1 Pelion Device Managementの場合のみ、Pelionの接続モード(developer,factory)を指定します
-h, --help 無し ヘルプ情報を出力します

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

  • 注1:AWS IoTの場合は使用しません。Pelion Device Managementの場合は省略不可です。

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

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

  • オプションは複数指定可能です(オプションとオプションの間は半角ブランク)
  • オプション引数には不要な半角ブランクを入れないでください

事例

アップデートスクリプトの実行例

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

AWS IoT用のコマンド実行例(AWS IoTの場合)

wget -qO- https://enebular.com/agent-Update | sudo -E bash -s -- --user=enebular`

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

  • Linuxユーザーはenebular
  • その他のオプションは省略

Pelion Device Management用のコマンド実行例(Pelion Device Managementの場合)

wget -qO- https://enebular.com/agent-Update | sudo -E bash -s -- --user=enebular --pelion-mode=factory

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

  • Linuxユーザーはenebular
  • Pelionの接続モードはfactory
  • その他のオプションは省略

結果

アップデートスクリプトは、アップデート前のenebular-agentを停止してからアップデート処理を行います。
その後アップデートしたenebular-agentを起動し、アップデートスクリプトは終了します。

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

systemctl status enebular-agent-enebular.service

上記のコマンドを実行することでenebular-agentのサービスの起動状況(起動/停止)を確認することができます。

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

enebular-agentのサービスが起動している場合は、上記のコマンドを実行することでenebular-agentの実行状況を確認することができます。

Node.jsのインストール

必要としているNode.jsのバージョンを利用可能にする為に、Node.jsをダウンロードしインストールする場合があります。

results matching ""

    No results matching ""