この記事は、mockmockアドベントカレンダー15日目の記事です。
今回はデータテンプレートのちょっとマイナーな生成タイプ"バルク"を使ってみます。
バルクとは?
1秒ごとのデータが10個入った配列を10秒おきに送るような、1データ内に複数回の計測データを入れるようなケースを想定したものです。
データテンプレート, 最大/最小送信間隔を指定することで、配列中にデータを入れてくれます。
使ってみよう
例として、1秒ごとに計測した温度計の値を10個入れたデータを10秒おきに送ってみましょう。
計測データを生成するデータテンプレート
温度と計測時刻だけのデータテンプレートです。
(グラフバリュージェネレーターは別途作っておきます。)

計測データをまとめるデータテンプレート
シリアル番号と送信時刻、そして計測時刻を入れた配列を作っています。
生成タイプ"バルク"で、送信間隔が1秒です。これを10秒ごとに送ると、配列の中に10個の計測データが入るという寸法です。

mockステータス
送信間隔を10秒にしました。

データ送信
以下のようなデータが送信されます。
1秒ごとの計測データが10個入っていますね。
{
"serial_number": "12345",
"time": "2019-11-28T04:06:11Z",
"temperatures": [
{
"val": 11.724744018415981,
"time": "2019-11-28T04:06:01Z"
},
{
"val": 11.906567695655506,
"time": "2019-11-28T04:06:02Z"
},
{
"val": 13.458312351934037,
"time": "2019-11-28T04:06:03Z"
},
{
"val": 13.58706491420987,
"time": "2019-11-28T04:06:04Z"
},
{
"val": 13.990795146462386,
"time": "2019-11-28T04:06:05Z"
},
{
"val": 13.242849686697905,
"time": "2019-11-28T04:06:06Z"
},
{
"val": 13.384880669895342,
"time": "2019-11-28T04:06:07Z"
},
{
"val": 15.244839141202288,
"time": "2019-11-28T04:06:08Z"
},
{
"val": 11.558284588460122,
"time": "2019-11-28T04:06:09Z"
},
{
"val": 14.507298715125948,
"time": "2019-11-28T04:06:10Z"
}
]
}
まとめ
IoTでは通信コストを気にしなければならないケースが多く、今回のように計測データをまとめて送信することもよくあります。そんなときは、この"バルク"を使ってみてください!
明日は@yukabeokaです。
データ送信間隔をランダムにする方法についてです!