Help us understand the problem. What is going on with this article?

ESP32とAWSIoTとAlexaを繋げてみた(ESP32とAWSIoT編)

More than 1 year has passed since last update.

ESPからAWSIoTにデータをあげる

ポリシーを作りましょう
AWS IoTを始めよう
スクリーンショット 2018-04-28 16.15.22.png
ここからIoTデバイス(ESP32)の登録を行う
スクリーンショット 2018-04-28 16.16.08.png
今回は単一のモノを作成します
スクリーンショット 2018-04-28 16.17.30.png
将来的にESP32を複数台繋げる予定、BME280センサデータを取得する予定ですのでこのようにしました
スクリーンショット 2018-04-28 16.25.08.png
証明書を作成します
ダウンロード画面が現れるので全てダウンロードしましょう
AWS IoT のルート CAも忘れずに
スクリーンショット 2018-04-28 16.25.33.png

1回戻ってポリシーを作りましょう
スクリーンショット 2018-04-28 16.31.37.png
スクリーンショット 2018-04-28 16.34.44.png

さきほど作ったモノにポリシーをアタッチします
スクリーンショット 2018-04-28 17.13.03.png

ここからespに入ります
esp-ifd内examples/protocols/_aws-iot/subscribe_publishに入っていきます
aws-root-ce.pemを先ほど落としたAWSIoTのルートCAに書き換えます
先ほど落とした証明書のうち二つを
・private.pem.key
・certificate.pem.crt
にファイル名を変更しmain/certsに配置します

make menuconfigで各種設定をします
WiFi SSID
WiFiPassword
AWS IoT Client ID(さきほど作ったモノの名前)
AWS IoT Endpoint Hostname
を設定します

最後にシリアル通信の設定を行い
make flashで書き込み完了です

スクリーンショット 2018-04-29 11.33.35.png

スクリーンショット 2018-04-29 11.34.07.png

繋がりました

ESP32でBME280のデータを取得しよう

今回はこいつを使います
BME280使用 温湿度・気圧センサモジュール
http://akizukidenshi.com/catalog/g/gK-09421/

I2CとSPIが使えるらしいですね
I2Cのほうが線が少なくて済むのでここではI2Cを選択します
I2Cの場合はJ1 J2 J3をはんだジャンパしましょう
(ここでずっとこけてた^^;データシートは使う前に読もうね^^;)

Sample code for reading values from a BME280 via ESP-IDF's I2C master driver
https://github.com/yanbe/bme280-esp-idf-i2c

先人様の力を借ります
make flashでエラーが出る場合
cloneがうまくいっておらずcomponents内でこけている場合が多いので
components/bme280/driver内に
https://github.com/BoschSensortec/BME280_driver
これらをいれてあげてください

自分の環境はDevkit-Cなので
SCK-GPIO22
SCL-GPIO21
SDO-VDD
と接続し、main.c内のdefineを
#define SDA_PIN GPIO_NUM_21
#define SCL_PIN GPIO_NUM_22
とし、make flash
make monitorをしてみるとデータが取得できました。
スクリーンショット 2018-04-30 1.05.57.png

BME280のデータをAWS IoTにPublishしよう

とりあえずとれました。
https://github.com/notitle420/upload_bme280_to_aws_iot
スクリーンショット 2018-04-30 14.15.39.png

これじゃどこにもログが残らなくて Lambdaから取得できないことに気づく涙

Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away