注釈

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

参加する理由は?

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

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

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

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

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

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

5. 住宅環境監視

この章では、Blynkを使用して住宅の環境モニターを作成します。 DHT11とフォトレジスタを使用して、部屋の温度、湿度、および光の強度を測定できます。 これらの値をBlynkに送信することで、インターネット経由で自宅の環境を知ることができます。

必要な部品

このプロジェクトには、以下の部品が必要です。

全体のキットを購入すると非常に便利です。以下のリンクを参照してください:

名前

このキットのアイテム

リンク

3 in 1 Starter Kit

380+

3 in 1 Starter Kit

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

コンポーネントの紹介

購入リンク

SunFounder R3ボード

購入

ブレッドボード

購入

ESP8266 モジュール

購入

ジャンパーワイヤー

購入

抵抗器

購入

フォトレジスタ

購入

DHT11 湿度温度センサ

-

1. 回路を組む

注釈

ESP8266モジュールは安定した動作環境を提供するために高い電流が必要ですので、9Vのバッテリーが接続されていることを確認してください。

../_images/wiring_dht11.jpg

2. ダッシュボードを編集

  1. 湿度の値を記録するために、 Datastream ページで Virtual Pin タイプの Datastream を作成します。DATA TYPEを Double に設定し、MINとMAXを 0100 に設定します。また、単位を Percentage, % に設定します。

    ../_images/sp220610_145748.png
  2. 次に、温度を記録するための Virtual Pin タイプの Datastream を作成します。DATA TYPEを Double に設定し、MINとMAXを -3050 に設定し、単位を Celsius, °C にします。

    ../_images/sp220610_145811.png
  3. また、光の強度を記録するための Virtual Pin タイプの Datastream を作成します。デフォルトのデータタイプである Integer を使用し、MINとMAXを 01024 に設定します。

    ../_images/sp220610_145834.png
  4. Wed Dashboard ページに移動し、2つの Label ウィジェットをドラッグして、それぞれのデータストリームを V4 および V5 に設定し、 Gauge ウィジェットをドラッグしてデータストリームを V6 に設定します。ウィジェットの設定でも、 値に基づいて色を変更 を有効にし、適切な色を選択してウィジェットをより見やすく、直感的にすることができます。

../_images/sp220610_150400.png

3. コードの実行

  1. 3in1-kit\iot_project\5.home_environment_monitoring のパスの下にある 5.home_environment_monitoring.ino ファイルを開くか、このコードを Arduino IDE にコピーします。

    注釈

    • ここでは DHT sensor library を使用しています。 Library Manager からインストールできます。

      ../_images/lib_dht11.png
  2. Template IDDevice Name、そして Auth Token を自分のものに置き換えてください。また、使用しているWiFiの ssidpassword も入力する必要があります。詳しいチュートリアルは 1.3 R3ボードをBlynkに接続 を参照してください。

  3. 適切なボードとポートを選択した後、 Upoad ボタンをクリックします。

  4. シリアルモニター(ボーレートを115200に設定)を開き、成功した接続のようなプロンプトが表示されるのを待ちます。

    ../_images/2_ready.png

    注釈

    接続時に ESP is not responding というメッセージが表示された場合は、以下の手順に従ってください。

    • 9Vのバッテリーが接続されていることを確認してください。

    • RSTピンを1秒間GNDに接続してESP8266モジュールをリセットし、その後、プラグを抜いてください。

    • R3ボードのリセットボタンを押します。

    こうした操作を3〜5回繰り返すことが必要な場合もありますので、お待ちください。

  5. 今、Blynk上に現在の室温、湿度、光の強度が表示されるようになります。

    ../_images/sp220610_150400.png
  6. Blynkをモバイルデバイスで使用したい場合は、 モバイルデバイスでBlynkを使用する方法は? を参照してください。

    ../_images/mobile_home.jpg

どのように動作するのか?

以下の二つの関数は、部屋の温度、湿度、および光の強度を取得するために使用されます。

int readLight(){
    return analogRead(lightPin);
}

bool readDHT() {

bool readDHT() {

    // Reading temperature or humidity takes about 250 milliseconds!
    // Sensor readings may also be up to 2 seconds 'old' (it's a very slow sensor)
    humidity = dht.readHumidity();
    // Read temperature as Celsius (the default)
    temperature = dht.readTemperature();

    // Check if any reads failed and exit early (to try again).
    if (isnan(humidity) || isnan(temperature)) {
        Serial.println("Failed to read from DHT sensor!");
        return false;
    }
    return true;
}

Blynkの Timer を使用して、毎秒、室内の温度、湿度、および光の強度が取得され、Blynk Cloudのデータストリームに送信されます。このデータはウィジェットによって表示されます。

void myTimerEvent()
{
    bool chk = readDHT();
    int light = readLight();
    if(chk){
        Blynk.virtualWrite(V4,humidity);
        Blynk.virtualWrite(V5,temperature);
    }
    Blynk.virtualWrite(V6,light);
}