Jetson Nanoにenebular agentをインストールしてみた


はじめに

以前は推奨環境が限定され、enebular agentを導入するのにいくつかハードルがありましたが、現在の推奨環境の記載はシンプルになり、結論から先に言うと1コマンド(厳密には1行のコマンド)でインストール可能になりました!

推奨環境

Jetson NanoはJetPack(4.5.1)=Ubuntu 18.04.02 LTSがインストールされています。
UbuntuはDebianをベースとして派生したディストリビューションなので、サポート対象

公式ドキュメント

以前の導入メモ

手順

インストールスクリプト

公式ドキュメントの通り、インストールスクリプトをダウンロードして、AWS IoTの情報、ユーザー名などの情報をオプション(引数)で指定して実行するだけです。

ポイントは、
--userオプションでJetson Nanoをインストールした時のユーザー名(ここでは、jetson)を指定する
--dev-modeオプションでenebular editorまたはブラウザからNode-RED flow editorを使用できるようにする
です。

コマンド

Jetson Nanoで以下のコマンドを実行します。

$ wget -qO- https://enebular.com/agent-install | sudo -E bash -s -- \
 --aws-iot-thing-name=”名前” \
 --aws-access-key-id=”アクセスキーID” \
 --aws-secret-access-key=”シークレットアクセスキー” \
 --aws-iot-region=”リージョン” \
 --user=”ユーザー名” \
 --dev-mode

コマンドを実行した際のログです。(アクセスキーID、シークレットアクセスキーはxxxxxxxxでマスクしています。)

$ wget -qO- https://enebular.com/agent-install | sudo -E bash -s -- \
> --aws-iot-thing-name=enebular-jetson-01 \
> --aws-access-key-id=xxxxxxxxxx \
> --aws-secret-access-key=xxxxxxxxxx \
> --aws-iot-region=ap-northeast-1 \
> --user=jetson \
> --dev-mode
============================================================================================================================================================================================================
 enebular-agent installation:
   - Device name:         jetson-desktop
   - System:              Linux 4.9.2014.9.201-tegra aarch64 GNU/Linux
   - Install user:        jetson
   - Install destination: /home/jetson/enebular-runtime-agent
   - Agent port:          awsiot
   - Agent version:       latest-release
============================================================================================================================================================================================================
==== Fetching updater version info ====
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100    28  100    28    0     0    205      0 --:--:-- --:--:-- --:--:--   205
OK
==== Downloading updater version 2.15.3 ====
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 5749k  100 5749k    0     0  2628k      0  0:00:02  0:00:02 --:--:-- 2628k
OK
==== Installing enebular-agent-updater to /tmp/enebular-agent-updater.L6grIz0jN ====
OK
==== Checking node.js version ====
OK
==== Checking existing node.js v12.20.0 installation ====
OK
==== Downloading https://nodejs.org/dist/v12.20.0/node-v12.20.0-linux-arm64.tar.gz ====
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 22.1M  100 22.1M    0     0  2793k      0  0:00:08  0:00:08 --:--:-- 2911k
OK
==== Checking integrity ====
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  3147    0  3147    0     0  10525      0 --:--:-- --:--:-- --:--:-- 10525
OK
==== Installing Node.js v12.20.0 to /home/jetson/nodejs-v12.20.0 ====
OK
==== Fetching enebular-agent ====
OK
==== Extracting enebular-agent ====
OK
==== Updating system package lists ====
OK
==== Install Debian dependencies ====
OK
==== Creating Remote Maintenance User ====
Creating enebular-remote-admin using default password
OK
==== Applying file permissions ====
OK
==== Creating AWS IoT thing ====
OK
==== Registering startup service ====
OK
============================================================================================================================================================================================================
 enebular-agent has been successfully installed ✔
   - Version: 2.15.3
   - Location: /home/jetson/enebular-runtime-agent
   - User: jetson
   - Service name: enebular-agent-jetson

 AWS IoT Thing enebular-jetson-01 has been created.
 enebular-agent is running as a system service.
 To check the status of agent, run the following command on the target device:
   sudo journalctl -ex -u enebular-agent-jetson.service
============================================================================================================================================================================================================
See details in full install log file: /tmp/enebular-agent-install-log.DKGZA2

node-red-node-pi-gpio

以前、Jetson Nanoでrpi gpioノードを使用するコードの修正が必要でしたが、デフォルトで使用できるようになっていました!

変更履歴から、2019年6月25日に修正されていることを確認しました。

まとめ

Node-REDをインストールするのと同じくらい、enebular agentをインストールするのが簡単になっていました。
あくまでも個人的な見解ですが、enebular agent = Node-RED + フロー管理、デプロイ機能で、非常に便利だと思います。
良きenebularライフを!