Skip to content

Latest commit

 

History

History
175 lines (116 loc) · 7.56 KB

iot_home_environment.rst

File metadata and controls

175 lines (116 loc) · 7.56 KB

Note

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

参加する理由は?

  • エキスパートサポート:コミュニティやチームの助けを借りて、販売後の問題や技術的な課題を解決します。
  • 学び&共有:ヒントやチュートリアルを交換してスキルを向上させましょう。
  • 独占的なプレビュー:新製品の発表や先行プレビューに早期アクセスしましょう。
  • 特別割引:最新製品の独占割引をお楽しみください。
  • 祭りのプロモーションとギフト:ギフトや祝日のプロモーションに参加しましょう。

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

5. 家の環境モニタリング

この章では、Blynkを使用して家の環境モニタを作成します。 DHT11とフォトレジスタを使用することで、部屋の温度、湿度、および光の強度を測定できます。 これらのデータをBlynkに送信することで、インターネットを通じてあなたの家の環境を把握することができます。

必要な部品

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

一式として購入するのがおすすめです。以下はそのリンクです:

名前 このキットのアイテム リンク
3 in 1 Starter Kit 380+ |link_3IN1_kit|

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

コンポーネントの紹介 購入リンク
:ref:`cpn_uno` -
:ref:`cpn_breadboard` |link_breadboard_buy|
:ref:`cpn_esp8266` |link_esp8266_buy|
:ref:`cpn_wires` |link_wires_buy|
:ref:`cpn_resistor` |link_resistor_buy|
:ref:`cpn_photoresistor` |link_photoresistor_buy|
:ref:`cpn_dht11` -

1. 回路を組む

Note

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

img/iot_5_bb.png

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

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

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

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

    img/sp220610_145834.png
  4. Wed Dashboard ページに移動し、 V4 および V5 にデータストリームを設定した2つの Label ウィジェットを配置し、 V6 にデータストリームを設定した Gauge ウィジェットを配置します。ウィジェットの設定で、 値に応じて色を変更する オプションを有効にし、見やすく直感的な表示のために適切な色を選択できます。

img/sp220610_150400.png

3. コードの実行

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

    Note

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

      ../img/lib_dht11.png
  2. Template IDDevice Name、および Auth Token を自分のものに置き換えます。使用しているWiFiの ssidpassword も入力する必要があります。詳細なチュートリアルは、 :ref:`connect_blynk` を参照してください。

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

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

    img/2_ready.png

    Note

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

    • 9Vのバッテリーが接続されていることを確認します。
    • RSTピンを1秒間GNDに接続してESP8266モジュールをリセットし、その後、抜きます。
    • R4ボードのリセットボタンを押します。

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

  5. これで、Blynk上で現在の周囲の温度、湿度、光の強度を見ることができます。

    img/sp220610_150400.png
  6. Blynkをモバイルデバイスで使用したい場合は、 :ref:`blynk_mobile` を参照してください。

    img/mobile_home.jpg

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

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

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

bool readDHT() {

    // 温度または湿度の読み取りには約250ミリ秒かかります!
    // センサーの読み取りは、最大2秒「古い」場合があります(非常に遅いセンサーです)
    humidity = dht.readHumidity();
    // 温度を摂氏で読み取る(デフォルト)
    temperature = dht.readTemperature();

    // いずれかの読み取りに失敗した場合は確認し、早期に終了します(再試行のため)。
    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);
}