node.jsでAmbientにデーターを送信するライブラリーです。

インストール

ライブラリーはnode.jsのパッケージ管理サービスnpmに登録してあり、次のようにnpmコマンドを使ってインストールすることができます。

    $ npm install ambient-lib

ライブラリーの読み込み

ライブラリーの読み込みは次のようにおこないます。

    var ambient = require('ambient-lib');

Ambientへの接続

Ambientにデーターを送信するときは、最初にチャネルIdとライトキーを指定してAmbientに接続します。

    ambient.connect(チャネルId, ライトキー[, リードキー[, ユーザーキー]]);

Ambientへのデーター送信

    ambient.send(data, callback(err, res, body));

パラメーター

  • data: 次のようなJSON形式で、キーはd1からd8のいずれかを指定します。
    var data = {d1: 1.1, d2: 2.2};
  • callback: データー送信後に呼ばれるコールバック関数。パラメーターはrequestモジュールのコールバック関数のパラメーターと同じです。

こんな風に使います。

    ambient.send({d1: 1.1, d2: 2.2}, function(err, res, body) {
        if (err) {
            console.log(err);
        }
        console.log(res.statusCode);
    });

この形式でデーターを送信した場合、Ambientはデーターを受信した時刻を合わせて記録します。次のようにデーターを測定した時刻を指定することもできます。

    var data = {created: 'YYYY-MM-DD HH:mm:ss.sss', d1: 1.1, d2: 2.2};

また、次のように複数のデーターを一括で送信することもできます。

    var data = [
        {created: '2017-02-18 12:00:00', d1: 1.1, d2: 2.1},
        {created: '2017-02-18 12:01:00', d1: 1.5, d2: 3.8},
        {created: '2017-02-18 12:02:00', d1: 1.0, d2: 0.8}
    ];

以前は複数データーの一括送信はbulk_send()という関数を提供していましたが、send()で1データーでも複数データーでも送信できるように拡張しました。 bulk_send()は互換性のために残してあります。

複数データー一括送信 bulk_send()

複数データー一括送信 bulk_send()は、互換性のために残してあります。

    ambient.bulk_send(dataarray, callback(err, res, body));

パラメーター

  • dataarray: 次のような形式の配列です。 createdはデーターの生成時刻で、値は“YYYY-MM-DD HH:mm:ss.sss”という形式か、 数値を渡します。 数値を渡した場合は1970年1月1日00:00:00からのミリ秒と解釈されます。
    var dataarray = [
        {created: '2016-07-07 12:00:00', d1: 1.1, d2: 2.1},
        {created: '2016-07-07 12:01:00', d1: 1.5, d2: 3.8},
        {created: '2016-07-07 12:02:00', d1: 1.0, d2: 0.8}
    ];

関連リンク

ライブラリーのソースコードはGithubで公開しました。