From 424cbe7024d10d92b69a873c0dcf4e2d9191366e Mon Sep 17 00:00:00 2001 From: nightflyer88 Date: Mon, 28 Jan 2019 22:01:49 +0100 Subject: [PATCH] small improvements --- CG_scale.ino | 112 +++++++++++++++++++++--------------------- data/settings.html.gz | Bin 2307 -> 2326 bytes settings_ESP8266.h | 8 +-- 3 files changed, 61 insertions(+), 59 deletions(-) diff --git a/CG_scale.ino b/CG_scale.ino index 13bcbb6..644d44a 100644 --- a/CG_scale.ino +++ b/CG_scale.ino @@ -4,7 +4,7 @@ (c) 2019 by M. Lehmann ------------------------------------------------------------------ */ -#define CGSCALE_VERSION "1.0.65" +#define CGSCALE_VERSION "1.0.66" /* ****************************************************************** @@ -379,12 +379,6 @@ void setup() { curModelName[0] = '\0'; } - // Start by connecting to a WiFi network - WiFi.mode(WIFI_STA); - WiFi.begin(ssid_STA, password_STA); - - long timeoutWiFi = millis(); - #endif // init OLED display @@ -406,22 +400,18 @@ void setup() { // init & tare Loadcells LoadCell_1.begin(); - //LoadCell_1.start(STABILISINGTIME); LoadCell_1.setCalFactor(calFactorLoadcell1); LoadCell_2.begin(); - //LoadCell_2.start(STABILISINGTIME); LoadCell_2.setCalFactor(calFactorLoadcell2); if (nLoadcells > 2) { LoadCell_3.begin(); - //LoadCell_3.start(STABILISINGTIME); LoadCell_3.setCalFactor(calFactorLoadcell3); } // stabilize scale values - long stabilisingtime = millis() + STABILISINGTIME; - while(millis() < stabilisingtime) { + while(millis() < STABILISINGTIME) { LoadCell_1.update(); LoadCell_2.update(); if (nLoadcells > 2) { @@ -439,6 +429,14 @@ void setup() { #if defined(ESP8266) + + // Start by connecting to a WiFi network + WiFi.mode(WIFI_STA); + WiFi.begin(ssid_STA, password_STA); + + long timeoutWiFi = millis(); + bool wifiSTAmode = true; + while (WiFi.status() != WL_CONNECTED) { delay(500); if (WiFi.status() == WL_NO_SSID_AVAIL) { @@ -450,43 +448,54 @@ void setup() { } } - if (WiFi.status() == WL_CONNECTED) { - // if connected, print status - oledDisplay.firstPage(); - do { - oledDisplay.setFont(u8g2_font_5x7_tr); - oledDisplay.setCursor(0, 7); - oledDisplay.print(F("Connected to WiFi:")); - oledDisplay.setCursor(0, 43); - oledDisplay.print(F("IP address:")); - - oledDisplay.setFont(u8g2_font_helvR12_tr); - oledDisplay.setCursor(0, 28); - oledDisplay.print(ssid_STA); - oledDisplay.setCursor(0, 64); - oledDisplay.print(WiFi.localIP()); - } while ( oledDisplay.nextPage() ); - delay(2000); - } else { + if (WiFi.status() != WL_CONNECTED) { // if WiFi not connected, switch to access point mode WiFi.mode(WIFI_AP); WiFi.softAPConfig(apIP, apIP, IPAddress(255, 255, 255, 0)); WiFi.softAP(ssid_AP, password_AP); + wifiSTAmode = false; } // init mDNS - String hostName = ssid_AP; + String hostName = "disabled"; +#if ENABLE_MDNS + hostName = ssid_AP; hostName.replace(" ", ""); hostName.toLowerCase(); char hostString[32]; hostName.toCharArray(hostString, 32); MDNS.begin(hostString); + hostName += ".local"; +#endif - // init webserver - server.begin(); + // print wifi status + oledDisplay.firstPage(); + do { + oledDisplay.setFont(u8g2_font_5x7_tr); + oledDisplay.setCursor(0, 14); + oledDisplay.print(F("WiFi:")); + oledDisplay.setCursor(0, 39); + oledDisplay.print(F("Host:")); + oledDisplay.setCursor(0, 64); + oledDisplay.print(F("IP:")); - // Add service to MDNS-SD - MDNS.addService("http", "tcp", 80); + oledDisplay.setFont(u8g2_font_helvR10_tr); + oledDisplay.setCursor(28, 14); + if(wifiSTAmode){ + oledDisplay.print(ssid_STA); + }else{ + oledDisplay.print(ssid_AP); + } + oledDisplay.setCursor(28, 39); + oledDisplay.print(hostName); + oledDisplay.setCursor(28, 64); + if(wifiSTAmode){ + oledDisplay.print(WiFi.localIP()); + }else{ + oledDisplay.print(WiFi.softAPIP()); + } + } while ( oledDisplay.nextPage() ); + delay(3000); // When the client requests data server.on("/getHead", getHead); @@ -512,27 +521,14 @@ void setup() { server.send(404, "text/plain", "404: Not Found"); }); -Serial.println("Sending mDNS query"); -int n = MDNS.queryService("esp", "tcp"); // Send out query for esp tcp services -Serial.println("mDNS query done"); -if (n == 0) { - Serial.println("no services found"); -} else { - Serial.print(n); - Serial.println(" service(s) found"); - for (int i = 0; i < n; ++i) { - // Print details for each service found - Serial.print(i + 1); - Serial.print(": "); - Serial.print(MDNS.hostname(i)); - Serial.print(" ("); - Serial.print(MDNS.IP(i)); - Serial.print(":"); - Serial.print(MDNS.port(i)); - Serial.println(")"); - } -} -Serial.println(); + // init webserver + server.begin(); + +#if ENABLE_MDNS + // Add service to MDNS-SD + MDNS.addService("http", "tcp", 80); +#endif + #endif } @@ -964,7 +960,11 @@ void loop() { } #if defined(ESP8266) + +#if ENABLE_MDNS MDNS.update(); +#endif + server.handleClient(); #endif diff --git a/data/settings.html.gz b/data/settings.html.gz index 4eaa8493a8a44fc41d467f675ca04bd9d6ad1ee7..097ef8f89733e5bcfd5837e1efb287ae11f92259 100755 GIT binary patch literal 2326 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 diff --git a/settings_ESP8266.h b/settings_ESP8266.h index d546d88..0214b68 100644 --- a/settings_ESP8266.h +++ b/settings_ESP8266.h @@ -51,8 +51,8 @@ CG scale with 3 Loadcells: #define PIN_LOADCELL2_DOUT D2 #define PIN_LOADCELL2_PD_SCK D1 -#define PIN_LOADCELL3_DOUT D0 -#define PIN_LOADCELL3_PD_SCK D7 +#define PIN_LOADCELL3_DOUT D7 +#define PIN_LOADCELL3_PD_SCK D0 @@ -130,13 +130,15 @@ U8G2_SH1106_128X64_NONAME_1_HW_I2C oledDisplay(U8G2_R0, /* reset=*/ U8X8_PIN_NON // Station mode: connect to available network #define SSID_STA "myWiFi" #define PASSWORD_STA "" -#define TIMEOUT_CONNECT 12000 //ms +#define TIMEOUT_CONNECT 15000 //ms // Access point mode: create own network #define SSID_AP "CG scale" #define PASSWORD_AP "" const char ip[4] = {1,2,3,4}; // default IP address +#define ENABLE_MDNS false // experimental (speed is slow): Enable mDNS to reach the webpage with hostname.local + // **** Model memory settings ****