toyoshi

日記です

ESP32で温湿度を計測しました

f:id:toyoshi:20191012225410j:plain

obnizというので遊んでいましたが、obnizは高度なことが簡単にできるようになっている分、消費電力が大きい、ネットワークに接続されていないと使えない、従来のマイコンよりは高価というデメリットがありました。今後IoT機器をたくさん作って家中に設置となると他の選択肢も欲しくなるので、obnizでも使用されているESP32というマイコンを使ってみることにしました。マイコンと言ってもWi-FiBluetoothを内蔵していたりA/Dコンバーターも内蔵しているなどIoTに使いやすい構成になっています。しかもPCやブレッドボードでの開発がしやすい機能のついた開発ボードでも1500円程度、チップだけなら数百円という低価格なのもポイントです。

参考書としてこちらの本を購入しました。とても丁寧で良い本でした。ESP32に限らずIoT開発の全体像のようなものもわかりやすく説明されています。

できたものがこの記事の冒頭の写真です。そして次の図のような形で、温度と湿度を計測できるようになりました。(下図は湿度をプロットしたもの。高くなってるところは息を吹きかけて故意に湿度をあげたため。)

f:id:toyoshi:20191012230700p:plain
printfで出力してるだけなのに勝手にプロットされている

コードはライブラリにあったものを使用しています。便利ですね。

f:id:toyoshi:20191012230157p:plain

難しかったのはMacからのプログラムの転送と、ピンの接続でした。ピン接続の対応はesp32_tips – スイッチサイエンスESP32-dev-moduleのピンマップを確認する。のがわかりやすかったです。

f:id:toyoshi:20191012224308p:plain
ESP32-dev-moduleのピンマップを確認する。 https://leico.github.io/TechnicalNote/Arduino/esp32-pinmap

プログラムの転送はMacだからか、macOS Catalinaにしたせいか、エラーがでてコンパイルはできるのですが接続ができませんでした。

A fatal error occurred: Failed to connect to ESP32: Timed out waiting for packet header

色々試したのですがダメで、仮想 COM ポートのドライバーをいれるという方法で解決をしました。

ESP32でLチカ(WiFi経由) - Qiita

次は取得したデータをクラウドに保存を試してみたいと思います。