diff --git a/Init.ino b/Init.ino index 1561dc5b..f0122913 100644 --- a/Init.ino +++ b/Init.ino @@ -259,7 +259,7 @@ void statistics() { urls += ESP.getResetReason(); #endif #ifdef ESP32 - urls += "unknow"; + urls += "Unknown"; #endif urls += "&"; //----------------------------------------------------------------- diff --git a/WiFi.ino b/WiFi.ino index 212a8ef7..9f948582 100644 --- a/WiFi.ino +++ b/WiFi.ino @@ -1,5 +1,12 @@ void WIFI_init() { + // --------------------Получаем ssid password со страницы + server.on("/wifi.scan.json", HTTP_GET, [](AsyncWebServerRequest * request) { + String tmp; + //tmp = scanWIFI(); + //Serial.println(tmp); + request->send(200, "application/json", tmp); // отправляем ответ о выполнении + }); // --------------------Получаем ssid password со страницы server.on("/ssid", HTTP_GET, [](AsyncWebServerRequest * request) { if (request->hasArg("ssid")) { @@ -47,6 +54,7 @@ void WIFI_init() { // Попытка подключения к точке доступа WiFi.mode(WIFI_STA); + // WiFi.mode(WIFI_NONE_SLEEP); byte tries = 20; String _ssid = jsonRead(configSetup, "ssid"); @@ -163,3 +171,41 @@ boolean RouterFind(String ssid) { return false; } } +/* +String scanWIFI() { + uint8_t n = WiFi.scanNetworks(); + DynamicJsonBuffer jsonBuffer; + JsonObject& json = jsonBuffer.createObject(); + JsonArray& networks = json.createNestedArray("networks"); + for (uint8_t i = 0; i < n; i++) { + JsonObject& data = networks.createNestedObject(); + String ssidMy = WiFi.SSID(i); + data["ssid"] = ssidMy; + data["pass"] = (WiFi.encryptionType(i) == ENC_TYPE_NONE) ? "" : "*"; + int8_t dbm = WiFi.RSSI(i); + data["dbm"] = dbm; + if (ssidMy == jsonRead(configSetup, "ssid")) { + jsonWrite(configJson, "dbm", dbm); + } + } + String root; + json.printTo(root); + return root; +} +*/ +/* + { + "type":"wifi", + "title":"{{LangWiFi1}}", + "name":"ssid", + "state":"{{ssid}}", + "pattern":".{1,}" + }, + { + "type":"password", + "title":"{{LangPass}}", + "name":"ssidPass", + "state":"{{ssidPass}}", + "pattern":".{8,}" + }, +*/ diff --git a/esp32-esp8266_iot-manager_modules_firmware.ino b/esp32-esp8266_iot-manager_modules_firmware.ino index 3efd1a7c..6015e027 100644 --- a/esp32-esp8266_iot-manager_modules_firmware.ino +++ b/esp32-esp8266_iot-manager_modules_firmware.ino @@ -47,8 +47,8 @@ void setup() { initUpgrade(); Serial.println("[V] initUpgrade"); //-------------------------------------------------------------- - //Web_server_init(); - //Serial.println("[V] Web_server_init"); + Web_server_init(); + Serial.println("[V] Web_server_init"); //-------------------------------------------------------------- MQTT_init(); Serial.println("[V] MQTT_init"); @@ -59,7 +59,7 @@ void setup() { Push_init(); Serial.println("[V] Push_init"); //-------------------------------------------------------------- - + Serial.print("[i] Date compiling: "); Serial.println(DATE_COMPILING); @@ -75,6 +75,8 @@ void setup() { Serial.print("[i] Last firmware version: "); Serial.println(new_version); + //Serial.println(scanWIFI()); + } diff --git a/main.ino b/main.ino index b4293bab..3cc5e26b 100644 --- a/main.ino +++ b/main.ino @@ -277,11 +277,55 @@ void getMemoryLoad(String text) { } //esp32 full memory = 362868 k bytes //esp8266 full memory = 53312 k bytes +/* +String getResetReason(uint8_t core) { + int reason = rtc_get_reset_reason(core); + switch (reason) { + case 1 : return "Power on"; break; //Vbat power on reset + case 3 : return "Software reset digital core"; break; //Software reset digital core + case 4 : return "Legacy watch dog reset digital core"; break; //Legacy watch dog reset digital core + case 5 : return "Deep Sleep reset digital core"; break; //Deep Sleep reset digital core + case 6 : return "Reset by SLC module, reset digital core"; break; //Reset by SLC module, reset digital core + case 7 : return "Timer Group0 Watch dog reset digital core"; break; //Timer Group0 Watch dog reset digital core + case 8 : return "Timer Group1 Watch dog reset digital core"; break; //Timer Group1 Watch dog reset digital core + case 9 : return "RTC Watch dog Reset digital core"; break; // + case 10 : return "Instrusion tested to reset CPU"; break; + case 11 : return "Time Group reset CPU"; break; + case 12 : return "Software reset CPU"; break; + case 13 : return "RTC Watch dog Reset CPU"; break; + case 14 : return "for APP CPU, reseted by PRO CPU"; break; + case 15 : return "Reset when the vdd voltage is not stable"; break; + case 16 : return "RTC Watch dog reset digital core and rtc module"; break; + default : return "NO_MEAN"; + } +} +String EspClass::getResetReason(void) { + char buff[32]; + if (resetInfo.reason == REASON_DEFAULT_RST) { // normal startup by power on + strcpy_P(buff, PSTR("Power on")); + } else if (resetInfo.reason == REASON_WDT_RST) { // hardware watch dog reset + strcpy_P(buff, PSTR("Hardware Watchdog")); + } else if (resetInfo.reason == REASON_EXCEPTION_RST) { // exception reset, GPIO status won’t change + strcpy_P(buff, PSTR("Exception")); + } else if (resetInfo.reason == REASON_SOFT_WDT_RST) { // software watch dog reset, GPIO status won’t change + strcpy_P(buff, PSTR("Software Watchdog")); + } else if (resetInfo.reason == REASON_SOFT_RESTART) { // software restart ,system_restart , GPIO status won’t change + strcpy_P(buff, PSTR("Software/System restart")); + } else if (resetInfo.reason == REASON_DEEP_SLEEP_AWAKE) { // wake up from deep-sleep + strcpy_P(buff, PSTR("Deep-Sleep Wake")); + } else if (resetInfo.reason == REASON_EXT_SYS_RST) { // external system reset + strcpy_P(buff, PSTR("External System")); + } else { + strcpy_P(buff, PSTR("Unknown")); + } + return String(buff); +} +*/ //=================================================================== /* -void web_print (String text) { + void web_print (String text) { if (WiFi.status() == WL_CONNECTED) { jsonWrite(json, "test1", jsonRead(json, "test2")); jsonWrite(json, "test2", jsonRead(json, "test3")); @@ -293,7 +337,7 @@ void web_print (String text) { ws.textAll(json); } -} + } */ //=================================================================== /* diff --git a/mqtt.ino b/mqtt.ino index 11042dff..17f94f03 100644 --- a/mqtt.ino +++ b/mqtt.ino @@ -100,10 +100,9 @@ boolean MQTT_Connecting() { client.subscribe((prefix + "/" + chipID + "/order").c_str()); // Подписываемся на топики order //client.subscribe((prefix + "/" + chipID + "/test").c_str()); //Для приема получения work и подтверждения связи (для приложения mqtt IOT MQTT Panel) client.subscribe((prefix + "/ids").c_str()); // Подписываемся на топики ids - sendMQTT("test", "work"); + //sendMQTT("test", "work"); Serial.println("[V] Callback set, subscribe done"); //web_print("Callback set, subscribe done"); - //if (out_date_send) outcoming_date(); //отправляем данные в виджеты return true; } else { Serial.println("[E] try again in " + String(wifi_mqtt_reconnecting / 1000) + " sec"); @@ -155,10 +154,10 @@ void outcoming_date() { sendAllWigets(); sendAllData(); - if (flagLoggingAnalog) sendLogData("log.analog.txt", "loganalog"); - if (flagLoggingPh) sendLogData("log.ph.txt", "logph"); - if (flagLoggingDallas) sendLogData("log.dallas.txt", "logdallas"); - if (flagLoggingLevel) sendLogData("log.level.txt", "loglevel"); + // if (flagLoggingAnalog) sendLogData("log.analog.txt", "loganalog"); + // if (flagLoggingPh) sendLogData("log.ph.txt", "logph"); + // if (flagLoggingDallas) sendLogData("log.dallas.txt", "logdallas"); + // if (flagLoggingLevel) sendLogData("log.level.txt", "loglevel"); Serial.println("[V] Sending all date to iot manager completed"); @@ -241,7 +240,7 @@ void sendLogData(String file, String topic) { while (log_date.length() != 0) { String tmp = selectToMarker (log_date, "\n"); - //sendSTATUS(topic, selectFromMarkerToMarker(tmp, " ", 2)); + sendSTATUS(topic, selectFromMarkerToMarker(tmp, " ", 2)); if (tmp != "") sendSTATUS(topic, tmp); log_date = deleteBeforeDelimiter(log_date, "\n"); diff --git a/pictures/1.png b/pictures/1.png new file mode 100644 index 00000000..ba8205a6 Binary files /dev/null and b/pictures/1.png differ diff --git a/set.h b/set.h index a69e7b6d..517f74b4 100644 --- a/set.h +++ b/set.h @@ -52,6 +52,7 @@ ESP8266HTTPUpdateServer httpUpdater; #include #include //HTTPClient http; +#include #endif //==общие библиотеки и объекты==// @@ -108,8 +109,8 @@ Adafruit_Si7021 sensor_Si7021 = Adafruit_Si7021(); const char* hostName = "IoT Manager"; -String configSetup = "{}"; -String configJson = "{}"; +String configSetup = "{}"; //setup +String configJson = "{}"; //live String optionJson = "{}"; String json = "{}";