12
Copyright© 2014 Infocorpus Inc. All rights reserved 3Gシールド・アイデア・コンテスト対応 SensorCorpus TM のご紹介 株式会社インフォコーパス 鈴木潤一 1

3Gシールド・アイデア・コンテスト対応 …3gsa.org/seminar/20140723ICP.pdfArduino+3GシールドからSensorCorpusTM を活用 5 ①機器導入 SensorCorpus TM ②機器登録

Embed Size (px)

Citation preview

Copyright© 2014 Infocorpus Inc. All rights reserved

3Gシールド・アイデア・コンテスト対応 SensorCorpusTM のご紹介

株式会社インフォコーパス

鈴木潤一

1

Copyright© 2014 Infocorpus Inc. All rights reserved

SensorCorpusTM とは

Ø  「SensorCorpusTM」は、さまざまなセンサー情報を集約・管理・活用できるクラウド基盤です。

Ø 第2回3Gシールド・アイデア・コンテストの参加者は、SensorCorpusTM コンテスト専用の簡単APIを使うことによって、Arduino+3Gシールドの測定データを、簡単にクラウド上に送信・蓄積し、表示・閲覧等を行うことができます。

2

Copyright© 2014 Infocorpus Inc. All rights reserved

SensorCorpusTM の主な特長

Ø  コンテスト専用の簡単APIを利用することで、煩雑なプログラミングが不要

Ø  参加者の認証やゲートウェイ機器(Arduino)の簡易認証が可能

Ø  参加者毎に、ゲートウェイ機器(Arduino)やセンサー機器の管理が可能

Ø  データ値をすぐにビジュアル化し、測定結果を検証可能 Ø  センサー・データの測定単位は、国際単位系(SI)に準拠 Ø  データ転送はREST APIに準拠し、JSON/CSVに対応

3

Copyright© 2014 Infocorpus Inc. All rights reserved

稼働・データ収集・活用

導入・登録・設置

センサーとクラウドの関係

4

①機器導入 ②機器登録 ③セッションコード

取得・設定

機器設置

④クラウドへ

データ送信 ⑤データ閲覧

機器稼働

セッション 認証

クラウドに

データ格納

⑥データ取得

と加工

※ゲートウェイ、センサーID登録

※センサーIDを 設定して送信

※センサーID付 データが格納

機器側

クラウド側

凡例 破棄・置き換え

Copyright© 2014 Infocorpus Inc. All rights reserved

Arduino+3GシールドからSensorCorpusTM を活用

5

①機器導入

SensorCorpus TM

②機器登録

⑤データ閲覧 ⑥データ取出し →加工

ゲートウェイA

センサーA-1

センサーA-2

ゲートウェイB

センサーB-1

センサーB-2

3Gシールド

各種センサー +

Arduino UNO R3

③セッションコード取得 (簡易認証)

Arduinoに 埋め込み

④データ送信 (+セッションコード)

A-1,時刻,型,値 A-1,時刻,型,値 A-1,時刻,型,値

A-2,時刻,型,値 A-2,時刻,型,値

A-2,時刻,型,値 …

ユーザ 毎管理

Copyright© 2014 Infocorpus Inc. All rights reserved

ゲートウェイとセンサーの親子関係を登録

6

アカウント登録 ゲートウェイ登録 センサー登録

ゲートウェイA

センサーX1

センサーY2

ゲートウェイB

センサーW1

センサーZ2

ユーザ毎にゲートウェイとセンサーの親子関係を登録し管理することができる

プロファイル管理 プロダクト管理

製品A 製品X

製品Y 製品Z

prof(1)

prof(2)

prof(3)

Copyright© 2014 Infocorpus Inc. All rights reserved

Arduinoプログラミング

7

// A3GS sample – httpPOST (Use sensorcorpus.net cloud service) #include <SoftwareSerial.h> #include “a3gs.h” #define LM61BIZ_Pin 1 // LM61BIZ output pin A1 const char *server = “data.sensorcorpus.net”; const char *path = “contest/store/”; const char *header = “Content-Type: application/x-www-form-urlencoded\r\n”; int port = a3gsDEFAULT_PORT;   // ゲートウェイ登録画面で得られたセッションコード(64バイト)を埋め込んでおく char *bodyinit = "session=012345…78901&gw_ts=xxxx-xx-xxTxx:xx:xx%2B09:00&csv="; char bodybuf[256];   // センサー測定値のCSVの1行を生成するためのバッファ // このゲートウェイ配下のセンサーID(16バイト以下)を埋め込んでおく char *s1init = "0123456789000001,xxxx-xx-xxTxx:xx:xx%2B09:00,T,"; char s1buf[64];   // HTTP POSTの結果を得るためのバッファ char res[50]; int len;

SensorCorpusに関係するものを設定

セッションコード(64バイト)を埋め込んでください

センサーID(16バイト以下)を埋め込んでください

Copyright© 2014 Infocorpus Inc. All rights reserved 8

// valに生測定値、scaleに小数点以下桁数を指定し、測定データを文字列に変換 const char *make_val (int val, int scale) { … } // 取得した測定データを、送信用CSVの1行の形式で sbuf に書き込む void set_val (char *sbuf, const char *init, int offset, const char *vstr) { … } // 測定データのCSV文字列やセッションデータをまとめてPOSTデータに仕上げる char *make_body (char *body, const char *init) { … }   void loop () {

static int Count = 1; Serial.print(“>httpPOST requesting: “); Serial.println(Count++, DEC); len = sizeof(res); int temp = getTemp(); // 温度値用のCSVの1行を生成(17はセンサーIDのバイト数+1) set_val(s1buf, s1init, 17, make_val(temp,1)); // 温度値用のCSVと現在時刻を含めたPOST用のデータをbodybufに設定 make_body(bodybuf, bodyinit); if (a3gs.httpPOST(server, port, path, header, bodybuf, res, &len, true) == 0) { Serial.println(“Succeeded.”); Serial.print(“>Response=[”); Serial.print(res); Serial.println(“]”); } else { Serial.println(“Failed.”); } delay(30000); // take and interval

}

SensorCorpusで提供する便利関数

CSVとPOSTデータを生成

httpPOST でサーバにデータを送信

Copyright© 2014 Infocorpus Inc. All rights reserved

SensorCorpusTM データ可視化・データ取得

9

どのセンサーを

表示するか選択

Copyright© 2014 Infocorpus Inc. All rights reserved

SensorCorpusTM 関連サイト

Ø  SensorCorpus全般の情報

‒  http://blog.sensorcorpus.net

Ø  コンテスト特設サイト

‒  http://ui.sensorcorpus.net/contest/index.php?r=site/page&view=home

Ø  SensorCorpusメインメニュー

‒  http://ui.sensorcorpus.net/contest/index.php

10

Copyright© 2014 Infocorpus Inc. All rights reserved

SensorCorpusTM サイト

11

Copyright© 2014 Infocorpus Inc. All rights reserved

コンテスト特設サイト

12