با مانیتور دما و رطوبت، یک بابای ریموت برای کولر بسازیم!

توی خونه ما کولر زیاده، و قاعدتا وقتی کولر زیاده، حساسیت روی روشن و خاموش بودنشون توسط بابا هم زیاده، چجوری میشه به بابا کمک کرد که بتونه همه کولر هارو چک کنه؟ :))

کسی می دونه چرا همه جای جهان باباها حساسن به کولر؟
کسی می دونه چرا همه جای جهان باباها حساسن به کولر؟


خیلی راحت، کافیه دما و رطوبت یک جارو مانیتور کنیم تا ببینیم کی روشن میشه، خوب چجوری میشه مانیتور کرد؟
1- ی واچر سخت افزاری میخوایم که با سنسور دما و رطوبت مقادیر بگیره

2- ی پنل نرم افزاری میخوایم که داده هارو آنلاین نشون بده




برای سخت افزار که چهار تا چیز لازم داریم:

ی دونه NodeMCU، ی دونه DHT11، ی دونه منبع تغذیه 5 ولت، ی مقدار سیم برای اتصال این ها به هم

اول سنسور رطوبت و دمای DHT11:

کلا کاری که این سنسور می کنه اینکه از طریق ی پرتکل ساده سریال دما و رطوبت رو ارسال می کنه و خروجیشو به پایه GPIO2 نود وصل می کنیم:

نقشه مدار
نقشه مدار

کار سمت سخت افزارمون تمومه تقریبا، و اگر ی شارژر میکرویو اس بی (اندرویدی :)) ) به نود وصل کنیم تمام



سمت نرم افزار: ی اینترنت میخوایم
چون تا اخر گرما خیلی نمونده ی ایمیل میزنیم به gartex.ir.ad@gmail.com و میگیم با ما ی واچر سخت افزاری داریم و لازمه مانیتورش کنیم، ی ساب دامنه برای ما بسازن و ی پنل و ی ای دی و ی سکرت کی بهمون اختصاص بدن، ی دونش برای 2 ماه رایگانه :)

اونا هم به ما در جواب ی ای دی و ی سکرت کی و ی پنل بر روی وب میدن


حالا برای اینکه بتونیم داده بدیم باید با اردینو ی کد بنویسیم که داده هارو از طریق اینترنت به سرور های گارتکس بفرسته:

#include <DHT.h>
#include <Arduino.h>
#include <ESP8266WiFi.h>
#include <ESP8266WiFiMulti.h>
#include <ESP8266WebServer.h>
#include <ESP8266mDNS.h>
#include <ESP8266HTTPClient.h>
#include <WiFiClient.h>
#include <Wire.h>
#define DHTPIN 2
#define DHTTYPE    DHT11 
DHT dht(DHTPIN, DHTTYPE);
uint32_t delayMS;
ESP8266WiFiMulti WiFiMulti;
//WiFi.hostname(&quotesp_moisture_watcher_v1&quot);
void setup() {
  dht.begin();
  Serial.begin(115200);  
  for (uint8_t t = 4; t > 0; t--) {
    Serial.printf(&quot[SETUP] WAIT %d...\n&quot, t);
    Serial.flush();
    delay(1000);
  }
  WiFi.mode(WIFI_STA);
  WiFiMulti.addAP(&quotssid&quot, &quotpass&quot);   // یوزر و پسورد وای فای محلتون بزنید
}
void loop() {
  // wait for WiFi connection
  if ((WiFiMulti.run() == WL_CONNECTED)) {
    WiFiClient client;
    HTTPClient http;    
    float h = dht.readHumidity();
    String y = String(h);
    float t = dht.readTemperature();
    String x = String(t);
    String z = String(&quot-&quot);
    Serial.print(&quot\n&quot + x + &quot\n&quot + y + &quot\n&quot + z + &quot\n&quot);
    String url = String(&quothttp://api0.gartex.ir/id=W*******_key=************_v0=&quot + x + &quot_v1=&quot + y + &quot_v2=&quot + z + &quot_v3=esp_hum&quot); // ای دی و سکرت کی که از گارتکس گرفتید رو اینجا بزنید

    Serial.print(&quot[HTTP] begin...\n&quot);
    if (http.begin(client, url)) {  // HTTP
      Serial.print(&quot[HTTP] GET...\n&quot);
      // start connection and send HTTP header
      int httpCode = http.GET();
      // httpCode will be negative on error
      if (httpCode > 0) {
        // HTTP header has been send and Server response header has been handled
        Serial.printf(&quot[HTTP] GET... code: %d\n&quot, httpCode);
        // file found at server
        if (httpCode == HTTP_CODE_OK || httpCode == HTTP_CODE_MOVED_PERMANENTLY) {
          String payload = http.getString();
          Serial.println(payload);
        }
      } else {
        Serial.printf(&quot[HTTP] GET... failed, error: %s\n&quot, http.errorToString(httpCode).c_str());
      }

      http.end();
    } else {
      Serial.printf(&quot[HTTP} Unable to connect\n&quot);
    }
  }

  delay(5000);
}

این کد از طریق ی سیم میکرو یو اس بی روی نود ام سی یو اپلود کنید، بزاریدش جلوی کانال کولر و بعد به پنل نرم افزاری که گارتکس داده برید:

ساب دامنه اختصاصی و پنل دما و رطوبت بابا :))
ساب دامنه اختصاصی و پنل دما و رطوبت بابا :))

خوب همونطور که می بینید هر 5 ثانیه ی داده جدید برای سرور ارسال میشه و از طریق پنل می تونیم ببینیم دما و رطوبت آنلاین در چه وضعی هستش

حالا به نظرتون بابا از کجا بفهمه کی کولر روشن شده؟ :)) توی این پنل مشخصه البته :)))

برای اینکه بهتر باشه و سیم کشی ها بیرون نباشه من ی جعبه خالی اداپتور پیدا کردم و ی شارژر و بقیه چیزارو گذاشتم توش که راحت داخل پریز برقم بره :)) شمام میتونید هرجور دوس داری بسازینش :)

واچر سخت افزاری نهایی من :)
واچر سخت افزاری نهایی من :)


توی قسمت های بعد سراغ دغدغه های مامانا هم میریم، گلدون ها ;)