注釈

こんにちは、SunFounderのRaspberry Pi & Arduino & ESP32愛好家コミュニティへようこそ!Facebook上でRaspberry Pi、Arduino、ESP32についてもっと深く掘り下げ、他の愛好家と交流しましょう。

参加する理由は?

  • エキスパートサポート:コミュニティやチームの助けを借りて、販売後の問題や技術的な課題を解決します。

  • 学び&共有:ヒントやチュートリアルを交換してスキルを向上させましょう。

  • 独占的なプレビュー:新製品の発表や先行プレビューに早期アクセスしましょう。

  • 特別割引:最新製品の独占割引をお楽しみください。

  • 祭りのプロモーションとギフト:ギフトや祝日のプロモーションに参加しましょう。

👉 私たちと一緒に探索し、創造する準備はできていますか?[ここ]をクリックして今すぐ参加しましょう!

8.6 Adafruit IOを使った温度と湿度のモニタリング

このプロジェクトでは、人気のあるIoTプラットフォームの使用方法を案内します。プログラミング愛好家向けに、オンラインで多くの無料(または低コスト)プラットフォームが利用可能です。例としてはAdafruit IO、Blynk、Arduino Cloud、ThingSpeakなどがあります。これらのプラットフォームの使用方法は非常に似ています。ここでは、Adafruit IOに焦点を当てます。

DHT11センサーを使用して温度と湿度の読み取りをAdafruit IOのダッシュボードに送信するArduinoプログラムを書きます。また、ダッシュボードのスイッチを通じて回路上のLEDを制御することもできます。

必要な部品

このプロジェクトでは、以下のコンポーネントが必要です。

一式を購入するのが間違いなく便利です。リンクはこちらです:

名前

このキットのアイテム

リンク

ESP32 Starter Kit

320+

ESP32 Starter Kit

以下のリンクから個別に購入することもできます。

コンポーネントの紹介

購入リンク

ESP32 WROOM 32E

BUY

ESP32カメラ拡張ボード

BUY

ブレッドボード

BUY

ジャンパーワイヤ

BUY

抵抗器

BUY

LED

BUY

DHT11 湿温度センサー

BUY

ダッシュボードの設定

  1. Adafruit IO にアクセスし、 Start for free をクリックして無料アカウントを作成します。

    ../../_images/sp230516_102503.png
  2. フォームに記入してアカウントを作成します。

    ../../_images/sp230516_102629.png
  3. Adafruitアカウントを作成した後、Adafruit ioを再度開いてください。 Dashboards をクリックし、次に New Dashboard をクリックします。

    ../../_images/sp230516_103347.png
  4. New Dashboard を作成します。

    ../../_images/sp230516_103744.png
  5. 新しく作成された Dashboard に入り、新しいブロックを作成します。

    ../../_images/sp230516_104234.png
  6. 1つの Toggle ブロックを作成します。

    ../../_images/sp230516_105727.png
  7. ここで新しいフィードを作成する必要があります。このトグルはLEDの制御に使用されるので、このフィードには「LED」という名前を付けます。

    ../../_images/sp230516_105641.png
  8. LED フィードを確認し、次のステップに進みます。

    ../../_images/sp230516_105925.png
  9. ブロック設定(主にブロックタイトル、オンテキスト、オフテキスト)を完了し、右下の Create block ボタンをクリックして終了します。

    ../../_images/sp230516_110124.png
  10. 次に、温度と湿度を表示するために使用される Text Blocks を2つ作成する必要があります。したがって、 temperaturehumidity という名前の2つのフィードを作成します。

    ../../_images/sp230516_110657.png
  11. 作成後、ダッシュボードは以下のようになります。

    ../../_images/sp230516_111134.png
  12. ダッシュボードの Edit Layout オプションを使用してレイアウトを調整できます。

    ../../_images/sp230516_111240.png
  13. API KEY をクリックすると、ユーザー名と API KEY が表示されます。これらはコードで必要になるのでメモしておきます。

    ../../_images/sp230516_111641.png

コードの実行

  1. 回路を組み立てます。

    ../../_images/iot_6_adafruit_io_bb.png
  2. 次に、USBケーブルを使ってESP32-WROOM-32Eをコンピュータに接続します。

    ../../_images/plugin_esp32.png
  3. コードを開きます。

    • esp32-starter-kit-main\c\codes\iot_6_adafruit_io ディレクトリにある iot_6_adafruit_io.ino ファイルを開くか、Arduino IDEにコードをコピーします。

    • ボード(ESP32 Dev Module)と適切なポートを選択した後、 アップロード ボタンをクリックします。

    • "Unknown COMxx"が常に表示されますか?

    • ここでは Adafruit_MQTT LibraryDHT sensor library が使用されており、 Library Manager からインストールできます。

  4. 次の行を見つけて、 SSIDPASSWORD をあなたのWiFiネットワークの詳細に置き換えます。

    /************************* WiFi Access Point *********************************/
    
    #define WLAN_SSID "SSID"
    #define WLAN_PASS "PASSWORD"
    
  5. そして、 YOUR_ADAFRUIT_IO_USERNAME をあなたのAdafruit IOのユーザー名に、 YOUR_ADAFRUIT_IO_KEY を先ほどコピーした API KEY に置き換えます。

    // Adafruit IO Account Configuration
    // (to obtain these values, visit https://io.adafruit.com and click on Active Key)
    #define AIO_USERNAME "YOUR_ADAFRUIT_IO_USERNAME"
    #define AIO_KEY      "YOUR_ADAFRUIT_IO_KEY"
    
  6. 正しいボード(ESP32 Dev Module)とポートを選択した後、 アップロード ボタンをクリックします。

  7. コードが正常にアップロードされると、シリアルモニターに次のメッセージが表示され、Adafruit IOとの通信が成功したことがわかります。

    Adafruit IO MQTTS (SSL/TLS) Example
    
    
    Connecting to xxxxx
    WiFi connected
    IP address:
    192.168.18.76
    Connecting to MQTT... MQTT Connected!
    Temperature: 27.10
    Humidity: 61.00
    
  8. Adafruit IOに戻ります。これで、ダッシュボード上で温度と湿度の読み取りを観察することができますし、LEDトグルスイッチを利用して回路に接続された外部LEDのオン/オフ状態を制御することもできます。

    ../../_images/sp230516_143220.png