M5Stackで重量を計測しAWSにデータを送るシステム

このページはM5Stackで重量を計測しAWSにデータを送るシステムに関する備忘録です


1.使用する機材


2.AWSの設定

IoT Core「すべてのデバイス」>「モノ」を選択し、「モノを作成」ボタンを押下

「1つのモノを作成」を選択して「次に」ボタンを押下

「モノの名前」に適当な名前を付ける。追加設定は無し。デバイスシャドウは「シャドウがありません」を選択し「次に」ボタンを押下

「新しい証明書を自動生成(推奨)」を選択し、「次に」ボタンを押下

下の注)に記載した方法で作成したポリシーを選択し「モノを作成」ボタンを押下

「証明書とキーをダウンロード」のページが現れるので、そこから以下の4つのファイルをダウンロードする
(ただし、次のステップで必要なのは、1)、3)、4)の3つだけ)

1)デバイス証明書

2)パブリックキーファイル

3)プライベートキーファイル

4)ルートCA証明書のうち RSA 2048 ビットキー: Amazon ルート CA 1 (ただし、これは他とも共通)

ダウンロードを確認し、安全な場所に格納したら完了」ボタンを押下


(参考資料)

注)「リソースとアクションに制限をかけないポリシー」の作り方

IoT Coreの「セキュリティー」>「ポリシー」メニューから「ポリシーを作成」ボタンを押下

ビルダーではなく、JSONを使って以下を設定する

ポリシー効果 Allow;ポリシーアクション iot:*;ポリシーソース * で作成

具体的には以下のようになっていればOK


{

  "Version": "2012-10-17",

  "Statement": [

    {

      "Effect": "Allow",

      "Action": "iot:*",

      "Resource": "*"

    }

  ]

}


3.M5Stack用のプログラムの準備

1)WIFI情報

WIFIのSSID、パスワードの情報を調べてプログラムを書き換える

1)MQTTでデータを送る先となるエンドポイントを調べる

「設定」メニューを押下すると、デバイスデータエンドポイントの下にエンドポイントの情報が記載されているので、これをコピーしてプログラムに書き込む

2)MQTTのトピック名を設定する

プログラムの中でMQTTのトピック名を必要に応じて書き換える

3)デバイスID

デバイスごとにユニークなデバイスIDを名付ける

3)デバイス証明書など

モノの登録のところでダウンロードした「デバイス証明書」「プライベートキーファイル」「ルートCA証明書」の情報をプログラムにコピペする

4)AWSへのデータ送信間隔

デフォルトでは5秒になっているが、必要に応じて間隔を変更する


4.テスト


参考