From c9121805e0bb93def3cf0d55ab689c2cf10f0ab3 Mon Sep 17 00:00:00 2001 From: Renzo Mischianti Date: Sat, 8 Jan 2022 18:52:24 +0100 Subject: [PATCH] StaticIP management and mDNS #5 - Polish language - minor fix --- MKS_WIFI_source.ino | 269 +++++++++++++++++++- MKS_WIFI_source.ino.nodemcu.bin | Bin 0 -> 388624 bytes PooledStrings.cpp | 5 + README.md | 5 +- data/bundle.min.js.gz | Bin 548133 -> 552289 bytes data/settings.js | 2 +- firmware_release/MksWifi.bin | Bin 382640 -> 384560 bytes firmware_release/MksWifi_WebView.bin | Bin 3121152 -> 3121152 bytes firmware_release/debug_cors/MksWifi.bin | Bin 384512 -> 388624 bytes firmware_release/wv/MksWifi_1.1.bin | Bin 0 -> 382640 bytes firmware_release/wv/MksWifi_WebView_1.2.bin | Bin 0 -> 3121152 bytes 11 files changed, 270 insertions(+), 11 deletions(-) create mode 100644 MKS_WIFI_source.ino.nodemcu.bin create mode 100644 firmware_release/wv/MksWifi_1.1.bin create mode 100644 firmware_release/wv/MksWifi_WebView_1.2.bin diff --git a/MKS_WIFI_source.ino b/MKS_WIFI_source.ino index 914c5af..3fb7e17 100644 --- a/MKS_WIFI_source.ino +++ b/MKS_WIFI_source.ino @@ -38,11 +38,11 @@ #include #endif -// #define ENABLE_CORS +#define ENABLE_CORS // #define EXTENDED_API -// #define MKSWIFI_DEBUG +#define MKSWIFI_DEBUG // Define where debug output will be printed. #define DEBUG_PRINTER Serial1 @@ -71,12 +71,12 @@ extern "C" { } -char* firmwareVersion = "MISCHIANTI_v1.1"; +char* firmwareVersion = "MISCHIANTI_v1.2"; char M3_TYPE = TFT28; -#define CONFIG_FILE_HEAP 512 +#define CONFIG_FILE_HEAP 1024 boolean GET_VERSION_OK = false; @@ -120,7 +120,7 @@ uint32_t ip_static, subnet_static, gateway_staic, dns_static; #define LIST_MIN_LEN_SAVE_FILE 100 #define LIST_MAX_LEN_SAVE_FILE (1024 * 100) -char ssid[32], pass[64], webhostname[64]; +char ssid[32], pass[64], webhostname[64] = {"beeprint"}; //IPAddress sessions[MAX_LOGGED_IN_CLIENTS]; uint8_t loggedInClientsNum = 0; //MDNSResponder mdns; @@ -518,6 +518,11 @@ void postConfigFile() { uint8_t readBuf[postLength]; DynamicJsonDocument doc(postLength); + DEBUG_PRINT(F("POST LENGHT: ")); + DEBUG_PRINTLN((long)postLength); + DEBUG_PRINT(F("FREE: ")); + DEBUG_PRINTLN(ESP.getMaxFreeBlockSize()); + if((postLength > sizeof(readBuf)) || (postLength <= 0)) { server.send(400, FPSTR(STR_MIME_TEXT_PLAIN), FPSTR("Bad Request")); @@ -639,6 +644,142 @@ void net_env_prepare() server.onNotFound(fsHandler); } +// DEBUG_PRINT(F("Read file: ")); +// if (SPIFFS.exists(F("/mc/config.txt"))){ +// +// +// File configFile = SPIFFS.open(F("/mc/config.txt"), "r"); +// if (configFile){ +// // while (configFile.available()) +// // { +// // Serial1.write(configFile.read()); +// // } +// // +// DEBUG_PRINTLN(F("done.")); +// DynamicJsonDocument doc(CONFIG_FILE_HEAP); +// ArduinoJson::DeserializationError error = deserializeJson(doc, configFile); +// // close the file: +// configFile.close(); +// +// if (error){ +// // if the file didn't open, print an error: +// DEBUG_PRINT(F("Error parsing JSON ")); +// DEBUG_PRINTLN(error.c_str()); +// +// }else{ +// JsonObject rootObj = doc.as(); +//// JsonObject preferences = rootObj[F("preferences")]; +//// bool isGTM = preferences.containsKey(F("GTM")); +//// if (isGTM){ +//// JsonObject GTM = preferences[F("GTM")]; +//// bool isValue = GTM.containsKey(F("value")); +//// if (isValue){ +//// int value = GTM[F("value")]; +//// +//// DEBUG_PRINT(F("Impostazione GTM+")) +//// DEBUG_PRINTLN(value) +//// +//// // timeClient.setTimeOffset(value*60*60); +//// timeOffset = value*60*60; +//// } +//// } +//// +//// bool isDST = preferences.containsKey(F("DST")); +//// if (isDST){ +//// JsonObject DST = preferences[F("DST")]; +//// bool isCode = DST.containsKey(F("code")); +//// if (isCode){ +//// const String code = DST[F("code")]; +//// // const String desc = DST[F("description")]; +//// +//// codeDST = code; +//// DEBUG_PRINT(F("Impostazione DST ")) +//// DEBUG_PRINTLN(code) +//// // DEBUG_PRINT(F("Description DST ")) +//// // DEBUG_PRINTLN(desc) +//// +//// // timeClient.setTimeOffset(value*60*60); +//// // timeOffset = value*60*60; +//// } +//// }else{ +//// codeDST = "GTM"; +//// } +// +// JsonObject serverConfig = rootObj[F("server")]; +// bool isStatic = serverConfig[F("isStatic")]; +// if (isStatic==true){ +// const char* address = serverConfig[F("address")]; +// const char* gatway = serverConfig[F("gatway")]; +// const char* netMask = serverConfig[F("netMask")]; +// +// const char* dns1 = serverConfig[F("dns1")]; +// const char* dns2 = serverConfig[F("dns2")]; +// +// const char* _hostname = serverConfig[F("hostname")]; +// //start-block2 +// IPAddress _ip; +// bool parseSuccess; +// parseSuccess = _ip.fromString(address); +// if (parseSuccess) { +// DEBUG_PRINTLN(F("Address correctly parsed!")); +// } +// +// IPAddress _gw; +// parseSuccess = _gw.fromString(gatway); +// if (parseSuccess) { +// DEBUG_PRINTLN(F("Gatway correctly parsed!")); +// } +// +// IPAddress _sn; +// parseSuccess = _sn.fromString(netMask); +// if (parseSuccess) { +// DEBUG_PRINTLN(F("Subnet correctly parsed!")); +// } +// +// IPAddress _dns1; +// IPAddress _dns2; +// bool isDNS = false; +// if (dns1 && sizeof(_dns1) > 7 && dns2 && sizeof(_dns2) > 7 ){ +// parseSuccess = _dns1.fromString(dns1); +// if (parseSuccess) { +// DEBUG_PRINTLN(F("DNS 1 correctly parsed!")); +// isDNS = true; +// } +// +// parseSuccess = _dns2.fromString(dns2); +// if (parseSuccess) { +// DEBUG_PRINTLN(F("DNS 2 correctly parsed!")); +// } +// //end-block2 +// } +// +// DEBUG_PRINT(F("Set static data...")); +// if (isDNS){ +// WiFi.config(_ip, _gw, _sn, _dns1, _dns2); +// }else{ +// WiFi.config(_ip, _gw, _sn); +// } +//// +// if (_hostname && sizeof(_hostname)>1){ +//// strcpy(hostname, _hostname); +// if (!MDNS.begin(_hostname)) { // Start the mDNS responder for esp8266.local +// DEBUG_PRINTLN(F("Error setting up MDNS responder!")); +// } +// DEBUG_PRINTLN(F("mDNS responder started")); +// +// } +// // IPAddress(85, 37, 17, 12), IPAddress(8, 8, 8, 8) +// // +// // emailSend.setEMailLogin("smtp.mischianti@gmail.com"); +// DEBUG_PRINTLN(F("done.")); +// } +// } +// } +// }else{ +// DEBUG_PRINTLN(F("File not found!")); +// } + + server.servePrinter(true); @@ -695,7 +836,7 @@ void net_env_prepare() webSocket.begin(); webSocket.onEvent(webSocketEvent); - node_monitor.begin(UDP_PORT); + node_monitor.begin(UDP_PORT); } @@ -3265,7 +3406,9 @@ bool TryToConnect() { EEPROM.get(BAK_ADDRESS_WIFI_MODE, wifi_mode); EEPROM.get(BAK_ADDRESS_WEB_HOST, webhostname); - //wifi_station_set_hostname(webhostname); // must do thia before calling WiFi.begin() + wifi_station_set_hostname(webhostname); // must do thia before calling WiFi.begin() + + } else @@ -3338,7 +3481,16 @@ bool TryToConnect() WiFi.begin(ssid, pass); + if(eeprom_valid[0] == 0x0a && webhostname && sizeof(webhostname)>1 && sizeof(webhostname)<50) + { + DEBUG_PRINT(F("mDNS hostname:")); + DEBUG_PRINTLN(webhostname); + if (!MDNS.begin(webhostname)) { // Start the mDNS responder for esp8266.local + DEBUG_PRINTLN(F("Error setting up MDNS responder!")); + } + DEBUG_PRINTLN(F("mDNS responder started")); + } while (WiFi.status() != WL_CONNECTED) { @@ -3439,7 +3591,9 @@ uint8_t refreshApWeb() wifiConfigHtml += F("

