diff --git a/src/main.cpp b/src/main.cpp index e347f59..9b51ac0 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -3,6 +3,10 @@ #include #define LED 2 +#define DOWN D1 +#define UP D2 +#define STOP D3 + #ifndef STASSID #define STASSID "CurrywurstPommesMajo" @@ -12,7 +16,6 @@ WiFiClient espClient; PubSubClient client(espClient); -int myFunction(int, int); void callback(char* topic, byte* payload, unsigned int length); void wifiSetup(); void mqttSetup(); @@ -60,6 +63,12 @@ void initiateAction(int act) { Serial.print("Action "); Serial.println(act); + digitalWrite(LED, LOW); + digitalWrite(act, HIGH); + delay(500); + digitalWrite(LED, HIGH); + digitalWrite(act, LOW); + } void callback(char* topic, byte* message, unsigned int length) { @@ -68,23 +77,25 @@ void callback(char* topic, byte* message, unsigned int length) { Serial.print(". Message: "); String messageTemp; - for (int i = 0; i < length; i++) { + for (unsigned int i = 0; i < length; i++) { Serial.print((char)message[i]); messageTemp += (char)message[i]; } Serial.println(); - // If a message is received on the topic esp32/output, you check if the message is either "on" or "off". - // Changes the output state according to the message if (String(topic) == "esp32/output") { Serial.print("Changing output to "); - if(messageTemp == "on"){ - Serial.println("on"); - //digitalWrite(ledPin, HIGH); + if(messageTemp == "up"){ + Serial.println("up"); + initiateAction(UP); } - else if(messageTemp == "off"){ - Serial.println("off"); - //digitalWrite(ledPin, LOW); + else if(messageTemp == "down"){ + Serial.println("down"); + initiateAction(DOWN); + } + else if (messageTemp == "stop") { + Serial.println("stop"); + initiateAction(STOP); } } } @@ -93,6 +104,13 @@ void callback(char* topic, byte* message, unsigned int length) { void setup() { Serial.begin(115200); pinMode(LED, OUTPUT); + pinMode(DOWN, OUTPUT); + pinMode(UP, OUTPUT); + pinMode(STOP, OUTPUT); + digitalWrite(LED, LOW); + digitalWrite(DOWN, LOW); + digitalWrite(UP, LOW); + digitalWrite(STOP, LOW); wifiSetup(); client.setServer("muckibude.fritz.box", 1883); client.setCallback(callback); @@ -104,17 +122,5 @@ void loop() { mqttReconnect(); } client.loop(); - - myFunction(1,2); } -// put function definitions here: -int myFunction(int x, int y) { - digitalWrite(LED, HIGH); - // Serial.println("LED is on"); - delay(1000); - digitalWrite(LED, LOW); - // Serial.println("LED is off"); - delay(1000); - return 1; -} \ No newline at end of file