AWS

AWS IoT Core と SQSの連携

IoTデバイス(Mac)から AWS IoT CoreにMQTTプロトコルでデータを送って、IoT CoreがSQSへキューを送ります。

  • IoT <MQTT>→ AWS IoT Core → SQS

 

キューの作成

 

任意の名前でキューを作成します。

今回は標準キューで作成します。

 

【キューのクイック作成】をクリックします。

 

 

キューが作成されました。

現在の利用可能なメッセージは0になっています。

 

Policyの作成

 

左メニュの安全性からポリシーを選択し、

【ポリシーの作成】をクリックします。

 

  • 名前:任意
  • アクション;iot:*
  • リソースARN:*
  • 効果:許可

【作成】をクリックします。

 

ポリシーが作成されました。

 

 

 

証明書の作成

 

左メニューの安全性から証明書を選択します。

【証明書を作成する】をクリックします。

 

 

【証明書の作成】をクリックします。

 

 

 

証明書を3種ダウンロードし、【有効化】をクリックします。

 

AWS IoTのルートCAのダウンロードをクリックしてルート証明書を確認してメモに控えましょう。

 

 

【ポリシーをアタッチ】をクリックします。

 

 

チェックをいれて【完了】をクリックします。

 

 

証明書が作成されました。

 

ACTルールの作成

左メニューのACTから【ルールの作成】をクリックします。

 

任意でルール名を入力してください。

 

 

SELECT * FROM ‘<パブリッシュ名>

パブリッシュ名をtestとしました。

【アクションの追加】をクリックします。

 

 

今回はSQSと連携するので、SQSを選択します。

 

 

【アクションの設定】をクリックします。

 

 

キュー名を選択して、【ロールの作成】をクリックします。

 

 

 

ロール名を任意で選択します。

【ロールの作成】をクリックします。

 

アクションが作成されたので、【アクションの追加】をクリックします。

 

画面に戻ってきます。

 

 

【ルールの作成】をクリックします。

 

 

IoTエンドポイントの確認

左メニューの設定からエンドポイントを確認してメモに控えます。

 

 

IoTデバイス(Mac)の設定

 

node.jsがインストールされているか確認

 

バージョン情報が返ってこなかったら、Node.js / npmをインストールしてください。

 

ライブラリをインストールします。

 

 

下記の構成になるように証明書を配置してください。

 

ルート証明書を貼り付けます。

 

 

●publish.js

今回はMac なので静的なモックデータ使っていますが、実際はIoT機器で観測データやトリガーをJSON.stringify(value)のところに渡して非同期で流していきます。

 

実行

 

 

キューの確認

 

キューがもりもりたまっていきます。

 

確かにキューがあります。

 

お疲れ様です。

 

@see

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)