diff --git a/Sw_BigRoom/src/main.cpp b/Sw_BigRoom/src/main.cpp index 92b8630..2014729 100644 --- a/Sw_BigRoom/src/main.cpp +++ b/Sw_BigRoom/src/main.cpp @@ -1,224 +1,3 @@ -// #include -// #include -// #include -// #include -// #include -// #include -// #include -// #include - -// // замените значения в этих константах на те, -// // что соответствуют вашей сети: -// const char* ssid = "wf-home"; -// const char* password = "0ndthnrf"; -// const char* mqtt_server = "192.168.1.250"; -// //unsigned long int cRun; -// bool lStat1; -// bool lStat2; -// #define B_LED 16 -// //bool led = false; - -// Bounce l1 = Bounce(); -// Bounce l2 = Bounce(); - -// WiFiClient espClient; -// PubSubClient client(espClient); - -// void callback(char* topic, byte* payload, unsigned int length) { -// Serial.print("Message arrived ["); -// Serial.print(topic); -// Serial.print("] "); -// for (unsigned int i = 0; i < length; i++) { -// Serial.print((char)payload[i]); -// } -// Serial.println(); -// if(strcmp(topic, "/home/bigroom/lamp1_set") == 0){ -// if ((char)payload[0] == '1') lStat1 = true; -// else lStat1 = false; -// EEPROM.put(0, lStat1); -// EEPROM.commit(); -// Serial.print("Lamp 1: "); -// Serial.println(lStat1); -// if (client.connected()) -// client.publish("/home/bigroom/lamp1", lStat1 ? "1" : "0"); -// //setLamp(0); -// } -// if(strcmp(topic, "/home/bigroom/lamp2_set") == 0){ -// if ((char)payload[0] == '1') lStat2 = true; -// else lStat2 = false; -// //setLamp(1); -// EEPROM.put(1, lStat2); -// EEPROM.commit(); -// Serial.print("Lamp 2: "); -// Serial.println(lStat2); -// if (client.connected()) -// client.publish("/home/bigroom/lamp2", lStat2 ? "1" : "0"); -// } - -// // Switch on the LED if an 1 was received as first character -// //if ((char)payload[0] == '1') { -// //digitalWrite(LED_BUILTIN, LOW); // Turn the LED on (Note that LOW is the voltage level -// // but actually the LED is on; this is because -// // it is active low on the ESP-01) -// //} else { -// //digitalWrite(LED_BUILTIN, HIGH); // Turn the LED off by making the voltage HIGH -// //} -// } - -// void reconnect() { -// // Loop until we're reconnected -// int cntConn = 0; -// int cntConnW = 0; -// while (!client.connected() && cntConn < 5) { -// if(!WiFi.isConnected()){ -// WiFi.disconnect(); -// WiFi.begin(ssid, password); -// while ((WiFi.waitForConnectResult() != WL_CONNECTED) && cntConn < 5) { -// Serial.println("Connection Failed! Rebooting..."); -// // "Соединиться не удалось! Перезагрузка..." -// delay(1000); -// cntConn++; -// } -// } -// Serial.print("Attempting MQTT connection..."); -// // Create a random client ID -// String clientId = "SwitchBigRoom"; -// //clientId += String(random(0xffff), HEX); -// // Attempt to connect -// if (client.connect(clientId.c_str())) { -// Serial.println("connected"); -// // Once connected, publish an announcement... -// //client.publish("outTopic", "hello world"); -// // ... and resubscribe -// client.subscribe("/home/bigroom/lamp1_set"); -// client.subscribe("/home/bigroom/lamp2_set"); -// digitalWrite(B_LED, LOW); -// } else { -// Serial.print("failed, rc="); -// Serial.print(client.state()); -// Serial.println(" try again in 5 seconds"); -// digitalWrite(B_LED, HIGH); -// // Wait 5 seconds before retrying -// //delay(5000); -// } -// cntConn++; -// } -// } - -// void setup() { -// Serial.begin(9600); -// Serial.println("Booting"); // "Загрузка" -// WiFi.mode(WIFI_STA); -// WiFi.hostname("SW-BigRoom"); -// WiFi.begin(ssid, password); -// int cntConn = 0; -// while ((WiFi.waitForConnectResult() != WL_CONNECTED) && cntConn < 5) { -// Serial.println("Connection Failed! Rebooting..."); -// // "Соединиться не удалось! Перезагрузка..." -// delay(1000); -// cntConn++; -// ESP.restart(); -// } - -// // строчка для номера порта по умолчанию -// // можно вписать «8266»: -// // ArduinoOTA.setPort(8266); - -// // строчка для названия хоста по умолчанию; -// // можно вписать «esp8266-[ID чипа]»: -// // ArduinoOTA.setHostname("myesp8266"); - -// // строчка для аутентификации -// // (по умолчанию никакой аутентификации не будет): -// // ArduinoOTA.setPassword((const char *)"123"); - -// ArduinoOTA.onStart([]() { -// Serial.println("Start"); // "Начало OTA-апдейта" - -// }); -// ArduinoOTA.onEnd([]() { -// Serial.println("\nEnd"); // "Завершение OTA-апдейта" -// }); -// ArduinoOTA.onProgress([](unsigned int progress, unsigned int total) { -// Serial.printf("Progress: %u%%\r", (progress / (total / 100))); -// }); -// ArduinoOTA.onError([](ota_error_t error) { -// Serial.printf("Error[%u]: ", error); -// if (error == OTA_AUTH_ERROR) Serial.println("Auth Failed"); -// // "Ошибка при аутентификации" -// else if (error == OTA_BEGIN_ERROR) Serial.println("Begin Failed"); -// // "Ошибка при начале OTA-апдейта" -// else if (error == OTA_CONNECT_ERROR) Serial.println("Connect Failed"); -// // "Ошибка при подключении" -// else if (error == OTA_RECEIVE_ERROR) Serial.println("Receive Failed"); -// // "Ошибка при получении данных" -// else if (error == OTA_END_ERROR) Serial.println("End Failed"); -// // "Ошибка при завершении OTA-апдейта" -// }); -// ArduinoOTA.begin(); -// Serial.println("Ready"); // "Готово" -// Serial.print("IP address: "); // "IP-адрес: " -// Serial.println(WiFi.localIP()); -// //pinMode(0, INPUT_PULLUP); -// //l1.attach(0); -// pinMode(B_LED, OUTPUT); -// pinMode(4, OUTPUT); -// pinMode(13, OUTPUT); -// pinMode(14, INPUT); -// l1.attach(14); -// pinMode(12, INPUT); -// l2.attach(12); -// lStat1 = false; -// lStat2 = false; -// client.setServer(mqtt_server, 1883); -// client.setCallback(callback); -// EEPROM.begin(16); -// EEPROM.get(0, lStat1); -// EEPROM.get(1, lStat2); - -// //cRun = millis(); -// } - -// void loop() { -// ArduinoOTA.handle(); - -// digitalWrite(4, lStat1); -// digitalWrite(13, lStat2); -// if (!client.connected()) { -// reconnect(); -// } -// client.loop(); - -// l1.update(); -// l2.update(); -// if(l1.fell()){ -// lStat1 = !lStat1; -// //digitalWrite(4, lStat1); -// EEPROM.put(0, lStat1); -// EEPROM.commit(); -// Serial.print("Lamp 1: "); -// Serial.println(lStat1); -// if (client.connected()) -// client.publish("/home/bigroom/lamp1", String(lStat1).c_str()); -// } -// if(l2.fell()){ -// lStat2 = !lStat2; -// //digitalWrite(13, lStat2); -// EEPROM.put(1, lStat2); -// EEPROM.commit(); -// Serial.print("Lamp 2: "); -// Serial.println(lStat2); -// if (client.connected()) -// client.publish("/home/bigroom/lamp2", String(lStat2).c_str()); -// } -// // if(cRun + 500 < millis()){ -// // digitalWrite(B_LED, led); -// // led = !led; -// // cRun = millis(); -// // } -// } - - #include #include #include @@ -245,7 +24,6 @@ unsigned long cRun; #define R_LED2 (13) #define BUTT1 (14) #define BUTT2 (12) -bool led = false; Bounce l1 = Bounce(); Bounce l2 = Bounce(); @@ -390,6 +168,12 @@ void loop() { EEPROM.put(1, lStat2); EEPROM.commit(); } + if (cRun + 9999 < millis()){ + cRun = millis(); + char v[11]; + itoa(cRun, v, 10); + mqttClient.publish("/home/bigroom/millislamp", 0, false, v); + } }