From 8e66b24dd6e26b0d6a7da4244feea90158b6930b Mon Sep 17 00:00:00 2001 From: Jeffrey Yimian Liu Date: Tue, 11 Sep 2018 12:39:40 +0800 Subject: [PATCH] index.c --- index.c | 129 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 129 insertions(+) create mode 100644 index.c diff --git a/index.c b/index.c new file mode 100644 index 0000000..b73a523 --- /dev/null +++ b/index.c @@ -0,0 +1,129 @@ +/* ***************************************************************** + * +this is the code for the control part of automatic home solar-powered water heated system. + * + * *****************************************************************/ + +//announce connection moudle +#define BLINKER_PRINT Serial +#define BLINKER_WIFI + +//declear the slider on phone +#define Slider_1 "slider" + +//include function set +#include + +//declear overall variable::user, password, identify key +char auth[] = "c625b08a9549"; +char ssid[] = "TOTOLINK_3be124"; +char pswd[] = "13371035727"; + +//declear Button with certain keyname +BlinkerButton Button1("btn-abc"); +BlinkerButton Button2("btn-on"); +BlinkerButton Button3("btn-off"); +BlinkerButton Button4("btn-start"); +//declaer Slider with certain keyname +BlinkerSlider Slider1(Slider_1); + +//define vairable +int counter,timer,time1,time2,a,b = 0; +float i=0; + +//Button1 function::state check +void button1_callback(const String & state) +{ + BLINKER_LOG2("get button1 state: ", state); + if(digitalRead(D5)){ Button1.print("未加水");}else{ Button1.print("正在加水..");} + if(a==1){ Blinker.print("剩余分钟:"); + Blinker.print((time2-Blinker.time())/60);} +} + +//Button2 function::on +void button2_callback(const String & state) +{ + BLINKER_LOG2("get button2 state: ", state); + digitalWrite(D5, LOW); + if(digitalRead(D5)){ Button2.print("停止加水");}else{ Button2.print("开始加水..");} +} + +//Button3 function::off +void button3_callback(const String & state) +{ + BLINKER_LOG2("get button3 state: ", state); + + digitalWrite(D5, HIGH); + + if(digitalRead(D5)){ Button3.print("加水已停止.");}else{ Button3.print("正在加水..");} + if(a==1){delay(500);Button3.print("加水已终止!");} + + a=0; //reset key var a +} + +//Button4 function::start on +void button4_callback(const String & state) +{ + BLINKER_LOG2("get button4 state: ", state); + + a=1; + digitalWrite(D5, LOW); + + time1=Blinker.time(); + time2=time1+timer*60; + BLINKER_LOG2("get slider value: ", time2-Blinker.time()); + Button4.print("开始计时加水!"); +} + +//skider function +void slider1_callback(int32_t value) +{ +timer=value; +} + +//setup function +void setup() +{ + Serial.begin(115200); + + pinMode(D5, OUTPUT); + pinMode(D7, INPUT); + digitalWrite(D5, HIGH); + + Blinker.begin(/*auth,*/ ssid, pswd); + Button1.attach(button1_callback); + Button2.attach(button2_callback); + Button3.attach(button3_callback); + Button4.attach(button4_callback); + Slider1.attach(slider1_callback); +} + +//main loop function +void loop() +{ + Blinker.run(); + + if(a==1&&time2>=Blinker.time()) + { + if((time2-Blinker.time())/60==0&&b<=(millis()-1000)){ Blinker.print("剩余秒数:");Blinker.print(time2-Blinker.time());b=millis();} + + if((time2-Blinker.time())>60&&b<=(millis()-15000)) + { + Blinker.print("剩余分钟:"); + Blinker.print((time2-Blinker.time())/60); + b=millis(); + } + + } + + if(a==1&&time2<=Blinker.time()) + { + delay(500); + Button4.print("加水结束!!"); + Blinker.notify("计时加水已结束!"); + + digitalWrite(D5, HIGH); + a=0; + } + +}