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
สอนทำปรับ อุณภูมิ ความซื้นผ่าน Note -Red ด้วยครับ
ถ้ามีหลายรีเรย์ สามารถสร้าง topic control เป็น topic control1 topic control2 แบบนี้ได้มั้ยครับ ตอนนี้ผมลองใช้หลายรีเรย์แล้ว ไม่มีการตอบสนองอะไรเลยครับ
ขอบคุณมากเลยครับ...ทำให้ดูด้วย💯❤️❤️
ยินดีครับ ขอบคุณครับ
#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
มีโค้ดให้ด้วยเดี๋ยวผมลองทำตามดูครับ...ขอบคุณมากครับ...
Hive MQ ถ้าเราใช้งานจริงมันจำกัดอะไรไหมครับ
ไม่จำกัดครับ เต็มที่รครับ
@@WasanDIY ขอบคุณมากครับ
สอนสร้างเงือนไข ควบคุมพัดลม ตาม temp หน่อยคระบ
@@samza9 ได้ครับ
@@WasanDIY ผมขอ ไอดีไลน์ไว้หนอ่ยได้ไหมครับ ขอบพระคุณครับ
ถ้าเกิดอยากจะใช้ public 2ตัว ต้องเขียน callback ขึ้นมา2ตัวใช่ไหมครับ
ให้เเยก Toppic ให้การส่งครับ ชื่อใครซื่อมันครับ ใน Calbackจะใช้เป็น Subscribe มากกว่าครับ public ใช้ใน Loop ก็ได้ครับ
เชื่อม blynk ได้ด้วยมั้ยครับ
ได้ครับผม
พี่ครับถ้าต้องการให้ตัวDHT11 วัดค่าอย่างเดียวต้องพิมอะไรเพิ่มไหมครับหรือตัดบรรทัดไหนออกอยากให้เเค่เเสดงผลอย่างเดียวครับ
DHT11 เปลี่ยนเเค่บรรทัด DHTTYPE DHT22 มาเป็น DHTTYPE DHT11
@@WasanDIY ผมลองทำตามเเล้วค่าที่ได้ใน Node-red มันไม่ต่อเนื่องเลยครับมาบ้างไม่มาบ้างอยากรู้ว่าเกี่ยวกับอะไร
@@korawitchowoog1037 ดูหน่อยว่า Toppic ชนกันปะครับ เเล้วดูเรื่องการดีเลย์ด้วยอ่ะ
สอบถ้าหน่อยครับถ้าจะควบคุมจากระยะไกล ผ่านมือถือ หรือคอมอีกเครื่องจะต้องมี cloud server ใช้ไหมครับ
ต้องมีครับ จำเป็นในการควบคุมระยะไกล
@@WasanDIY แล้วถ้าใช้ตัว raspberry pi จะโอเคไหมครับหรือเช่า server ไปเลยจะดีกว่าครับ
thank a lot
🥰🥰🥰🥰🥰🥰🥰🥰🥰
ไหนลิงให้โหลด?
github.com/WasanShow/Smart-Farm-HiveMQ