#define BLYNK_PRINT Serial
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
#include <TridentTD_LineNotify.h>
#include <Adafruit_Sensor.h>
#include "DHT.h"
DHT dht;
char auth[] = "uuz4cLZUJsYpg7UfONNlH-GAZyBTIq6c";
char ssid[] = "UoE";
char pass[] = "031307657b";
char server[] = "blynk.iot-cm.com";
#define LINE_TOKEN "gOeSvRt38AftmXFXHzTKgk7YROPkS5Q08VZaJc4NFYo"
const int analogInPin = A0;
const int relay = D1;
int port = 80;
int sensorValue = 0;
int outputValue = 0;
boolean flag = true;
void moisture() {
int value = analogRead(A0);
value = map(value, 0, 1023, 100, 0);
Blynk.virtualWrite(V0, value);
Serial.println(value);
}
void setup()
{
Serial.begin(9600);
pinMode(analogInPin, INPUT);
pinMode(relay, OUTPUT);
Blynk.begin(auth, ssid, pass, "blynk.iot-cm.com", 8080);
LINE.setToken(LINE_TOKEN);
Serial.println("Status\tHumidity (%)\tTemperature (C)\t(F)");
dht.setup(D2); // data pin 2
LINE.notify("อุปกรณ์รดน้ำต้นไม้เชื่อมต่อ WiFi สำเร็จ");
}
void loop()
{
Blynk.run();
delay(dht.getMinimumSamplingPeriod());
float humidity = dht.getHumidity(); // ดึงค่าความชื้น
float temperature = dht.getTemperature(); // ดึงค่าอุณหภูมิ
Serial.print(dht.getStatusString());
Serial.print("\t");
Serial.print(humidity, 1);
Serial.print("\t\t");
Serial.print(temperature, 1);
Serial.print("\t\t");
Serial.println(dht.toFahrenheit(temperature), 1);
delay(100);
Blynk.virtualWrite(V1, temperature);
Blynk.virtualWrite(V2, humidity);
sensorValue = analogRead(analogInPin);
Serial.print("sensorValue = ");
Serial.println(sensorValue);
outputValue = map(sensorValue, 0, 1023, 100, 0);
Serial.print("Soil Moisture = ");
Serial.print(outputValue);
Serial.println(" %");
moisture(); //ใช้งานการอ่านเซนเซอร์ แล้วส่งค่าไปที่ blynk
if (outputValue >60) {
digitalWrite(relay,HIGH);
while (flag==true){
LINE.notify("ปั้มน้ำหยุดทำงาน");
delay(100);
flag=false;
}
}
else {
digitalWrite(relay,LOW);
while (flag==false){
LINE.notify("ปั้มน้ำทำงาน");
delay(100);
flag=true;
}
delay(100);
}
}
ขออภัยตอบช้าครับ บ้างทีติดงานอื่นเข้ามาก็เลื่อนดูไม่สุด เบื้องต้นลองศึกษาวิธีการทำจากกระทู้นี้ก่อนครับ