|
แก้ไขครั้งสุดท้ายโดย nubi เมื่อ 2019-8-27 19:57
#include <ESP8266WiFi.h>
int sensorPin = A0;
int sensorValue = 0;
//int StatusSW1=0; // กำหนดตัวแปร
//int StatusSW2=0;
const char* ssid = "IoT99";
const char* password = "iot0837286389";
const char* host = "colo2u.com"; //ใส่ IP หรือ Host ของเครื่อง Database ก็ได้
///===ประintใช่งาน======
const int swit1 = D4;
const int swit2 = D8;
const int led1 = D7;
const int led2 = D6;
///===================
////////////============ตังแปรที่ส่งไปserver===
int switBL1 = 0; //
int switBL2 = 0; //
int ledBL1 = 0; //
int ledBL2 = 0; //
////////////============
void setup()
{
pinMode(swit1, INPUT_PULLUP);
pinMode(swit2, INPUT_PULLUP);
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
Serial.begin(9600); // set up serial port for 9600 baud (speed)
delay(500); // wait for display to boot up
Serial.print("Connecting to ");
Serial.println(ssid);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi connected");
Serial.println("IP address: ");
Serial.println(WiFi.localIP());
}
int value = 0;
void loop()
{
////////
if (digitalRead(swit1)==LOW) {
digitalWrite (led1,LOW);
delay(1000);
digitalWrite (led2,HIGH);
}
if (digitalRead(swit2)==LOW) {
digitalWrite (led2,LOW);
delay(1000);
digitalWrite (led1,HIGH);
}
//////
sensorValue = analogRead(sensorPin); //อ่านค่าจากอินพุตอนาล็อกมาเก็บไว้ที่ตัวแปร sensorValue
sensorValue = map(sensorValue, 0, 1023, 0, 100);
Serial.print("Soil moisture: ");
Serial.print(sensorValue);
Serial.println(" %");
delay(500);
if(sensorValue >30){
digitalWrite(led1,HIGH); // ถ้าไม่กดสวิตช์
}
else {
digitalWrite(led1,LOW);
}
if(sensorValue <30){
digitalWrite(led2,HIGH); // ถ้าไม่กดสวิตช์
}
else {
digitalWrite(led2,LOW);
}
Serial.print("connecting to ");
Serial.println(host);
WiFiClient client;
const int httpPort = 80;
if (!client.connect(host, httpPort)) {
Serial.println("connection failed");
return;
}
switBL1 = digitalRead(ledBL1);
switBL2 = digitalRead(ledBL2);
if (switBL1==1 && switBL2==0) {
digitalWrite(ledBL1,HIGH);
Serial.println("Valve ON");
}else{
digitalWrite(ledBL1,LOW);
Serial.println("Valae OFF");
}
String url = "/iot/update_status.php?L5="+ledBL1;
url += "&L6="+String(ledBL2);
url += "&L7="+String(switBL1);
url += "&L8="+String(switBL2);
Serial.print("Requesting URL: ");
Serial.println(url);
client.print(String("GET ") + url + " HTTP/1.1\r\n" +
"Host: " + host + "\r\n" +
"Connection: close\r\n\r\n");
unsigned long timeout = millis();
while (client.available() == 0) {
if (millis() - timeout > 5000) {
Serial.println(">>> Client Timeout !");
client.stop();
return;
}
}
}
|
|