diff --git a/android/LedLampClassic.aia b/android/LedLampClassic.aia new file mode 100644 index 0000000..69c75d9 Binary files /dev/null and b/android/LedLampClassic.aia differ diff --git a/android/LedLampClassic.apk b/android/LedLampClassic.apk new file mode 100644 index 0000000..dc8eaca Binary files /dev/null and b/android/LedLampClassic.apk differ diff --git a/firmware/GyverLamp_v1.4/GyverLamp_v1.4.ino b/firmware/GyverLamp_v1.4/GyverLamp_v1.4.ino index 57c1997..7e5a41c 100644 --- a/firmware/GyverLamp_v1.4/GyverLamp_v1.4.ino +++ b/firmware/GyverLamp_v1.4/GyverLamp_v1.4.ino @@ -40,7 +40,7 @@ // --- ВРЕМЯ --------------------------- #define USE_NTP // закомментировать или удалить эту строку, если нужно, чтобы устройство не лезло в интернет #define GMT (3) // часовой пояс (москва 3) -#define NTP_ADDRESS ("europe.pool.ntp.org") // сервер времени +#define NTP_ADDRESS ("ntp2.colocall.net") // сервер времени #define NTP_INTERVAL (30UL * 60UL * 1000UL) // интервал синхронизации времени (30 минут) // --- РАССВЕТ ------------------------- @@ -77,12 +77,12 @@ #endif // --- ESP (WiFi клиент) --------------- -uint8_t STA_STATIC_IP[] ={}; // статический IP адрес: {} - IP адрес определяется роутером; {192, 168, 1, 66} - IP адрес задан явно (если DHCP на роутере не решит иначе); должен быть из того же диапазона адресов, что разадёт роутер +uint8_t STA_STATIC_IP[] = {}; // статический IP адрес: {} - IP адрес определяется роутером; {192, 168, 1, 66} - IP адрес задан явно (если DHCP на роутере не решит иначе); должен быть из того же диапазона адресов, что разадёт роутер // SSID WiFi сети и пароль будут запрошены WiFi Manager'ом в режиме WiFi точки доступа, нет способа захардкодить их в прошивке // --- AP (WiFi точка доступа) --- -#define AP_NAME ("GyverLamp") // имя WiFi точки доступа, используется как при запросе SSID и пароля WiFi сети роутера, так и при работе в режиме ESP_MODE = 0 -#define AP_PASS ("12345678") // пароль WiFi точки доступа +#define AP_NAME ("LedLamp") // имя WiFi точки доступа, используется как при запросе SSID и пароля WiFi сети роутера, так и при работе в режиме ESP_MODE = 0 +#define AP_PASS ("31415926") // пароль WiFi точки доступа uint8_t AP_STATIC_IP[] = {192, 168, 4, 1}; // статический IP точки доступа (лучше не менять) // ============= ДЛЯ РАЗРАБОТЧИКОВ ===== @@ -186,7 +186,7 @@ void setup() touch.setStepTimeout(100); touch.setClickTimeout(500); buttonTick(); - if(touch.state()) // сброс сохранённых SSID и пароля при старте с зажатой кнопкой + if (touch.state()) // сброс сохранённых SSID и пароля при старте с зажатой кнопкой { wifiManager.resetSettings(); @@ -205,8 +205,10 @@ void setup() // WI-FI wifiManager.setDebugOutput(WIFIMAN_DEBUG); // вывод отладочных сообщений + //wifiManager.setMinimumSignalQuality(); // установка минимально приемлемого уровня сигнала WiFi сетей (8% по умолчанию) if (ESP_MODE == 0) // режим WiFi точки доступа { + // wifiManager.setConfigPortalBlocking(false); WiFi.softAPConfig( // wifiManager.startConfigPortal использовать нельзя, т.к. он блокирует вычислительный процесс внутри себя, а затем перезагружает ESP, т.е. предназначен только для ввода SSID и пароля IPAddress(AP_STATIC_IP[0], AP_STATIC_IP[1], AP_STATIC_IP[2], AP_STATIC_IP[3]), // IP адрес WiFi точки доступа IPAddress(AP_STATIC_IP[0], AP_STATIC_IP[1], AP_STATIC_IP[2], 1), // первый доступный IP адрес сети @@ -232,7 +234,7 @@ void setup() { Serial.println("WiFi сеть не определена, запуск WiFi точки доступа для настройки параметров подключения к WiFi сети..."); } - + if (STA_STATIC_IP) { wifiManager.setSTAStaticIPConfig( @@ -313,7 +315,7 @@ void setup() #ifdef USE_NTP timeClient.begin(); #endif - + memset(matrixValue, 0, sizeof(matrixValue)); randomSeed(micros()); diff --git a/firmware/GyverLamp_v1.4/parsing.ino b/firmware/GyverLamp_v1.4/parsing.ino index f427d10..2acd020 100644 --- a/firmware/GyverLamp_v1.4/parsing.ino +++ b/firmware/GyverLamp_v1.4/parsing.ino @@ -41,18 +41,11 @@ void parseUDP() else if (inputBuffer.startsWith("BRI")) { - #ifdef GENERAL_DEBUG - Serial.printf("New brightness value: %d\n", inputBuffer.substring(3).toInt()); - #endif - modes[currentMode].brightness = constrain(inputBuffer.substring(3).toInt(), 1, 255); FastLED.setBrightness(modes[currentMode].brightness); settChanged = true; eepromTimer = millis(); - - #ifdef GENERAL_DEBUG - Serial.printf("modes[currentMode].brightness: %d\n", modes[currentMode].brightness); - #endif + sendCurrent(); } else if (inputBuffer.startsWith("SPD")) @@ -61,6 +54,7 @@ void parseUDP() loadingFlag = true; settChanged = true; eepromTimer = millis(); + sendCurrent(); } else if (inputBuffer.startsWith("SCA")) @@ -69,6 +63,7 @@ void parseUDP() loadingFlag = true; settChanged = true; eepromTimer = millis(); + sendCurrent(); } else if (inputBuffer.startsWith("P_ON")) @@ -150,6 +145,10 @@ void sendCurrent() inputBuffer += String(modes[currentMode].scale); inputBuffer += " "; inputBuffer += String(ONflag); + + #ifdef GENERAL_DEBUG + Serial.println(inputBuffer); + #endif } void sendAlarms() diff --git a/firmware/GyverLamp_v1.4/time.ino b/firmware/GyverLamp_v1.4/time.ino index 61ec11d..50078d1 100644 --- a/firmware/GyverLamp_v1.4/time.ino +++ b/firmware/GyverLamp_v1.4/time.ino @@ -93,6 +93,7 @@ void resolveNtpServerAddress(bool &ntpServerAddressResolved) // ф { return; } + WiFi.hostByName(NTP_ADDRESS, ntpServerIp, RESOLVE_TIMEOUT); if (ntpServerIp[0] <= 0) { @@ -102,6 +103,7 @@ void resolveNtpServerAddress(bool &ntpServerAddressResolved) // ф Serial.println("Подключение к интернету отсутствует"); } #endif + ntpServerAddressResolved = false; } else