ゴール
- センサーデバイスからAWSにデータを送り、集めたデータをもとに家の環境を可視化すること。
目的
- 来年からAWSを使ったDB周りの開発をやる予定なのですが、これまで実務で経験なかったので、勉強のためにやってみようと思いました。
- とは言え何作ろう?と思ったときに、来年第一子が生まれるので、家の環境のデータを集めて分析して、改善できるようにしたいなと思ったので。
環境
- 開発PC(mac)
- ESP-IR+TPH Monitor 完成品
- GY-BME280-3.3 大気圧センサーモジュール(これはデバイスにくっつけます)
- USB変換チップとケーブル(DSD TECH USB to TLL Serial)
- ACアダプタ
- AWS IoT
セットアップ
開発PCのセットアップ
- pythonのバージョンを3に上げます(参考)。
- Arduino IDEのセットアップをします(以下手順参照)。
3. https://poche.xsrv.jp/iot-gym/2019/03/01/002/
4. https://www.indoorcorgielec.com/resources/arduinoide%E8%A8%AD%E5%AE%9A/esp-wroom-02%E6%90%AD%E8%BC%89%E8%A3%BD%E5%93%81/ - Mosquittoのセットアップをします(mqtt接続確認用)(参考)
- USB変換チップのドライバインストール
ここにあるMac用インストーラーをDLしてインスコ
AWS IoTのセットアップ
バージョンによって操作手順が変わったりするので、参考程度に読んでください。
-
AWSコンソールで
IoT Core
のサービスを選択します。 -
ポリシーの作成
4.安全性 > ポリシー
を選択します。
5. こんな画面が表示されるのでポリシーの作成
を選択します。
6. ポリシーの名前とアクションの認可を設定します。とりあえず今回はずぶずぶの設定にします。
7. 作成を選択します。問題なかったら正常に作成されたよのメッセージが出ます。 -
Things
と証明書
の作成
3.管理 > モノ
を選択します。まだデバイス登録がない場合はこんな画面が出るので、モノの登録
を選択します。
4.単一のモノを作成する
を選択します。
5. デバイスの名前や属性(≒タグ)などの設定をおこないます。今回は家の環境を測定をするということで、名前にhouse_environment_sensor
と名付けました。
また、検索可能なモノの属性の設定 (オプション)
というところでタグ登録ができるので製品名と機能(何が測定できるか)を設定しました。
2. 証明書の設定画面に移ります。
今回は1-Click 証明書作成 (推奨)
で証明書作成をおこないます。
- 証明書が作成されるので作成されたキー等のファイルをダウンロードします(ページ閉じるとダウンロードできなくなるので注意。ただしルートCA証明書はここでもダウンロードできます)。
- 同じ画面下にある、
ポリシーをアタッチ
を選択します。 - 作成したポリシーが選択されていることを確認して、
モノの登録
を選択します。これでデバイスの設定が作成されました。 - 最後に、証明書を有効化します。
安全性 > 証明書
で、作成した証明証のアクション
で有効化
を選択します。
AWS IoTへの接続確認
PCからAWS IoTへmqtt接続の確認をします。Mosquittoを使ってテストしてみようと思います。
- Mosquittoをインストールします(参考)。
-
こちらを参考に接続テストをおこないます。注意としては、ルートCAのファイルは
Amazon Trust Services エンドポイント
のルートCAじゃないと接続できません(新しく作成した場合はこれじゃないとダメっぽい)。