diff --git a/FabLock_Software/src/main.cpp b/FabLock_Software/src/main.cpp index a9a0d00..ea9445c 100644 --- a/FabLock_Software/src/main.cpp +++ b/FabLock_Software/src/main.cpp @@ -4,12 +4,13 @@ #include "config.h" #define MCP_INPUTS 16 // MCP23017 -#define TRIGGER_TIME 1500 +#define TRIGGER_TIME 3000 +#define BLINK_COUNT 3 +#define BLINK_TIME 500 WiFiClient espClient; PubSubClient client(espClient); Adafruit_MCP23X17 mcp_relais; -Adafruit_MCP23X17 mcp_feedback; unsigned long lastMsg = 0; #define MSG_BUFFER_SIZE (50) @@ -31,8 +32,6 @@ void setup_wifi() { delay(500); } - - randomSeed(micros()); } void callback(char* topic, byte* payload, unsigned int length) @@ -48,33 +47,23 @@ void callback(char* topic, byte* payload, unsigned int length) strncpy(str_id, topic + topic_len - trigger_len - 3, 3); int id = atoi(str_id); - if ((char)payload[0] == '1') - { - mcp_relais.digitalWrite(id, HIGH); - delay(TRIGGER_TIME); - mcp_relais.digitalWrite(id, LOW); - } - else - { - mcp_relais.digitalWrite(id, LOW); - delay(TRIGGER_TIME); - mcp_relais.digitalWrite(id, HIGH); - } + mcp_relais.digitalWrite(id, HIGH); + delay(TRIGGER_TIME); + mcp_relais.digitalWrite(id, LOW); } - if(!strcmp(topic + topic_len - set_state_len, "/set_state")) + if(!strcmp(topic + topic_len - set_state_len, "/identify")) { char str_id[4] = {0}; strncpy(str_id, topic + topic_len - trigger_len - 3, 3); - int id = atoi(str_id); + int id = 15 - atoi(str_id); - if ((char)payload[0] == '1') + for(int i = 0; i < BLINK_COUNT; i++) { mcp_relais.digitalWrite(id, HIGH); - } - else - { + delay(BLINK_TIME); mcp_relais.digitalWrite(id, LOW); + delay(BLINK_TIME); } } } @@ -99,9 +88,9 @@ void reconnect() } if (connected) { - snprintf (topic_recv, TOPIC_BUFFER_SIZE, "fablock/%03d/+/trigger", FABLOCKID); + snprintf (topic_recv, TOPIC_BUFFER_SIZE, "fablock/%05d/+/trigger", FABLOCKID); client.subscribe(topic_recv); - snprintf (topic_recv, TOPIC_BUFFER_SIZE, "fablock/%03d/+/set_state", FABLOCKID); + snprintf (topic_recv, TOPIC_BUFFER_SIZE, "fablock/%05d/+/identify", FABLOCKID); client.subscribe(topic_recv); } else @@ -134,19 +123,7 @@ void setup() for(i = 0; i