この記事はisaaxを使ってIoT開発をするためのシリーズ記事の最終回です。併せて第1回「isaaxではじめるIoTの第一歩!」、第2回「isaaxのユーザ環境変数を使いこなそう」、第3回「isaaxのアプリケーションライフサイクルとシェルスクリプト機能について」も御覧ください。

isaaxは皆さんのIoTプロジェクト開発、運営を支えるサービスです。といっても具体的にどう役立つのかが分からないと、利用するアイディアもわきづらいでしょう。そこで今回は「プロトタイプ開発時」と「運用時」の2つに大きく分けて、isaaxがどのように役立つか紹介します。

プロトタイプ開発時

ソースコードの転送が簡単

Raspberry Piなどを用いてIoT開発を行っている際に、PCで開発してそのコードを転送するのに手間を感じたことはないでしょうか。PCから手を離してRaspberry Piでコマンドを入力してファイルを取得し、実行するといった作業はとても手間です。大抵、いつしか面倒になってRaspberry Pi側だけで作業するようになります。しかしPCの整った開発環境とは異なるため、viやEmacsなどを駆使しての煩雑な開発を強いられたり、処理速度の遅さに苛立ったりします。

なにより、この方法はバージョン管理がされていない状態であるため、間違った更新に対してロールバックする手段がなくなります。

isaaxはアプリケーションのバージョン管理にGitを使いますが、デスクトップからGitリポジトリへプッシュするだけでIoTデバイス側へ自動反映されます。反映された内容ですぐにアプリケーションを再実行してくれるので、コードを反映する手間がありません。

 

ネットワーク処理を気にしなくて良い

IoTデバイスは小型で、ストレージも小さなものです。そのため、多くはセンサーを通じて収集したデータをネットワークを介してサーバへアップロードします。そうした時にネットワーク周りのコードを記述しなければなりません。デバイスの認証であったり、ネットワークが通じなかった時のキャッシュや再送など、ネットワーク周りの処理は複雑になりがちです。

isaaxではアプリケーションはただログを標準出力するだけで、クラウドへのアップロードはisaaxが自動的に行ってくれます。ログはダッシュボード上で閲覧できますし、Google DriveやAmazon S3、Azure Blobなどのクラウドストレージに転送もしてくれます。ネットワーク周りの煩雑な処理は一切気にせず、開放されます。

サーバが不要

前述の通り、IoTデバイスにはサーバが不可欠です。しかし、Web向けであったり、スマートフォンアプリなどとはまた異なる特徴があります。ごく小さなパケットが随時送られてきますし、時にサーバ側から指令を出すのがIoTプロジェクトにおけるサーバに必要な機能でしょう。

isaaxを使うことでサーバ環境を用意する必要がなくなります。IoTデバイスの管理はダッシュボードで、ログデータはGoogle DriveやAmazon S3、Azure Blobといったクラウドストレージに蓄積できるので、そのままシステム自動化やログ解析に役立てられます。

ログがダッシュボードで確認できる

開発時にはIoTデバイスのログが気になることでしょう。しかし、多くのIoTデバイスにはディスプレイがなく、標準出力やファイルに書き出した内容を確認するためにターミナルでログインしたりしなければなりません。この切り替えは面倒です。

isaaxは標準出力した内容がそのままダッシュボードに送られてきます。Webブラウザ上でデバイスのログを確認できるので、開発がとてもスムーズに進むことでしょう。本番運用時にはデバッグログはコメントアウトすれば良いだけです。

 

プログラミング言語が自由に選べる

isaaxは標準出力された内容を対象としていますので、どんなプログラミング言語でも利用できます。ライブラリやSDKの縛りによって、特定の言語しか使えないといったことはありません。IoTプロジェクトの特性に合わせて最適なプログラミング言語を自由に選べます。

 

セットアップが簡単

IoTデバイスのセットアップはとても面倒です。多くの場合は一台、二台ではなく、数百台をセットアップしなければなりません。そのために複雑なスクリプトを毎回実行していたら嫌になってしまいます。

isaaxのインストールコマンドはたった一行のコードです。これを実行するだけでデバイスの登録が完了し、アプリケーションを実行できる状態になります。シェルスクリプト機能によって、環境周りのセットアップも自動化可能です。さらにisaax自身(isaaxd)のアップデートも自動的に行われます。

 

 

運営時

無数のIoTデバイスをグルーピングして管理

全国各地に設置されたIoTデバイスに対してアプリケーションをバージョンアップしたり、セキュリティパッチを当てたりするのは大変骨の折れる作業です。現地に行って一台一台作業する、というのは現実的ではありません。

isaaxであればGitリポジトリに対してプッシュするだけですべてのIoTデバイスを更新できます。IoTデバイスはグルーピングして管理できますので、一部のグループだけ更新を適用すると言った運用も可能です。

 

複数のプロジェクトもまとめて管理

IoTプロジェクトは一つだけとは限りません。デバイスが異なれば管理インタフェースも変わり、管理が煩雑になります。デバイスが違うとワークフローも変わり、更新手順なども異なります。

isaaxは複数プロジェクトの管理に対応していますので、ダッシュボードですべて同じUIで管理できます。インターネット接続さえあれば、どこからでもIoTデバイスの監視をしたり、アプリケーションのアップデートが可能です。

グローバルIPアドレスは不要

IoTデバイスをインターネットを通じて管理するために、各デバイスにグローバルIPアドレスを持たせるといった運用を考えた場合、そのコストは必然的に大きくなります。

isaaxはクラウドとIoTデバイスをMQTTで接続し、データの送受信を行っています。そのためインターネット環境さえあれば、ルータの中にあっても利用できます。もちろんゲートウェイを用いたIoTプロジェクトにも利用できます。

まとめ

isaaxはプロトタイプ開発から本番環境での運用にいたるまで幅広く使用することができます。特にネットワーク周り(アプリケーションのアップデートやログの収集など)の面倒な作業から解放されると、IoTプロジェクトがとても簡単なものになったと感じてもらえるはずです。

ぜひisaaxを使って皆さんのIoTプロジェクトを高速化、省力化してください!

isaax IoT


Leave a Reply

Your email address will not be published. Required fields are marked *