diff --git a/data/config.json b/data/config.json index 88fa28c5..2e45f37b 100644 --- a/data/config.json +++ b/data/config.json @@ -7,11 +7,11 @@ "routerpass": "BELCHENKO", "timezone": 1, "ntp": "pool.ntp.org", - "mqttServer": "m12.cloudmqtt.com", - "mqttPort": 14053, + "mqttServer": "wqtt.ru", + "mqttPort": 8021, "mqttPrefix": "/iotTest", - "mqttUser": "lbscvzuj", - "mqttPass": "bLxlveOgaF8F", + "mqttUser": "u_K1CK9Q", + "mqttPass": "YjyCloWS", "scen": "1", "telegramApi": "1416711569:AAEI0j83GmXqwzb_gnK1B0Am0gDwZoJt5xo", "telegonof": "0", diff --git a/data/set.device.json b/data/set.device.json index 16c964c0..b45d6c71 100644 --- a/data/set.device.json +++ b/data/set.device.json @@ -37,6 +37,10 @@ "type": "h4", "title": "Uptime: {{uptime}}" }, + { + "type": "h4", + "title": "WiFi Signal: {{signal}}" + }, { "type": "h4", "title": "Build version: {{firmware_version}}" diff --git a/include/Utils/WiFiUtils.h b/include/Utils/WiFiUtils.h index ef2c9379..60ed3e7b 100644 --- a/include/Utils/WiFiUtils.h +++ b/include/Utils/WiFiUtils.h @@ -10,3 +10,5 @@ bool startAPMode(); boolean RouterFind(String ssid); +String RSSIquality(); + diff --git a/src/Utils/WiFiUtils.cpp b/src/Utils/WiFiUtils.cpp index f0c66eae..cac571c4 100644 --- a/src/Utils/WiFiUtils.cpp +++ b/src/Utils/WiFiUtils.cpp @@ -11,8 +11,10 @@ void routerConnect() { if (_ssid == "" && _password == "") { WiFi.begin(); - } else { + } + else { WiFi.begin(_ssid.c_str(), _password.c_str()); + WiFi.setOutputPower(20.5); SerialPrint("I", "WIFI", "ssid: " + _ssid); } @@ -29,7 +31,8 @@ void routerConnect() { if (WiFi.status() != WL_CONNECTED) { Serial.println(""); startAPMode(); - } else { + } + else { Serial.println(""); SerialPrint("I", "WIFI", "http://" + WiFi.localIP().toString()); jsonWriteStr(configSetupJson, "ip", WiFi.localIP().toString()); @@ -81,17 +84,17 @@ boolean RouterFind(String ssid) { if (n == -2) { //Сканирование не было запущено, запускаем SerialPrint("I", "WIFI", "start scanning"); WiFi.scanNetworks(true, false); //async, show_hidden - } - + } + else if (n == -1) { //Сканирование все еще выполняется SerialPrint("I", "WIFI", "scanning in progress"); - } - + } + else if (n == 0) { //ни одна сеть не найдена SerialPrint("I", "WIFI", "no networks found"); WiFi.scanNetworks(true, false); - } - + } + else if (n > 0) { for (int8_t i = 0; i < n; i++) { if (WiFi.SSID(i) == ssid) { @@ -107,3 +110,31 @@ boolean RouterFind(String ssid) { boolean isNetworkActive() { return WiFi.status() == WL_CONNECTED; } + +String RSSIquality() { + String res = "not connected"; + if (WiFi.status() == WL_CONNECTED) { + int rssi = WiFi.RSSI(); + if (rssi >= -50) { + res = "Excellent"; + } + else if (rssi < -50 && rssi >= -60) { + res = "Very good"; + } + else if (rssi < -60 && rssi >= -70) { + res = "Good"; + } + else if (rssi < -70 && rssi >= -80) { + res = "Low"; + } + else if (rssi < -80 && rssi > -100) { + res = "Very low"; + } + else if (rssi <= -100) { + res = "No signal"; + } + } + return res; +} + + diff --git a/src/main.cpp b/src/main.cpp index 4751e813..64165406 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -94,18 +94,17 @@ void setup() { SsdpInit(); #endif - - //esp_log_level_set("esp_littlefs", ESP_LOG_NONE); ts.add( TEST, 1000 * 60, [&](void*) { SerialPrint("I", "System", printMemoryStatus()); + jsonWriteStr(configSetupJson, "signal", RSSIquality()); }, nullptr, true); just_load = false; - initialized = true; + initialized = true; } void loop() {