すべてのモノが「つながる」新たな未来へ。パートナーサイトJPENReekohサービスプラグイン(Node.js)を作ってみるツイートするTumblrでシェア技術情報2018.10.07ReekohとはReekohとは、IoTデータをNode-REDのようにハードウェアデバイス/APIをオンラインサービスに接続したり、独自のダッシュボードを構築することができるクラウドサービスです。フリーサービスではないので、Reekoh社及び代理店からの提供されるエンタープライズ向けツールです。Node-REDのNodeのようにReekohプラットフォームはPluginをパイプします。このPluginを自ら開発することも可能です。APIを提供しています。(Node.js環境は事前に設定しておいてください)Reekohパッケージのインストール下記コマンドラインにより、Reekohパッケージをインストールします。Pluginで下記のようにインポートすればReekohパッケージを使用することができます。Pluginプロジェクトの雛形を作る。その前にPluginプロジェクト雛形のジェネレータをインストールSDKとは別に、ReekohからYeomanを使用して新しいプラグインプロジェクト雛形を作成するためのプロジェクト作成ツールを提供されています。SDKを使用してプラグインを作成するために必要なファイルとフォルダを自動的に作成します。下記コマンドでプロジェクト作成ツールをインストールできます。Plugin以外の下記その他Pluginを生成できます。SyncLoggerServiceStorageStream作成されたPlugin雛形は下図のような構成になっています。リリースノートやテスト、公開時のイメージファイルなどを編集することも必要ですが、Pluginの基本はapp.jsとなります。Pluginを開発する上でのプロパティ、メソッド、イベントをもつ基本となるインスタンスです。(data))ですが、'data'というのは、デバイスやセンサーデータを受信した時に立つイベントです。ここで、実際に受信したときの処理を記述するわけですが、理解しやすいように単純な外部サービスとの連携を例にサービスプラグインを作ってみます。Pluginを作るとにかく何か位置情報を送信するようなIoTデバイスを考えてみます。そのIoTデバイス(GPSデバイス)がある位置の標高を求めるようなAPIと連携してみます。緯度経度から標高を返してくれるAPIを国土地理院が試験サービスしているので、こちらを使います。http://cyberjapandata2.gsi.go.jp/general/dem/scripts/getelevation.php?<パラメータ>にパラメータとしてlat、lonを渡してあげればJSON形式でelevationを返してくれるサービスです。Pluginができます。あるIoTデバイスから緯度35.641468、経度139.741785というGPS位置情報をReekohプラットフォームで受信し、その緯度経度をhttp://cyberjapandata2.gsi.go.jp/general/dem/scripts/getelevation.php?lat=35.641468&lon=139.741785&outtype=JSONで国土地理院の標高APIに渡し、応答のあったJSON(標高は4.5mだったのね){"elevation":4.5,"hsrc":"5m\uff08\u30ec\u30fc\u30b6\uff09"}を次の何かサービスにパイプするということができるわけです。このPluginをPiplelineに登録することにおり、下図のように、Sigfox対応GPS端末のデータをSigfoxクラウドからCallbackで受け、その緯度経度を国土地理院の標高APIに渡し、結果として得られた標高データをストレージに蓄積したら、他のアプリケーションサービスにWebhookするというようなことが簡単に作成できます。サイトマップ当サイトについてJPENKCCSは京セラコミュニケーションシステム株式会社の略称です。記載の会社名および製品名・サービス名は、それぞれ各社の商標または登録商標です。