IoTに特化してハードウエアからOS、セキュリティ、API、クラウドサービスまでを統合して提供する、米Electric Imp社の開発用ハードウエア「impExplorer Developer Kit」(以下、impExplorer)を使って遊ぶ、第2回目。前回、ネットサービス企業のGMOインターネットで特命担当技術分析官を務める技術者の新里 祐教氏はまずimpExplorer単体でLチカ(LEDの点灯)を試みた。今回は、さらにクラウドとの連携を体験していく。
前回に引き続き、Webブラウザ上で動く管理ツール「impCloud」の開発環境を利用していこう。今回はimpExplorerに搭載されている加速度、温湿度、気圧センサーの値の読み取りを行う。そして、外部出力として用意されているGROVEコネクターに小型のOLED(有機発光ダイオード)ディスプレーを接続して、センサー値を表示する装置を作成する。
外部からのアクセスをトリガーに加速度、温湿度、気圧を表示
とはいっても、ただ表示するだけではつまらないので、impCloudのAPI(Application Programming Interface)へのHTTPリクエストをトリガーにして、加速度、温湿度、気圧センサーの値をOLEDディスプレーに表示するようにする。APIはimpCloudが端末毎に持っているURL(エンドポイント)にWebブラウザでアクセスすると簡単に叩ける。
まず最初に、impCloudが"クラウド"らしく、外部からのリクエストを受け付けて、デバイス側と連携する仕組みを考えてみよう。前回説明したように、impCloudの開発画面は2つのタブに別れていて、それぞれAgent(クラウド)側、Deveice(端末)側となっている。
Agent側の開発画面では、外部からのAPIアクセスをWebアプリケーションのエンドポイントのように受け付ける。Device側の開発画面では、センサー値を取得したりLEDを点灯したり外部出力を行う。Agent側でHTTPを受け付けたら、引数をチェックしてDevice側に指示するといった流れになる。