IIJ Legsを使ってお手軽にデバイスを遠隔操作してみた

公開日:2019/07/11 更新日:2019/07/11
IIJ Legsを使ってお手軽にデバイスを遠隔操作してみたのサムネイル

IIJ-Legs.png Image Credit : iij.com

はじめに

IIJ Legsというプロダクトが2019年7月8日にIIJより公開されました。これはインターネット越しのデバイス制御を非常にお手軽に実現してくれるサービスで、実際にやってみたところ確かにとても簡単でした。この記事では実際にIIJ Legsを使ってデバイスを操作してみるまでの手順をまとめます。

前提と環境

今回はラズベリーパイをIIJ Legsを使ってインターネット越しに操作してみました。

  • 操作対象 : ラズベリーパイ 3 Model B

IIJ Legsについて

IIJ Legsは、SSH等は使わずに、各デバイスにインストールしたクライアントアプリを起動しておくだけで、インターネット越しにリモートからHTTPS経由(Webブラウザから)で操作できるようにしてくれるサービスです。詳細については、以下のIIJ公式ブログに記載されています。

eng-blog.iij.ad.jp

はじめに プロダクト本部の r-fujimoto です。 今回は7月8日付で公開した IIJ Legs という新しいプロダクトの紹介をしたいと思います。 公式サ...

IIJ Legsを使用するには、まずはアカウントを作成し、その後クライアントツールを操作したいデバイスにインストールする必要があります。以降でのこの手順を説明します。

IIJ Legsアカウントを登録する

まず、ブラウザからIIJ Legsのログイン画面にアクセスします。ログイン画面のURLはこちら。 これは操作したいデバイスからではなく、操作元のパソコンで大丈夫です。以下ログイン画面の中に、「アカウント新規作成」というリンクがあるのでこれをクリックします。

iij-legs-login-window.png

「アカウントを新規作成」をクリックすると、以下のようにアカウント作成フォームが表示されるので、メールアドレスとパスワードを入力し、利用規約を読んだ上で良ければチェックを入れて「create account」をクリックします。

create-form.png

「create account」をクリックすると、以下のようにメールアドレスに届いているメール内のリンクをクリックするよう指示されます。

confirm-mail-deleted.png

2019年7月時点では、以下のようなメールが届きました。「Confirm my account」という部分が有効化のためのリンクになっています。

youremail 様

Legsにご登録いただきありがとうございます。
アカウントを有効化するには以下のリンクをクリックしてください:

Confirm my account


リンクをクリックしてアカウントが有効化されると、ブラウザが開いてログインされます。そして以下のようにチュートリアルが表示されます。

after-loggedin-mod.png

このチュートリアルに従って、操作したいデバイスにクライアントツールをインストールします。このチュートリアルの中に、各自のシークレットキーを含むコマンドが記載されているので、これをメモしておきます。 次にこの手順について説明します。 なお、チュートリアルを閉じると、以下のようにダッシュボードが表示されますが、まだ登録されたデバイスがない状態です。

dashborad-no-device.png

操作したいデバイスにクライアントツールをインストールする

操作したいデバイスを起動して、端末から以下のコマンドを実行してクライアントツールをインストールします。ここではラズベリーパイを使っています。

$ curl --silent https://raw.githubusercontent.com/iij/legs-client/master/install.sh | sh

また、チュートリアル内にあったコマンドをシークレットキーごとそのまま実行します。

$ ./legsc secret mkl2AOuho3AKFNKP9-235jOUHF08eH_WOIHFhfewqp8Ho3uhoU

なお、上記を実行しても以下のようにエラーが表示されるかもしれません。私の環境では表示されました。

$ ./legsc secret mkl2AOuho3AKFNKP9-235jOUHF08eH_WOIHFhfewqp8Ho3uhoU<
open /home/pi/.config/legsc/conf.toml: no such file or directory

これは指定したディレクトリがないと言っているので、事前に以下のようにlegscディレクトリを作成しておくことで回避できました。/home/piは私のラズベリーパイのホームディレクトリです。

$ mkdir /home/pi/.config/legsc

改めてシークレットキーを登録したところ、今度は以下のようにうまくいきました。

$ ./legsc secret mkl2AOuho3AKFNKP9-235jOUHF08eH_WOIHFhfewqp8Ho3uhoU
save to /home/pi/.config/legsc/conf.toml

後は以下のコマンドでクライアントツールを起動します。

$ ./legsc start

以上でクライアントツールのインストールは完了です。そして実際にWebブラウザでIIJ Legsのダッシュボードを確認してみると、以下のように自分のラズベリーパイが表示されていることを確認できました。

device-in-dashboard-checked.png

Webブラウザからデバイスを操作する

あとは、IIJ Legsのダッシュボードに表示されているデバイス名をクリックし、クリックした先の画面内にある「コンソール」タブを開くと、以下のようにデバイスの端末を操作できます。遅延もないです。

console-detail.png

まとめ

IIJ LegsでIoTデバイスの遠隔制御などは圧倒的にお手軽になりそうな感じです。ちなみにAPIも用意されています。2019年7月時点では、5台のデバイスまでは無料でお試しできるので興味がある方はぜひ触ってみてください。

関連記事

開発アプリ

nanolog.app

毎日の小さな出来事をなんでも記録して、ログとして残すためのライフログアプリです。