From ef92865886eb499aae68e1b05fd63aa269646ef9 Mon Sep 17 00:00:00 2001 From: Dmitry Borisenko <49808844+DmitryBorisenko33@users.noreply.github.com> Date: Fri, 20 Mar 2020 21:00:11 +0100 Subject: [PATCH] some fix --- Init.ino | 2 +- WiFi.ino | 46 +++++++++++++++++ ...2-esp8266_iot-manager_modules_firmware.ino | 8 +-- main.ino | 48 +++++++++++++++++- mqtt.ino | 13 +++-- pictures/1.png | Bin 0 -> 2779 bytes set.h | 5 +- 7 files changed, 107 insertions(+), 15 deletions(-) create mode 100644 pictures/1.png 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 0000000000000000000000000000000000000000..ba8205a66a620988aaa6cbeea0403cc1371ec047 GIT binary patch literal 2779 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 #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 = "{}";