LoginSignup
3

More than 5 years have passed since last update.

IoT.kyoto VIS マニュアル

Last updated at Posted at 2016-04-15

事前に準備するもの

  • IoTデバイス(計測する値を出力します)
  • AWSアカウント

[0] 事前説明

[0-1] IoT.kyoto VIS 構築例

  • IoTデバイスで計測した値を出力させ、データをAPIでDynamoDB(AWSが提供するNoSQLデータベース)に送信させるためにIAM Access KeyをIAM(AWSが提供するアイデンティティ管理・アクセス管理)で取得します

  • IoT.kyoto VISは、DynamoDBからIoTデバイスで計測したデータを取得し、リアルタイムでグラフ化することができます

image

[0-2] IoT.kyoto VIS を使用するために必要なデータ

たとえば、温度と照度を出力するIoTデバイスの場合に必要なデータ

  • 値(下図では例としてtemperatureとbrightness)はIoTデバイスから出力される計測対象の値です
  • IoTデバイスで計測したこれらのデータは 「[1] DynamoDB構築手順」でDynamoDBのテーブルを作成後、なんらかの手段で、テーブルに書き込みます。
    更に、「[3] IoT.kyoto VIS ユーザー設定」で設定することで、リアルタイムでグラフ化することが出来ます
deviceID time temperature brightness
01 2016-03-04 10:17:44 25.6 103
02 2016-03-04 10:17:44 22.1 216
01 2016-03-04 10:17:45 25.8 98
02 2016-03-04 10:17:45 21.9 210

タイムスタンプは下記6種類のうちのどれかをお使い下さい。画面表示時にUTCはJSTに自動変換されます。
[JST]
 YYYY-MM-DD hh:flag_mm:ss
 YYYY/MM/DD hh:flag_mm:ss
 YYYY-MM-DDThh:flag_mm:ss.sss+0900
[UTC]
 YYYY-MM-DDThh:flag_mm:ssZ
 UNIXタイムスタンプ(整数10桁)
 UNIXタイムスタンプ(整数13桁)

[0-3] AWS IoTを使用する場合の設定

データフォーマット(例)

{
  "thingName": "device001",
  "timestamp": "1450505098624",
  "payload": {
    "humidity": 40.64,
    "light": 487.52,
    "temperature": 29.9,
    "thingName": " device001"
  }
}

  • AWS IoTからDynamoDBにデータを書き込む場合、標準では下図のように「payload」キーにネストされて計測値が記録されます
  • 下図のデータは「[3] IoT.kyoto VIS ユーザー設定」で設定することで、リアルタイムでグラフ化することができます

image


[1] DynamoDB構築手順

1. AWSにサインインします

  • 左上のオレンジの立方体のアイコンをクリックしてください

  • [DynamoDB]のコンソールをクリックして開いてください

image

2. リージョンを確認します

  • 特に他のリージョンを選ぶ理由がない場合は[アジアパシフィック(東京)]を選択してください

image

3. DynamoDB のコンソール画面で[デーブルの作成] をクリックしてください

image

4. テーブル名に任意の名前をつけてください

image

 
5. プライマリキーのパーティションキーに任意の名前をつけてください

  • データ型はIoTデバイスが出力する値に合わせて「文字列」または「数値」を選んでください

  • IoTデバイスの特定に分かりやすい名前を付けてください

image

6. [ソートキーの追加]のチェックボックスをクリックしてチェックを入れてください

image

7. プライマリキーのソートキーに任意の名前をつけてください

  • 時間の特定に分かりやすい名前を付けてください

  • データ型はIoTデバイスが出力する値に合わせて「文字列」または「数値」を選んでください

image

8. テーブル設定の[デフォルト設定の使用]のチェックボックスをクリックしてチェックを外します

image

9. プロビジョニングされたキャパシティの[読み込み容量ユニット]と[書き込み容量ユニット]のテーブル数を設定してください

  • IoTデバイス2~3個までなら「読み込み容量ユニット」が5テーブル、「書き込み容量ユニット」が5テーブルで足ります

image

10. [作成]をクリックしてテーブル作成は完了です

image

[2] IAM Access Keyを取得する

1. Identity and Access Management(IAM)コンソールを開いてください

image

2. [ユーザー]をクリックして開き、[新規ユーザーの作成]をクリックし、任意の名前でユーザーを作成します

  • [ユーザーごとにアクセスキーを生成]のチェックボックスにチェックが入っているかどうかを確認してください
  • [作成]をクリックしてユーザーを作成します

image
image

3. [ユーザーのセキュリティ認証情報を非表示]をクリックして ID と Key を表示させます

  • 表示されたアクセスキーID とシークレットアクセスキーを控えておいてください([認証情報のダウンロード]をクリックして保存してもよい)

  • [閉じる]をクリックして終了します

image

4. ユーザーの中から、作成したユーザー名をクリックします

image

