Armadillo-IoTを使い、データをクラウド上のサーバーにアップロードするサンプルアプリケーションです。
サンプルアプリケーションは、Armadillo-IoT上で動作するクライアントサイドアプリケーションとクラウドプラットフォーム上で動作するサーバーサイドWebアプリケーションの2つのアプリケーションから構成されています。サンプルアプリケーションは、Armadillo-IoT(クライアント)からデータをサーバーにアップロードする機能と、サーバーからクライアントに対して操作指示(Push通知)を行う機能の二つを備えています。
クライアントからサーバーへのデータアップロードの例として、Armadillo-IoTが本体の状態監視用に内蔵している温度センサの値をアップロードします。また、サーバーからのPush通知の例として、ブラウザに表示されたボタンをクリックすると、その状態(ONまたはOFF)をArmadillo-IoTに通知します。
クライアントサイドアプリケーションは、Rubyのコンソール(CLI)アプリケーションとして実装されています。実装を簡単にするために、Ruby用ライブラリの一般的な配布形式である、Ruby Gemsをいくつか使用しています。データのアップロードはREST API(HTTP POST)で行うため、rest-clientを使用します。また、サーバーからのPush通知には Pusherを使用しているため、pusher-clientを使用します。
サーバーサイドWebアプリケーションは、クラウドアプリケーション開発プラットフォームのHeroku上で動作しています。Node.jsで実装されており、クライアントサイドアプリケーションからのデータを受信するとデータベース(PostgreSQL)に格納します。格納したデータは、Webブラウザからリアルタイムに変化を確認できるようになっています。また、ブラウザ上に表示されたボタンをクリックすると、それがクライアント(Armadillo-IoT)への操作指示として、Push通知されるようになっています。
詳しくは、Armadillo-IoTのマニュアルをご覧下さい