Postmanを使用したMeasurementデータの格納方法

投稿日 / 投稿者名

2018.8.1 / 磯和 七海

はじめに

本レポートは、Things Cloud の利用例をより知っていただくための実利用レポートとして作成したものです。
Things Cloud は極力後方互換性を持つよう開発されていますが、今後のリリースにより、一部画面やコマンド、手順などが変更となったり、利用できない可能性があることをあらかじめご了承ください。
なお、作成にあたり、以下バージョンを用いています。

  • ver.8.15.8(backend/UI)

難易度 ★


概要

本セクションでは、API経由でのMeasurementデータ格納方法をご紹介します。
今回は、Postmanを使ってMeasurementデータを格納する方法を学びます。

前提条件

  • HTTP通信について基礎的な理解があること。
  • 開発環境に以下をインストールしていること。
    • Postman (バージョン6.1.4)

所要時間(目安)

この手順に沿って、Measurementデータ格納する場合の所要時間。

  • 約10分

習得できること

今回は、Postmanを使ってMeasurementデータを格納する方法を学びます。例として、"Cumulocity API" のMeasurementを使用します。

【格納イメージ】
以下のように、上のテキストボックスに格納したい値を代入し、下のテキストボックスにレスポンスが返ってきます。
また、赤丸で囲んだところに、HTTPステータスコードが入ります。正しく格納されると、Status:201 createdと表示されます。



1.Postmanの環境設定

Postmanの環境設定方法はこちらでご覧いただけます。
  (Things Cloud開発ガイドの他ページに遷移します。)


2.MeasurementデータをPOSTする

Postmanの "Collections" タブを押して、 "Cumulocity API" フォルダを開いてください。
例として、"Mesurement" サブフォルダを開き、 "Create temperature Measurement" をクリックしてください。
(今回は温度データを格納します。)

画面右側にBodyタブがあります。そこをクリックし、上段のテキストボックスに値を入れます。
値の指定が必要な項目は以下の通りです。

  • value :Measurementの数値を入力します。
  • time  :Measurementが発生した時間をISO 8601形式のタイムスタンプで入力します。
    • 例えば、日本時間が2018年6月22日の17時03分14秒だったとします。
      その場合は"2018-06-22T17:03:14.000+09:00"と入力します。
      (日本時間の場合、<<9時間前の時刻>>.000+09:00とします。)
  • id   :Measurementが発生したデバイスのIDを入力します。
        IDの取得方法に関してはこちら

【入力するテキストボックス】
以下の図中で、赤い◯で囲った値を入力してください。

例えば、上図のように入力したとします。
入力後、画面右上のSend(青色のボタン)をクリックしてください。
Bodyダブの下段に表示された内容がPOSTされたMeasurementデータです。
今回の場合は、以下のようなデータが表示されます。

{
    "time": "2018-06-22T17:03:14.000+09:00",
    "id": "562803",
    "self": "https://{{テナント名}}/measurement/measurements/562803",
    "source": {
        "id": "88887",
        "self": "https://{{テナント名}}/inventory/managedObjects/88887"
    },
    "type": "c8y_TemperatureMeasurement",
    "c8y_TemperatureMeasurement": {
        "T": {
            "unit": "C",
            "value": 25
        }
    }
}


格納後表示されるデータの項目紹介

項目 種別 説明
time String メジャーメントの時間
id String メシャーメントを一意に識別する番号
(メジャーメントID)
self URI このリソースへのリンク
source ManagedObject デバイスID(ManagedObjectのID)
(オブジェクトは「id」および「self」のプロパティを含む)
type String このメジャーメント種別を端的に示す種別名
c8y_TemperatureMeasurement Object フラグメントの名前
(オブジェクトは「T(フラグメントシリーズ)」のプロパティを含む)
フラグメントの詳細はこちらをご覧ください
unit String メジャーメントの単位
(今回は「C」)
value Number 個々のメジャーメントの値

この表の詳細はこちらで参照できます。

さまざまなMeasurementのPOST方法

先ほど紹介した "Create temperature Measurement" 以外にもさまざまなMeasurementデータを格納することができます。

【Measurementサブフォルダ】

名称 内容
Create signal measurement 音や振動などの強さのデータを格納する(単位は「db」)
Create speed measurement 速度データを格納する(単位は「Km/h」)
Create multiple measurement 複数のメジャーメントを同時に格納する(単位は自由)
単位を変更する場合は、以下の<<>>で囲まれた内容を入力してください。
(フラグメントはについてはこちらをご覧ください。)
{
  "<<フラグメント>>": {
      "<<フラグメントシリーズ>>": {
          "value": <<値>>,
            "unit": "<<単位>>" }
        },
    "time":"<<発生日時>>",
    "source": {
      "id":"<<デバイスID>>" },
    "type": "<<タイプ>>"
},

※ <<タイプ>>には基本的にフラグメントが入りますが、複数の<<フラグメント>>プロパティを持つ場合もありますので、その場合は内容を端的に表す種別名としてください。

Postmanを使ったMeasurementデータ格納方法の紹介は以上です。