Code
คำสั่งในการทำโครงงานอาคารต้นแบบอัจฉริยะ
// Thanapat Polruksa //
// RMUTT COMPUTER SCIENCE //
// ARDUINO UNO+ESP-01
WIFI-MODULE //
// V 1.0 //
int led8 =8;
int led9 =9;
int led2 =2;
int led3 =3;
int led4 =4;
int infrared1 =10;
int buzzer = 13;
#include <SoftwareSerial.h>
SoftwareSerial esp8266(7, 6);
#include <DS3231.h>
DS3231 rtc(SDA, SCL);
Time t;
void setup() {
// Open serial communications
and wait for port to open:
pinMode(buzzer, OUTPUT);
pinMode (led8,OUTPUT);
pinMode (led9,OUTPUT);
pinMode (led2,OUTPUT);
pinMode (led3,OUTPUT);
pinMode (led4,OUTPUT);
pinMode(infrared1,INPUT);
digitalWrite(infrared1,LOW);
digitalWrite(buzzer,HIGH);
Serial.begin(9600); // Boudrate of Serial Setup to 9600
esp8266.begin(9600); //Boudrate of Esp8266 Setup to 9600
// rtc.setDOW(); // Set Day-of-Week to SUNDAY
// rtc.setTime(20, 59, 50); //set the time to 12:00:00 (24hr format)
// rtc.setDate(3, 7, 2018); // Set the date to January 1st, 2014
rtc.begin();
}
void loop(){
// ConfigurationESP01();
// delay(60000);
ThinkSpeakSetup(); //function for setup
thinkspeak. it's scroll down for configuration.
delay(300); //delay 300 ms not
3 second
}
void ThinkSpeakSetup() {
esp8266.println("AT+CIPSTART="TCP","184.106.153.149",80");
delay(100);
esp8266.println("AT+CIPSEND=36");
delay(100);
esp8266.println("GET
/channels/454105/fields/1/last");
delay(100);
printResponseThinkSpeak();
// esp8266.println("AT+CIPSTART="TCP","184.106.153.149",80");
// delay(100);
//
esp8266.println("AT+CIPSEND=36");
// delay(100);
// esp8266.println("GET
/channels/443297/fields/2/last");
// delay(100);
// printResponseThinkSpeak();
}
void printResponseThinkSpeak() {
while (esp8266.available())
{ // loop while for esp8266
available is true only
//
Serial.println(esp8266.readStringUntil('n'));
String IncomingString =
"";
boolean StringReady = false;
IncomingString =
esp8266.readString();
StringReady = true;
if (StringReady) {
String TimeDetect =
rtc.getTimeStr();
Serial.println(TimeDetect);
Serial.println("ServerThingSpeak: " + IncomingString); //print server port specification ที่กำหนดไว้
//-------------------------------This is Configuration for
Sensor.-----------------------------------------------//
if
(IncomingString.indexOf("LEDON") != -1) {
digitalWrite(led2,HIGH);
digitalWrite(led3,HIGH);
digitalWrite(led4,HIGH);
}
if
(IncomingString.indexOf("LEDOFF") != -1) {
digitalWrite(led2,LOW);
digitalWrite(led3,LOW);
digitalWrite(led4,LOW);
}
if
(TimeDetect.indexOf("04:30") != -1) {
Serial.println("04:30");
digitalWrite(led2,HIGH);
digitalWrite(led3,HIGH);
digitalWrite(led4,HIGH);
digitalWrite(buzzer,
LOW);
//// delay(10000);
// digitalWrite(buzzer,
LOW);
}
if
(TimeDetect.indexOf("05:00") != -1) {
Serial.println("05:00");
digitalWrite(led2,LOW);
digitalWrite(led3,LOW);
digitalWrite(led4,LOW);
} if (TimeDetect.indexOf("18:00") !=
-1) {
Serial.println("18:00");
digitalWrite(led2,HIGH);
digitalWrite(led3,HIGH);
digitalWrite(led4,HIGH);
}if
(TimeDetect.indexOf("22:00") != -1) {
Serial.println("22:00");
digitalWrite(led2,LOW);
digitalWrite(led3,LOW);
digitalWrite(led4,LOW);
digitalWrite(buzzer,LOW
);
//// delay(10000);
// digitalWrite(buzzer,
LOW);
}
if(digitalRead(infrared2)==1) {
Serial.println(digitalRead(infrared2));
digitalWrite(led9,HIGH);
}else{
digitalWrite(led9,LOW);
}
//
if(digitalRead(infrared1)==HIGH)
{
//
Serial.println("Somebody is here.");
// digitalWrite(led9,HIGH);
//// delay(60000);
// digitalWrite(led9,LOW);
// }
// else {
//
Serial.println("Nobody.");
//
digitalWrite(led8,LOW);
//
//
}
}
}
void printResponseESP01() {
while (esp8266.available()) {
Serial.println(esp8266.readStringUntil('n'));
}
}
void ConfigurationESP01() {
esp8266.println("AT");
delay(1000);
printResponseESP01();
esp8266.println("AT+CWMODE=1");
delay(1000);
printResponseESP01();
esp8266.println("AT+CWJAP="Sa_network","12345678"");
delay(1000);
printResponseESP01();
delay(5000);
esp8266.println("AT+CIPMUX=0");
delay(1000);
printResponseESP01();
} |