Postmanを使用したMeasurementデータの格納方法
投稿日 / 投稿者名
2018.8.1 / 磯和 七海
はじめに
本レポートは、Things Cloud の利用例をより知っていただくための実利用レポートとして作成したものです。
Things Cloud は極力後方互換性を持つよう開発されていますが、今後のリリースにより、一部画面やコマンド、手順などが変更となったり、利用できない可能性があることをあらかじめご了承ください。
なお、作成にあたり、以下バージョンを用いています。
- ver.8.15.8(backend/UI)
難易度 ★
概要
本セクションでは、API経由でのMeasurementデータ格納方法をご紹介します。
今回は、Postmanを使ってMeasurementデータを格納する方法を学びます。
前提条件
- HTTP通信について基礎的な理解があること。
- 開発環境に以下をインストールしていること。
- Postman (バージョン6.1.4)
- 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の取得方法に関しては[こちら](/iot/docs/report/long_polling_009#get eventid)
【入力するテキストボックス】
以下の図中で、赤い◯で囲った値を入力してください。
例えば、上図のように入力したとします。
入力後、画面右上の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データ格納方法の紹介は以上です。