5. [アクセス許可]をクリックして開き、[ポリシーのアタッチ]をクリックします

image

6. [AmazonDynamoDBReadOnlyAccess]のチェックボックスにチェックをいれ、[ポリシーのアタッチ]をクリックして、IAM の登録は完了です

  • IAMでReadOnlyAccessに設定することで、DynamoDBからデータを取得することが許可されます

image

[3] IoT.kyoto VIS ユーザー設定

1. メールアドレスとパスワードを入力し、[ログイン]をクリックしてください

image

2. [ユーザー設定]をクリックします

image

 
3. ユーザー情報設定を変更することができます

  • メールアドレスには、IoTデバイスから取得した計測値が閾値を超えた場合に通知メールが届きます

  • 通知用メールアドレス欄が空欄の場合、ログインIDのメールアドレスに通知されます

image

 
4. AWSアクセス設定をします

  • AWSのアクセスキーIDとシークレットアクセスキーとリージョンのコードを入力してください

image

 
リージョンのコードは下図を参照にしてください。(2016/03/10時点)
最新のリージョンはリージョンとアベイラビリティーゾーンをご確認ください。

リージョンコード リージョン名
us-east-1 US East (N. Virginia)
us-west-2 米国西部(オレゴン)
us-west-1 米国西部(北カリフォルニア)
eu-west-1 欧州(アイルランド)
eu-central-1 欧州(フランクフルト)
ap-southeast-1 アジアパシフィック(シンガポール)
ap-northeast-1 アジアパシフィック(東京)
ap-southeast-2 アジアパシフィック(シドニー)
ap-northeast-2 アジアパシフィック (ソウル)
sa-east-1 南米(サンパウロ)

5. dynamoDBテーブル設定をします

  • AWSのDynamoDBで作成したテーブルの情報を入力します

  • テーブル名、パーティションキー、ソートキー、日時フォーマット、計測対象項目、閾値を入力してください

  • 計測対象の値が閾値を超えた場合、設定しているメールアドレスに通知メールが届きます

image

[AWS>DynamoDB>テーブル]

  • DynamoDBのテーブル設定は、AWSにログイン→DynamoDBのコンソール画面からテーブルを開く→[項目]から確認できます

image

6. パーティションキーを入力後、StringかNumberかを選択してください

image

 
7. ソートキー(タイムスタンプ)を入力後、StringかNumberかを選択してください

image

 
8. グラフ更新間隔では、DBからデータを取得する間隔を1~600秒の間から任意で選択できます

image

 
9. タイムスタンプのフォーマットは下図6種類があります(UTCはJSTに自動変換されます)。
ソートキーに合わせて設定してください

image

 
10. グラフ表示対象キーはNumberかAWS IoTを選択してください

image

  • AWS IoTの場合はPayloadから計測対象の値を入力し、AWS IoTをドロップダウンリストから選択してください

image

11. 計測対象の値が閾値を超えた場合、設定しているメールアドレスに通知メールが届きます

image

 
12. リアルタイムグラフ描写幅はグラフの横軸の幅を設定します

image

 
13. [更新]をクリックしてユーザー設定を完了させてください

image

[4] IoT.kyoto VIS グラフ設定

1. [グラフ]をクリックしてください

image

 
2. [パーティションキー]をクリックして、計測したいパーティションキーを選択してください

image

 
3. DynamoDBにパーティションキーを追加した場合は、反映されるまでに10~15分程かかるので、早く表示したい場合はパーティションキーを直接入力して[追加]をクリックしてください
追加した後、2の手順と同じようにパーティションキーを選択してください。

image

 
4. レンジ設定を自動か手動に設定するかを、チェックボックスをクリックすると、選択可能になります
手動に設定する場合、グラフの縦軸の最小値と最大値を入力してレンジを設定してください。

image

 
5. レンジ設定を手動にすることによって、最小値と最大値が固定されたグラフが表示されます

image

 
6. レンジ設定を自動に設定した場合、最小値と最大値が取得した計測値の大きさによって変動します

image

 
7. グラフタイトルを記入し[保存]をクリックすることで、複数のパーティションキーを区別しやすくすることが出来ます

image

 
8. 取得した値がユーザー設定で登録した閾値を超えた場合の発生日時と、画面左側の異常履歴に表示されます

image

 
9. 異常履歴の[発生日時]をクリックすると、画面をスクロールした右下のグラフに異常が発生した日時前後のグラフが表示されます

image

 
10. 日時指定を入力することで、指定した範囲のグラフを表示することができます

image

 
11. [日付]の入力欄をクリックするとカレンダーが表示されますので、指定したい日付を選択してください

image

12.時刻の書式は、ユーザー設定に登録した通りの書式で入力してください

image

13.設定した日付・時刻の以前、以降か前後かを選択してください

image

14.日時設定に間違いがなければ、[送信]をクリックしてください

image

15.右側に指定した範囲のグラフが表示されます

image

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3