IIJ Legs(ベータ版)のご紹介

日付:2019年07月23日 火曜日
テーマプロダクト&サービス

IIJ 畠山です。

今回は最近ベータ版を公開した「IIJ Legs」というIIJ謹製ツールのご紹介です。

ツールの概要

「IIJ Legs」はIIJのサーバを介してネットワーク上のIoTデバイスを管理・操作するためのツールです。

デバイス側に専用のクライアントソフトウエアをインストールすることで、デバイスとサーバの双方向通信を実現します。

「IIJ Legs」で提供される主な機能は以下の通りです。

機能 説明
デバイスの認証 MACアドレスとSECRETキーからデバイスを認証し、IDを自動採番します。
コマンドの実行 デバイスに対して任意のコマンドを実行します。
仮想コンソール WebアプリからWebSocket越しにデバイスの仮想コンソールを操作できる機能です。
ルーティング登録 サーバーに外部クラウドへの転送設定を保存しておくことができます。保存された設定はデータ転送機能で利用できます。
データ転送 クライアントからのPOST・GETリクエストをLegs経由で外部クラウドに転送することができます。
URLフォワーディング デバイスをリバースプロキシに見立てて、ローカルなネットワークに外部からHTTPアクセスできる機能です。

より詳細を知りたい方は

詳細の情報は以下のサイトに記載していますので、もしご興味のある方は是非とも参照してみてください。
▪️ IIJ Legs オンラインマニュアル
https://dev.smf.jp/legs/

▪️ IIJ エンジニアブログ
https://eng-blog.iij.ad.jp/archives/3358
※ Legsの開発背景などが書かれています。

最後に

IIJスマートメーターBルート活用サービスではSA-M0やSA-M1などのゲートウェイ機器を用いていますが、これらのゲートウェイ機器を開発した際には、デバイスの管理・操作の処理には苦労しました。

特に、サーバーからデバイス側を制御する際の下り方向の処理は、デバイスの判別・特定、制御コマンドの処理結果のハンドリングなどなど考慮しなければいけないことが盛りだくさんで、実装・試験には大きな労力が必要でした。

上記のような話は、IoTデバイス(ゲートウェイ)と連携するシステムを開発する際には必ずと言っていいほど遭遇する課題です。

デバイスとサーバとの双方方向通信を実現するには、MQTTやAWS IoTなど幾つかのツール・ソリューションが存在していますので、どれを選択するのかによってシステム開発と開発後の運用が大きく影響を受けることになります。

これからIoTデバイス(ゲートウェイ)と連携するシステムを開発しようとしている方は、選択肢の一つとして「IIJ Legs」をご検討いただきたいです。

PoC案件(低予算、短期間で実証実験向けのシステムを開発するような場合)には、うってつけだと思います。