2019年7月15日月曜日

ESP32でIoT温湿度計を作ってみた

昨日、除湿機の記事のおしまいに湿度ロガーを作ってみようかと書きましたが、 ESP32を使ってデータをクラウドにアップするものを作ってみました。約半日でなんとかなったのは、先人の皆様が記事をアップしてくれていたおかげです。感謝。

以前購入したはずと書いたセンサ(温度、湿度、気圧が測れるBME280)は結局見つからず、現在知人から借りているセンサSHT-35(温度、湿度のみ)を使ってみました。I2C接続です。BME280はアマゾンで安かったので注文しました。おそらく中国発送なので2~3週間くらいかかると思います。

ESP32の開発環境はArduinoIDEを使いました。Arduinoと微妙に違うところがあって最初は簡単なところで躓きましたが、小型液晶に表示できたあたりからはまずまず順調。と思っていたらWiFiのアクセスポイントに繋がらず悩みました。「ESP32 WiFi接続できない」などでググって同様の現象がおきている人がいないか探し、ライブラリが違うのか?など悩みまくった末、結局、アクセスポイントのパスワードを打ち間違えていたというオチでした。



データをアップするIoTプラットフォームは、MathWorks社のThingSpeakというところを借りることにしました。個人が小規模で使う分には無料で使えるのと、データをグラフで表示できるというのがよさそうだったので選びました。先人が使い方の記事をアップしてくれていたというのも大きな理由のひとつです。



気温と湿度データをアップしますが、無料利用だとアップの間隔を15秒以上開けないといけません。このため気温をアップしたら30秒待ってから湿度をアップします。当初、これに気付かず湿度データがアップされないのに悩みました。なお、温度と湿度の測定は一緒に行っています。また、データ量などにも制限があるので5分おきにアップするようにしました。


アップしたデータはこんな感じでグラフで見られます。左側が温度、右側が湿度です。温度の最初が0に近い点があるのは、テストでデータを送ったためです。部屋で除湿機を湿度70%で自動運転しているので、湿度はほぼ70%で一定です。今夜は除湿機を止めて湿度の変化を見てみようかと思います。明日にでも状況をアップします。

詳しい記事やスケッチは、折をみてアップします。まだエラー処理を行っていないなど改善の余地が沢山あるので。BME280が届いて気圧も測定できるようになったころかな。

しかし、こんなに簡単にIoTデバイスが作れるのはスバラシイですね。アイデア次第で面白いことがいくらでもできそうです。

3 件のコメント:

  1. こんばんは。
    loTデバイスを自作出来るなんて素晴らしいですね。以前に、掲載されているデジタル気象ロガーを参考に製作しました。今も稼働中ですが、液晶が小さくて老眼には辛いのと設置している場所まで確認しに行かなくてはならないのが。。。
    これはクラウドにアップですか。まさにコレ、と思い興味深く拝見させていただいています。ちなみに携帯でも確認できるのでしょうか?
    今後製作記事にされる予定はございませんでしょうか。ご検討頂けましたら幸いです。

    返信削除
    返信
    1. コメントありがとうございます。
      あの液晶は確かに小さすぎですよね。
      今回のはスマホでも見られるので、出先からでも自宅の様子がわかります。何台か作れば部屋毎の情報をダッシュボード的に一覧可能です。
      記事は気圧計を組み込んだらアップ予定です。しばらくお待ち下さい。

      削除
  2. ご返信ありがとうございます。
    とても楽しみです。
    掲載されている一連の工作の中には素晴らしく実用的なものが有り、いくつか参考にさせていただき(真似して)製作しました。
    これも極めて実用性が感じられます。
    電子工作のみではなく、ネットワーク関連など敷居が高そうですが、真似出来れば嬉しいです。

    返信削除