");wifiConfigHtml += F("
"); #endif wifiConfigHtml = F("MKS WIFI"); - wifiConfigHtml += F("

www.mischianti.org

MKS WIFI MISCHIANTI v0.1


Update

"); + wifiConfigHtml += F("

www.mischianti.org

MKS WIFI MISCHIANTI"); + wifiConfigHtml += firmwareVersion; + wifiConfigHtml += F("


Update

"); wifiConfigHtml += F("
wifi firmware:
"); wifiConfigHtml += F("
To upload Web part restore the original firmware, upload MksWifi_WebView than upload new firmware.
"); // wifiConfigHtml += F("
web view:
"); @@ -3466,6 +3620,103 @@ void onWifiConfig() server.send(200, FPSTR(STR_MIME_TEXT_HTML), wifiConfigHtml); }); + server.on("/get_cfg_ip", HTTP_GET, []() { + DEBUG_PRINTLN(F("get_cfg_ip")); + + setCrossOrigin(); + + uint8_t isStatic = 0; + if (manual_valid == 0xa) { + isStatic = 1; + } + return server.send(200, FPSTR("application/json"), ("{\"ip\":\""+(IPAddress(ip_static).isSet()?IPAddress(ip_static).toString():"")+"\",\"sm\":\""+(IPAddress(subnet_static).isSet()?IPAddress(subnet_static).toString():"")+"\",\"gw\":\""+(IPAddress(gateway_staic).isSet()?IPAddress(gateway_staic).toString():"")+"\",\"dns1\":\""+(IPAddress(dns_static).isSet()?IPAddress(dns_static).toString():"")+"\",\"isStatic\":"+String(isStatic)+",\"webhostname\":\""+webhostname+"\"}")); + }); + + + server.on("/update_cfg_ip", HTTP_GET, []() { + //Serial.printf("on http post\n"); + + DEBUG_PRINTLN(F("update_cfg_ip")); + + setCrossOrigin(); + + if (server.args() <= 0) + { + server.send(500, FPSTR(STR_MIME_TEXT_PLAIN), F("Got no data, go back and retry")); + return; + } + + IPAddress ip; + IPAddress sm; + IPAddress gw; + IPAddress dns1; + + uint8_t isStatic = 255; + for (uint8_t e = 0; e < server.args(); e++) { + String argument = server.arg(e); + urldecode(argument); + if (server.argName(e) == "ip") ip.fromString(argument); + else if (server.argName(e) == "sm") sm.fromString(argument); + else if (server.argName(e) == "gw") gw.fromString(argument); + else if (server.argName(e) == "dns1") dns1.fromString(argument); + else if (server.argName(e) == "isStatic") isStatic = argument.toInt(); // 0xff disabled 0xa enabled + else if (server.argName(e) == "webhostname") argument.toCharArray(webhostname, 64); + } + + + ip_static = ip.v4(); + subnet_static = sm.v4(); + gateway_staic = gw.v4(); + dns_static = dns1.v4(); + + if (isStatic==0) { + manual_valid = 0xff; + } else if (isStatic==1) { + manual_valid = 0xa; + if (!(ip.isSet() && sm.isSet() && gw.isSet() && dns1.isSet())) { + return server.send(400, FPSTR(STR_MIME_APPLICATION_JSON), F("{\"msg\":\"Configure unsuccessfully! Wrong address value.\",\"error\":true,\"status\":\"KO\"}")); + + } + } + + DEBUG_PRINT(F("ip"));DEBUG_PRINTLN(ip_static); + DEBUG_PRINT(F("sm"));DEBUG_PRINTLN(subnet_static); + DEBUG_PRINT(F("gw"));DEBUG_PRINTLN(gateway_staic); + DEBUG_PRINT(F("dns"));DEBUG_PRINTLN(dns_static); + + DEBUG_PRINT(F("manual_valid"));DEBUG_PRINTLN(manual_valid); + + if (manual_valid == 0xff || manual_valid == 0xa) { + //Serial.printf("on http post:ready eeprom\n"); + + // char valid[1] = {0x0a}; + + EEPROM.put(BAK_ADDRESS_MANUAL_IP, ip_static); + EEPROM.put(BAK_ADDRESS_MANUAL_MASK, subnet_static); + EEPROM.put(BAK_ADDRESS_MANUAL_GATEWAY, gateway_staic); + EEPROM.put(BAK_ADDRESS_MANUAL_DNS, dns_static); + EEPROM.put(BAK_ADDRESS_MANUAL_IP_FLAG, manual_valid); + EEPROM.put(BAK_ADDRESS_WEB_HOST, webhostname); + + EEPROM.commit(); + + // EEPROM.put(BAK_ADDRESS_MANUAL_IP_FLAG, 0xff); + // manual_valid = 0xff; + // + // EEPROM.commit(); + + + //Serial.printf("on http post:ready send to client\n"); + server.send(200, FPSTR(STR_MIME_APPLICATION_JSON), F("{\"msg\":\"Configure successfully! Use new IP to connect.\",\"error\":false,\"status\":\"OK\"}")); + + + //Serial.printf("on http post:after commit\n"); + delay(300); + ESP.restart(); + } else { + server.send(400, FPSTR(STR_MIME_APPLICATION_JSON), F("{\"msg\":\"Configure unsuccessfully! Wrong Manual Flag.\",\"error\":true,\"status\":\"KO\"}")); + } + }); server.on("/update_cfg", HTTP_GET, []() { //Serial.printf("on http post\n"); @@ -3482,7 +3733,7 @@ void onWifiConfig() else if (server.argName(e) == "ssid") argument.toCharArray(ssid, 32);//ssid = server.arg(e); else if (server.argName(e) == "hidden_ssid") argument.toCharArray(hidden_ssid, 32);//ssid = server.arg(e); else if (server.argName(e) == "wifi_mode") argument.toCharArray(wifi_mode, 15);//ssid = server.arg(e); - //else if (server.argName(e) == "webhostname") argument.toCharArray(webhostname, 64); +// else if (server.argName(e) == "webhostname") argument.toCharArray(webhostname, 64); } /*if(hidden_ssid[0] != 0) diff --git a/MKS_WIFI_source.ino.nodemcu.bin b/MKS_WIFI_source.ino.nodemcu.bin new file mode 100644 index 0000000000000000000000000000000000000000..dcdc4bff0fcfbb5728fe45d5b40283ddd803607a GIT binary patch literal 388624 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

;1|sVg)# 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