概要
Sigfoxに対応したオプテックス社製ドライコンタクトコンバーター(SORACOMコンソールから購入可能)を用いて、下記のような流れで接点データをDynamoDBに保存してIoT.kyoto VISで可視化します。
本コンテンツの前提
Sigfoxハンズオン ドライコンタクトコンバーター編
上記が完了していること。
Sigfoxハンズオン SORACOM Funnel AWS IoTの利用編
【重要】上記手順中で「AWS IoT カスタムエンドポイント」「アクセスキーID」「シークレットアクセスキー」を入力する箇所がありますが、当ページの手順で作成しますのでその値を入力して下さい。
IAMキーの作成
下表のアクセス権をもつIAMキーを作成します。画面キャプチャ中のテキストは作業内容とは一致していませんので説明文をよく読んでください。
ユーザー名 | アクセス権 | 使用箇所 |
---|---|---|
sigfox-vis | – AmazonDynamoDBReadOnlyAccess – AWSIoTDataAccess |
SORACOM FunnelからAWS IoTへのパブリッシュ IoT.kyoto VISからDynamoDBの読み出し |
- AWSにサインインする
- Identity and Access Management(IAM)コンソールを開く
※ 英語画面で説明するので日本語表示になっている場合は、画面左下の言語選択を「English」に変更する
-
「sigfox-vis」という名前でProgrammatic accessユーザーを作成する
- [Attach existing policies directly]をクリックし、[dynamo]で検索して、[AmazonDynamoDBReadOnlyAccess]にチェックを入れる
- 同様に[iot]で検索して、[AWSIoTDataAccess]にチェックを入れる
- [Next: Review]をクリックする
-
[AmazonDynamoDBReadOnlyAccess]と[AWSIoTDataAccess]が表示されていることを確認して[Create user]をクリックする
-
認証情報の書かれたCSVをダウンロードし、[Close]をクリックする
DynamoDBのテーブル作成
-
DynamoDBコンソールを開く
-
リージョンが「Asia Pacific (Tokyo)」でない場合は変更する
-
[Create table]をクリックする
-
[Table name]に[sigfox_handson]を入力する
- [Partition key]に[id]を入力する
- [Add sort key]にチェックを入れ、[timestamp]を入力する
- [Create]をクリックする
AWS IoTの設定
デバイスからAWS IoTにデータを送信する場合、通常はThingとPolicyを証明書に紐付け、デバイスに証明書をインストールする必要がありますが、SORACOM Funnel経由の場合はIAMキーを用いてトピックをパブリッシュしますので、Thing・Policy・証明書の設定が不要です。AWS IoTより先の処理を定義するRuleのみ設定します。
- AWS IoTコンソールを開く(画面キャプチャ省略)
- リージョンが「Asia Pacific (Tokyo)」でない場合は変更する(画面キャプチャ省略)
- [Get started]をクリックする(下図は表示されない場合もある)
-
[Rules] -> [Create rule](または[Create])の順にクリックする(下図と異なる場合がある)
-
[Name]に[Sigfox_handson]を入力する
- [Attribute]に
payloads.usr_channel, payloads.usr_value
を入力する
※ ここでチャネルと値だけを抜き出している -
[Topic filter]に
sigfox_dcc/#
を入力する
※ トピック名「sigfox_dcc/{device_id}」で送られてくるのでフィルターする
-
[Add action]をクリックする
-
[Insert a message into a DynamoDB table]を選択し、スクロールして[Configure action]をクリックする
-
[Table name]で[Sigfox_handson]を選択する
- [Hash key value]に
${topic(2)}
を入力する - [Range key value]に
${timestamp}
を入力する
※ 今回は手順の制約で(デバイス側ではなく)AWS IoT側で生成したタイムスタンプを使用する - [Write message data to this column]に
payload
を入力する -
[Create a new role]をクリックする
-
sigfox_handson_yyyymmdd
と入力し[Create a new role]をクリックする
-
先ほど作成したロールを選択し[Add action]をクリックする
-
下図のようになっていることを確認して[Create rule]をクリックする
-
Webブラウザをリロードしてルールが有効(ENABLED)になっていることを確認する
-
[Test]をクリックし[Subscription topic]に
sigfox_dcc/#
を入力する -
[Subscribe to topc]をクリックする
-
データが受信できてることを確認する
-
歯車マークをクリックするとカスタムエンドポイントが表示されるので控えておく(次章で使用)
SORACOM Funnelの設定
SORACOM Funnelの設定中の下記の設定に当手順中で作成した値を入力して下さい。
- 転送先 URL
- 前章で控えたカスタムエンドポイントを入力する(下図)
-
認証情報の登録
- IAMユーザー作成時にダウンロードしたCSVを参照し、新規で認証情報を登録する(下図)
DynamoDBへのレコード書き込み確認
- DynamoDBコンソールを開く(画面キャプチャ省略)
- リージョンが「Asia Pacific (Tokyo)」でない場合は変更する(画面キャプチャ省略)
- [Tables] -> [sigfox_handson] -> [Items]の順にクリックする
- 下図のようにレコードが記録されていることを確かめる
IoT.kyoto VISの設定
サインアップ
https://vis.iot.kyotoにアクセスし、「新規登録」をクリックします。登録にはメールアドレスが必要ですが、登録時にメールが受信できる必要はありません。(パスワードリマインド時のみ受信できる必要があります)
設定
IoT.kyoto VIS公式マニュアルの3~4章を参照してください。
AWSアクセス設定には、先ほど作成したIAMキー(ダウンロードしたCSV参照)を使用します。
DynamoDBテーブル設定は下図の通りです。「AWS IoT連携」はONにしてください。