SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

こんなに手軽にIoT開発! SORACOM Air / Beamを触ってみよう

こんなに手軽にIoT開発! SORACOM Air / Beamを触ってみよう【後編】 ~ センサーデータをクラウドに送る

AWS IoT/DynamoDBのデータ保存設定とSORACOM Beamの中継設定、サンプルアプリの改修

  • X ポスト
  • このエントリーをはてなブックマークに追加

AWSアカウントのセットアップ

 AWSの各サービスを利用するためには、無料のアカウント登録を行います。事前に支払いのためのクレジットカードと認証のための電話を準備しましょう。具体的な手順は次のページを参照してください。

  AWS アカウント作成の流れ|アマゾン ウェブ サービス(AWS日本語)

 また今回は、日本国内では最寄りのリージョンとなる「AWS東京リージョン」を利用します。また、AWSを継続して利用する場合は、セキュリティ対策としてIAMユーザー(制限ユーザー)の利用とMFA(多要素認証)の設定をお奨めします。

Amazon DynamoDBのセットアップ

 Amazon DynamoDBは、AWS独自のNoSQLデータベースのマネージドサービスです。拡張性の高さが特徴で、扱うデータが増えた場合にも容易に対応できます。今回はセンサーデータを保存するためのテーブルをAmazon DynamoDB(以下、DynamoDB)作成します。

STEP-01 DynamoDBのWeb管理画面にアクセスして、「東京リージョン」を選択し、[Create Table(テーブルの作成)]ボタンをクリックします。

テーブル作成画面を表示
テーブル作成画面を表示

STEP-02 [テーブル名]に「iot_light」、[パーティションキー]に「id」、データ型は既定値(文字列)のまま、[ソートキーの追加]のチェックをオンにします。するとテキストボックスが追加されるので、そこに「date」と入力し、データ型は既定値(文字列)のままにします。DynamoDBでは、テーブル作成時にキー以外のカラムを設定する必要はありません。

Dynamoに作成するテーブルの定義
Dynamoに作成するテーブルの定義

 テーブル設定は[デフォルト設定の使用]にチェックが入っていることを確認し、[作成]をクリックしてテーブルを作成します。

STEP-03 しばらく待ち、作成中の表示が消えれば作成完了です。
   

作成されたDynamoDBテーブル
作成されたDynamoDBテーブル

AWS IoTのセットアップ

 AWS IoTは、IoTデバイスのバックエンドを提供するマネージドサービスです。今回はRaspberry Piから送信されるセンサーデータを受信し、DynamoDBに保存する処理をAWS IoTで行います。

STEP-01 AWS IoTのWeb管理画面にアクセスし、[Get started]をクリックします。
   

AWS IoTの画面
AWS IoTの画面

STEP-02 デバイス作成画面では、任意のデバイス名を入力し、[Create]をクリックしてデバイスを作成します。なお、AWS IoTではデバイスのことをthingと呼びます。今回はデバイス(thing)名を「sensor1」としました。

デバイス(thing)の作成
デバイス(thing)の作成

STEP-03 デバイスsensor1が作成されたので、[View thing]をクリックしてプロパティを表示します。

thingのプロパティ表示
thingのプロパティ表示

STEP-04 右下の[Connect a device]をクリックします。
   

デバイス接続画面の表示
デバイス接続画面の表示

STEP-05 AWS IoTにデータを送信するためのプロトコルには、HTTPSMQTTの2つが利用できます。今回はMQTTを使用します。MQTTを使用するためには、X509証明書とポリシーを作成する必要があります。また、AWS IoTに接続するデバイスでは、AWS IoT Device SDKという専用のSDKを利用することができますが、今回は汎用のMQTTライブラリを利用します。任意のSDK(今回は「NodeJS」)を選択し、[Generate Certificate and Policy]をクリックします。

X509証明書の作成
X509証明書の作成

STEP-06 作成された3つのX509証明書ファイルをダウンロードします。[Download Public Key]、[Download Private Key]、[Download Certificate]の3つのリンクをクリックすると、それぞれのファイルをダウンロードできます。ダウンロードが終わったら[Confirm and Start Connecting]をクリックします。

X509証明書のダウンロード
X509証明書のダウンロード

STEP-07 AWS IoT Node.js SDKでのコード例が表示されますが、今回は汎用のMQTT Node.jsモジュールを利用するため、このコードは使用しません。ただし、SORACOM BeamでAWS IoTの接続ホスト名を設定するため、hostの値をどこかにコピーしておきましょう。それから[Return to Thing Detail]をクリックします。

接続ホスト名の確認
接続ホスト名の確認

STEP-08 続いて、メッセージの転送ルールを作成します。転送ルールでは、SQLのようなクエリ構文で、転送する条件や転送データの加工が可能です。詳細はAWS IoTのドキュメントを参照してください。[Create a Rule]をクリックします。
   

転送ルールの作成
転送ルールの作成

STEP-09 [Name]には任意のルール名(今回は「rule1」)を入力します。
   

ルール名の入力
ルール名の入力

STEP-10 [Rule Query Statement]は自動入力されるのでそのままにし、[Attribute](転送する属性)には「*」、[Topic Filter](対象トピック)は「topic/grove」(ラズパイのコードに合わせる)、[Condition](転送する条件)は空のまま、[Choose an action]は「Insert message into a database table(DynamoDB)」を選択します。

ルールの対象メッセージの指定
ルールの対象メッセージの指定

STEP-11 [Table Name]は、先ほど作成したDynamoDBテーブル「iot_light」を選択し、[Hash Key Value]には「${id}」、[Range Key Value]には「${date}」を入力して、[Create a new role]リンクをクリックします。

ルールのDynamoDB転送設定
ルールのDynamoDB転送設定

STEP-12 AWS IoTからDynamoDBにアクセスするための権限追加画面が表示されるので、[許可]ボタンをクリックします。

権限の追加
権限の追加

STEP-13 元の画面に戻ると、[Role Name]に作成したIAMロールが設定されています。[Add Action]をクリックします。

権限の確認
権限の確認

STEP-14 DynamoDB Action(DynamoDBへの転送設定)が表示されるので、[Create]をクリックしてルールを作成します。

ルールの作成
ルールの作成

 これでAWS IoTの設定は完了です!

ルール作成完了
ルール作成完了

次のページ
SORACOM Beamの設定

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
こんなに手軽にIoT開発! SORACOM Air / Beamを触ってみよう連載記事一覧
この記事の著者

大瀧 隆太(オオタキ リュウタ)

クラスメソッド株式会社 AWSソリューションアーキテクト。SORACOMをクラウド屋とデバイス屋をつなぐ夢の架け橋と捉え、SORACOMによるクラウド活用ネタの技術ブログを日夜執筆中(会社ブログ:http://dev.classmethod.jp)。近日立ち上げと噂のSORACOMユーザーグループ(SORA...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/9015 2015/12/25 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング