Поділитися
Вставка
  • Опубліковано 13 січ 2025

КОМЕНТАРІ • 28

  • @สรายุธสุวรรณชาตรี

    สอนทำปรับ อุณภูมิ ความซื้นผ่าน Note -Red ด้วยครับ

  • @natthaphongphonlasen5351
    @natthaphongphonlasen5351 3 місяці тому

    ถ้ามีหลายรีเรย์ สามารถสร้าง topic control เป็น topic control1 topic control2 แบบนี้ได้มั้ยครับ ตอนนี้ผมลองใช้หลายรีเรย์แล้ว ไม่มีการตอบสนองอะไรเลยครับ

  • @Dnanch8
    @Dnanch8 Рік тому +1

    ขอบคุณมากเลยครับ...ทำให้ดูด้วย💯❤️❤️

    • @WasanDIY
      @WasanDIY  Рік тому +1

      ยินดีครับ ขอบคุณครับ

    • @WasanDIY
      @WasanDIY  Рік тому +1

      #include
      #include
      #include

      int Relay = D1;

      #define DHTPIN D4
      #define DHTTYPE DHT22 // DHT 22 (AM2302), AM2321
      DHT dht(DHTPIN, DHTTYPE);

      int Mode;
      const char *ssid = " wifi";
      const char *password = " pass";


      const char *mqtt_broker = "broker.hivemq.com";

      const char *topic_control = "Pump/Control";
      const char *topic_temp = "temp";
      const char *topic_humi = "humi";
      const char *topic_pump = "Pump/State";
      const char *topic_state = "soil/State";

      const int mqtt_port = 1883;

      WiFiClient espClient;

      PubSubClient client(espClient);

      void setup() {

      Serial.begin(115200);
      dht.begin();
      pinMode(Relay,OUTPUT);
      WiFi.begin(ssid, password);
      while (WiFi.status() != WL_CONNECTED) {
      delay(500);
      Serial.println("Connecting to WiFi..");
      }

      Serial.println("Connected to the WiFi network");

      client.setServer(mqtt_broker, mqtt_port);
      client.setCallback(Callback);

      while (!client.connected()) {
      String client_id = "esp8266-client-";
      client_id += String(WiFi.macAddress());

      Serial.printf("The client %s connects to mosquitto mqtt broker
      ", client_id.c_str());

      if (client.connect(client_id.c_str())) {
      Serial.println("Public emqx mqtt broker connected");
      } else {
      Serial.print("failed with state ");
      Serial.print(client.state());
      delay(2000);
      }
      }

      client.publish(topic_control, "อุปกรณ์เชือมต่อเเล้ว");
      client.subscribe(topic_control);
      }


      void Callback(char *topic_control, byte *payload, unsigned int length) {
      String string;

      Serial.print(topic_control);
      for (int i = 0; i < length; i++) {
      string+=((char)payload[i]);

      Serial.println(string);

      if(((char) payload[i] == '1') and (Mode == 1)){
      digitalWrite(Relay,1);
      client.publish(topic_state,String(1).c_str());
      client.publish(topic_pump,String("ปั๊มกำลังทำงาน").c_str());
      }
      if(((char) payload[i] == '0') and (Mode == 1)){
      digitalWrite(Relay,0);
      client.publish(topic_state,String(0).c_str());
      client.publish(topic_pump,String("ปั๊มหยุดทำงาน").c_str());
      }
      if((char) payload[i] == 'M'){
      Mode = 1;
      }
      if((char) payload[i] == 'A'){
      Mode = 0;
      }
      }
      Serial.println(string);
      Serial.println(" - - - - - - - - - - - -");
      }


      void loop() {
      client.loop();

      float h = dht.readHumidity();
      float t = dht.readTemperature();
      if (isnan(h) || isnan(t)) {
      Serial.println(F("Failed to read from DHT sensor!"));
      return;
      }
      client.publish(topic_temp,String(t).c_str());
      client.publish(topic_humi,String(h).c_str());

      if( t >= 30 and Mode == 0){
      digitalWrite(Relay,1);
      client.publish(topic_state,String(1).c_str());
      client.publish(topic_pump,String("ปั๊มกำลังทำงาน").c_str());
      }
      if( t

    • @Dnanch8
      @Dnanch8 Рік тому +1

      มีโค้ดให้ด้วยเดี๋ยวผมลองทำตามดูครับ...ขอบคุณมากครับ...
      Hive MQ ถ้าเราใช้งานจริงมันจำกัดอะไรไหมครับ

    • @WasanDIY
      @WasanDIY  Рік тому +1

      ไม่จำกัดครับ เต็มที่รครับ

    • @Dnanch8
      @Dnanch8 Рік тому

      @@WasanDIY ขอบคุณมากครับ

  • @samza9
    @samza9 4 місяці тому +1

    สอนสร้างเงือนไข ควบคุมพัดลม ตาม temp หน่อยคระบ

    • @WasanDIY
      @WasanDIY  4 місяці тому +1

      @@samza9 ได้ครับ

    • @samza9
      @samza9 4 місяці тому

      @@WasanDIY ผมขอ ไอดีไลน์ไว้หนอ่ยได้ไหมครับ ขอบพระคุณครับ

  • @littelpig946
    @littelpig946 Рік тому +1

    ถ้าเกิดอยากจะใช้ public 2ตัว ต้องเขียน callback ขึ้นมา2ตัวใช่ไหมครับ

    • @WasanDIY
      @WasanDIY  Рік тому

      ให้เเยก Toppic ให้การส่งครับ ชื่อใครซื่อมันครับ ใน Calbackจะใช้เป็น Subscribe มากกว่าครับ public ใช้ใน Loop ก็ได้ครับ

  • @natthaphongphonlasen5351
    @natthaphongphonlasen5351 3 місяці тому +1

    เชื่อม blynk ได้ด้วยมั้ยครับ

    • @WasanDIY
      @WasanDIY  3 місяці тому

      ได้ครับผม

  • @korawitchowoog1037
    @korawitchowoog1037 Рік тому +1

    พี่ครับถ้าต้องการให้ตัวDHT11 วัดค่าอย่างเดียวต้องพิมอะไรเพิ่มไหมครับหรือตัดบรรทัดไหนออกอยากให้เเค่เเสดงผลอย่างเดียวครับ

    • @WasanDIY
      @WasanDIY  Рік тому

      DHT11 เปลี่ยนเเค่บรรทัด DHTTYPE DHT22 มาเป็น DHTTYPE DHT11

    • @korawitchowoog1037
      @korawitchowoog1037 Рік тому +1

      @@WasanDIY ผมลองทำตามเเล้วค่าที่ได้ใน Node-red มันไม่ต่อเนื่องเลยครับมาบ้างไม่มาบ้างอยากรู้ว่าเกี่ยวกับอะไร

    • @WasanDIY
      @WasanDIY  Рік тому +1

      @@korawitchowoog1037 ดูหน่อยว่า Toppic ชนกันปะครับ เเล้วดูเรื่องการดีเลย์ด้วยอ่ะ

  • @nawadonintakhaio6477
    @nawadonintakhaio6477 9 місяців тому +1

    สอบถ้าหน่อยครับถ้าจะควบคุมจากระยะไกล ผ่านมือถือ หรือคอมอีกเครื่องจะต้องมี cloud server ใช้ไหมครับ

    • @WasanDIY
      @WasanDIY  9 місяців тому

      ต้องมีครับ จำเป็นในการควบคุมระยะไกล

    • @nawadonintakhaio6477
      @nawadonintakhaio6477 9 місяців тому

      @@WasanDIY แล้วถ้าใช้ตัว raspberry pi จะโอเคไหมครับหรือเช่า server ไปเลยจะดีกว่าครับ

  • @Bermsompochwutiya
    @Bermsompochwutiya 6 місяців тому

    thank a lot

  • @LoverCR7FC
    @LoverCR7FC Рік тому +1

    🥰🥰🥰🥰🥰🥰🥰🥰🥰

  • @kananakekrailuk4467
    @kananakekrailuk4467 11 місяців тому +1

    ไหนลิงให้โหลด?

    • @WasanDIY
      @WasanDIY  10 місяців тому +2

      github.com/WasanShow/Smart-Farm-HiveMQ