センサーデータの処理

センサールールの作成

Tracking API は 、バッテリー、温度、加速、改ざんセンサーなど、さまざまなタイプのセンサーをサポートしています。 この例では、「マイバッテリーレベル」ルールを作成して、デバイスのバッテリーレベルが 20% 未満になったときに所有者に通知します。

センサールールを作成するに は、sensors エンドポイントにリクエストを送信します。 ユーザーが複数のプロジェクトのメンバーである場合 projectId は、クエリ パラメーター でターゲットプロジェクト ID を指定する必要があります。

curl -X POST \
  'https://tracking.api.here.com/sensors/v3?projectId=`projectId`' \
  -H 'authorization: Bearer {userToken}' \
  -H 'content-type: application/json' \
  -d '{
  "type": "battery",
  "range":  {
    "begin": 20,
    "end": 80
  },
  "name": "My battery level"
}'

これにより、バッテリールールが作成され、一意のルール ID が返されます。この時点では、ルールはどのデバイスにも関連付けられていませんが、アセットトラッキング ウェブ アプリケーションに表示されます。

curl -X GET \
  'https://tracking.api.here.com/sensors/v3?projectId=`projectId`' \
  -H 'authorization: Bearer {userToken}' \
  -H 'content-type: application/json'

これにより、ユーザーが作成したセンサールールのリストが返されます。

ルールとデバイスの関連付け

センサールールを作成すると 、センサーデータをTracking API に送信しているデバイス関連付けることができます。これにより、報告されたデバイスのバッテリー残量がルールで定義された範囲内または範囲外になるたびにイベントが生成されます。

trackingId は 、ユーザーが請求したデバイスのTracking ID です。

curl -X PUT \
  https://tracking.api.here.com/associations/v3/{trackingId}/sensors/{ruleId} \
  -H 'authorization: Bearer {userToken}' \
  -H 'content-type: application/json'

テレメトリーを送信

バッテリー情報を含むテレメータを、定義された範囲内で送信してから、その範囲を下回るようにします。

注 : タイムスタンプ は、 UNIX のエポック時間(ミリ秒単位)です。

curl -X POST \
  https://tracking.api.here.com/v2/ \
  -H 'authorization: Bearer {deviceToken}' \
  -H 'content-type: application/json' \
  -d '[{
      "timestamp": 1569300623010,
      "position": {
        "alt": 107,
        "accuracy": 13,
        "lat": 52.520806,
        "lng": 13.410514,
        "altaccuracy": 14
      },
      "system": {
        "reportedSensorData": {
          "batteryLevel": 21
        }
      }
}]'
curl -X POST \
  https://tracking.api.here.com/v2/ \
  -H 'authorization: Bearer {deviceToken}' \
  -H 'content-type: application/json' \
  -d '[{
      "timestamp": 1569300814020,
      "position": {
        "alt": 107,
        "accuracy": 10,
        "lat": 52.521880,
        "lng": 13.412724,
        "altaccuracy": 15
      },
      "system": {
        "reportedSensorData": {
          "batteryLevel": 19
        }
      }
}]'

イベントが記録されたことを確認

すべてのセンサーイベントが記録されます。 2 つの異なるイベントが表示されます。 1 つ目のテレメトリーのインジェストによってトリガーされた「範囲内」のイベントと、 2 つ目のイベントによって「範囲外」のイベントです。 レポートされたセンサーの状態がルールの上限または下限のしきい値を超えると、イベントが生成されます。

curl -X GET \
  https://tracking.api.here.com/events/v3/{trackingId} \
  -H 'authorization: Bearer {userToken}' \
  -H 'content-type: application/json'

」に一致する結果は 件です

    」に一致する結果はありません