注釈
こんにちは、SunFounderのRaspberry Pi & Arduino & ESP32愛好家コミュニティへようこそ!Facebook上でRaspberry Pi、Arduino、ESP32についてもっと深く掘り下げ、他の愛好家と交流しましょう。
参加する理由は?
エキスパートサポート:コミュニティやチームの助けを借りて、販売後の問題や技術的な課題を解決します。
学び&共有:ヒントやチュートリアルを交換してスキルを向上させましょう。
独占的なプレビュー:新製品の発表や先行プレビューに早期アクセスしましょう。
特別割引:最新製品の独占割引をお楽しみください。
祭りのプロモーションとギフト:ギフトや祝日のプロモーションに参加しましょう。
👉 私たちと一緒に探索し、創造する準備はできていますか?[ここ]をクリックして今すぐ参加しましょう!
5. 家の環境モニタリング¶
この章では、Blynkを使用して家の環境モニタを作成します。 DHT11とフォトレジスタを使用することで、部屋の温度、湿度、および光の強度を測定できます。 これらのデータをBlynkに送信することで、インターネットを通じてあなたの家の環境を把握することができます。
必要な部品
このプロジェクトには、以下の部品が必要です。
一式として購入するのがおすすめです。以下はそのリンクです:
名前 |
このキットのアイテム |
リンク |
|---|---|---|
3 in 1 Starter Kit |
380+ |
また、以下のリンクから個別に購入することもできます。
コンポーネントの紹介 |
購入リンク |
|---|---|
- |
|
- |
1. 回路を組む
注釈
ESP8266モジュールは安定した動作のために高い電流が必要なので、9Vのバッテリーが接続されていることを確認してください。
2. ダッシュボードを編集
湿度のデータを記録するため、 Datastream ページで Virtual Pin タイプの Datastream を作成します。DATA TYPEを Double に設定し、MINとMAXを 0 と 100 にします。また、単位は Percentage, % に設定します。
温度のデータを記録するための Virtual Pin タイプの Datastream を作成します。DATA TYPEを
Doubleに、MINとMAXを-30と50に設定し、単位を Celsius, °C にします。
光の強度のデータを記録するための Virtual Pin タイプの Datastream を作成します。デフォルトのデータタイプ、すなわち Integer を使用し、MINとMAXを
0と1024に設定します。
Wed Dashboard ページに移動し、 V4 および V5 にデータストリームを設定した2つの Label ウィジェットを配置し、 V6 にデータストリームを設定した Gauge ウィジェットを配置します。ウィジェットの設定で、 値に応じて色を変更する オプションを有効にし、見やすく直感的な表示のために適切な色を選択できます。
3. コードの実行
3in1-kit\iot_project\5.home_environment_monitoringのパスの下で5.home_environment_monitoring.inoファイルを開く、またはこのコードを Arduino IDE にコピーします。注釈
ここでは
DHT sensor libraryが使用されています。 Library Manager からインストールできます。
Template ID、Device Name、およびAuth Tokenを自分のものに置き換えます。使用しているWiFiのssidとpasswordも入力する必要があります。詳細なチュートリアルは、 1.3 R4ボードをBlynkに接続する を参照してください。正しいボードとポートを選択した後、 Upoad ボタンをクリックします。
シリアルモニターを開いて(ボーレートを115200に設定)、成功した接続などのプロンプトが表示されるのを待ちます。
注釈
接続時に
ESP is not respondingというメッセージが表示された場合は、以下の手順を実行してください。9Vのバッテリーが接続されていることを確認します。
RSTピンを1秒間GNDに接続してESP8266モジュールをリセットし、その後、抜きます。
R4ボードのリセットボタンを押します。
こうした操作を3〜5回繰り返す必要があることもありますので、お待ちください。
これで、Blynk上で現在の周囲の温度、湿度、光の強度を見ることができます。
Blynkをモバイルデバイスで使用したい場合は、 モバイルデバイスでのBlynkの使用方法 を参照してください。
どのように動作するのか?
これらの二つの関数は、部屋の温度、湿度、光の強度を取得するために使用されます。
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);
}