From 352613175f0065590783ca2c1ee559f3795e642d Mon Sep 17 00:00:00 2001 From: 0xFEEDC0DE <0xfeedc0de64@gmail.com> Date: Thu, 26 Apr 2018 22:26:47 +0200 Subject: [PATCH] Implemented buttons in wall for living room --- multi_lamp/multi_lamp.ino | 22 ++++++++++++++++++++-- single_lamp/single_lamp.ino | 1 + 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/multi_lamp/multi_lamp.ino b/multi_lamp/multi_lamp.ino index f3d7eca..b6b067e 100644 --- a/multi_lamp/multi_lamp.ino +++ b/multi_lamp/multi_lamp.ino @@ -107,6 +107,7 @@ public: case '0': off(); break; case 't': toggle(); break; case 's': sendStatus(); break; + case 'r': m_client.println("rebooting"); ESP.restart(); break; default: Serial.print("Unknown command: "); Serial.println(c); } } @@ -150,8 +151,9 @@ private: }; ESP8266WebServer server(80); -ControlClient relais0Client("wohnzimmer_decke", D1); -ControlClient relais1Client("vorzimmer_decke", D2); +ControlClient relais0Client("vorzimmer_decke", D1); +ControlClient relais1Client("wohnzimmer_decke", D2); +bool lastState0, lastState1; void setup() { Serial.begin(115200); @@ -161,6 +163,12 @@ void setup() { relais0Client.begin(); relais1Client.begin(); + + pinMode(D5, INPUT_PULLUP); + pinMode(D6, INPUT_PULLUP); + + lastState0 = digitalRead(D5) == HIGH; + lastState1 = digitalRead(D6) == HIGH; server.on("/", HTTP_GET, []() { server.sendHeader("Connection", "close"); @@ -266,6 +274,16 @@ void loop() { Serial.println("No wifi"); delay(500); } + + if(digitalRead(D5) != (lastState0 ? HIGH : LOW)) { + lastState0 = !lastState0; + relais0Client.toggle(); + } + + if(digitalRead(D6) != (lastState1 ? HIGH : LOW)) { + lastState1 = !lastState1; + relais1Client.toggle(); + } delay(1); } diff --git a/single_lamp/single_lamp.ino b/single_lamp/single_lamp.ino index 898265b..1a0e566 100644 --- a/single_lamp/single_lamp.ino +++ b/single_lamp/single_lamp.ino @@ -105,6 +105,7 @@ public: case '0': off(); break; case 't': toggle(); break; case 's': sendStatus(); break; + case 'r': m_client.println("rebooting"); ESP.restart(); break; default: Serial.print("Unknown command: "); Serial.println(c); } }