From 0413f083d3da9d613f75f49ff81dbc535bc70e60 Mon Sep 17 00:00:00 2001 From: nightflyer88 Date: Sun, 31 Mar 2019 12:58:54 +0200 Subject: [PATCH] V1.2.1 --- CG_scale.ino | 86 ++++++++++++++++++++++++++------------------ data/models.html.gz | Bin 2008 -> 1987 bytes settings_ESP8266.h | 2 +- 3 files changed, 53 insertions(+), 35 deletions(-) diff --git a/CG_scale.ino b/CG_scale.ino index f8d6b35..4caa692 100644 --- a/CG_scale.ino +++ b/CG_scale.ino @@ -4,11 +4,14 @@ (c) 2019 by M. Lehmann ------------------------------------------------------------------ */ -#define CGSCALE_VERSION "1.2" +#define CGSCALE_VERSION "1.2.1" /* ****************************************************************** history: + V1.2.1 31.03.19 small bug fixed + values in model database are rounded + mDNS and OTA did not work in AP mode V1.2 23.02.19 Add OTA (over the air update) mDNS default enabled add percentlists for many battery types @@ -360,6 +363,24 @@ void setup() { #if defined(ESP8266) + // Set Hostname + String hostname = "disabled"; +#if ENABLE_MDNS + hostname = ssid_AP; + hostname.replace(" ", ""); + hostname.toLowerCase(); + if (!MDNS.begin(hostname, WiFi.localIP())) { + hostname = "mDNS failed"; + }else{ + hostname += ".local"; + } +#endif + wifiMsg += TimeToString(millis()); + wifiMsg += " Hostname: "; + wifiMsg += hostname; + wifiMsg += "\n"; + + // Start by connecting to a WiFi network WiFi.mode(WIFI_STA); WiFi.begin(ssid_STA, password_STA); @@ -407,22 +428,6 @@ void setup() { wifiMsg += WiFi.localIP().toString(); } - // init mDNS - 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 - wifiMsg += "\n"; - wifiMsg += TimeToString(millis()); - wifiMsg += " Hostname: "; - wifiMsg += hostName; - // print wifi status oledDisplay.firstPage(); do { @@ -442,7 +447,7 @@ void setup() { oledDisplay.print(ssid_AP); } oledDisplay.setCursor(28, 39); - oledDisplay.print(hostName); + oledDisplay.print(hostname); oledDisplay.setCursor(28, 64); if (wifiSTAmode) { oledDisplay.print(WiFi.localIP()); @@ -521,11 +526,6 @@ void setup() { ArduinoOTA.begin(); -#if ENABLE_MDNS - // Add service to MDNS-SD - MDNS.addService("http", "tcp", 8080); -#endif - #endif } @@ -538,7 +538,7 @@ void loop() { #if ENABLE_MDNS MDNS.update(); #endif - + ArduinoOTA.handle(); server.handleClient(); #endif @@ -967,14 +967,16 @@ void loop() { Serial.println("\n\n********************************************\nWiFi network information\n"); Serial.println("# Startup log:"); Serial.println(wifiMsg); - Serial.println("# end of log"); + Serial.println("# end of log\n"); + Serial.println("# Current WiFi status:"); + WiFi.printDiag(Serial); if (wifiSTAmode == false) { - Serial.print("\nConnected clients: "); + Serial.print("Connected clients: "); Serial.println(WiFi.softAPgetStationNum()); } - Serial.println("\nAvailable WiFi networks:"); + Serial.println("\n# Available WiFi networks:"); int wifiCnt = WiFi.scanNetworks(); if (wifiCnt == 0) { Serial.println("no networks found"); @@ -1153,13 +1155,20 @@ void getParameter() { // send available WiFi networks to client void getWiFiNetworks() { + bool ssidSTAavailable = false; String response = ""; int n = WiFi.scanNetworks(); + if (n > 0) { for (int i = 0; i < n; ++i) { response += WiFi.SSID(i); + if(WiFi.SSID(i) == ssid_STA) ssidSTAavailable = true; if (i < n - 1) response += "&"; } + if(!ssidSTAavailable){ + response += "&"; + response += ssid_STA; + } } server.send(200, "text/html", response); } @@ -1203,9 +1212,6 @@ void saveParameter() { EEPROM.put(P_PASSWORD_AP, password_AP); EEPROM.commit(); - // save current model to json - saveModelJson(curModelName); - server.send(200, "text/plain", "saved"); } @@ -1228,7 +1234,7 @@ void runTare() { } -// save new model +// save model void saveModel() { if (server.hasArg("modelname")) { if (saveModelJson(server.arg("modelname"))) { @@ -1458,9 +1464,21 @@ bool deleteModelJson(String modelName) { } void writeModelData(JsonObject& object) { - object["wt"] = weightTotal; - object["cg"] = CG_length; - object["cglr"] = CG_trans; + char buff[8]; + String stringBuff; + + dtostrf(weightTotal, 5, 1, buff); + stringBuff = buff; + stringBuff.trim(); + object["wt"] = stringBuff; + dtostrf(CG_length, 5, 1, buff); + stringBuff = buff; + stringBuff.trim(); + object["cg"] = stringBuff; + dtostrf(CG_trans, 5, 1, buff); + stringBuff = buff; + stringBuff.trim(); + object["cglr"] = stringBuff; object["x1"] = distance[X1]; object["x2"] = distance[X2]; object["x3"] = distance[X3]; diff --git a/data/models.html.gz b/data/models.html.gz index 2c675097761d463aa9b5c7622061bca765aa15a6..64bef483e1b6011d49f937522681f63743029377 100755 GIT binary patch literal 1987 zcmV;!2R!&6iwFpXmX=%s18r|)Wo&aUXmo9C0PR|BZ`(K${@!1~@)os?tz{?8;qDUK zi)-3TZ_%_xTiorUEf%yy+uTy5mZa=>i~RSSpO!jTaBp)9=Bz9qh`q+26KND`ObdBhU z+t7%_39Ty9YY18D7TQ#3E(7wMFJh)tLG6T-d~$w4yaHspCL5a3Ap4q8N>Ga|44;kZ zV5+sV&afnig$hDzDKT7*sda0~?SgYx$j>w-)`WX(zgjvO4Kji{>R*3Lxmoug1&@NG zz)BIfb7e31ESVwa7r($j%KowxR!qUNF>xm4XIn&JYA$ue@98|RqL@2%@KV3e5=3MeR>+JTeQz;u*Ha2D~ zZyexrj_%wQbk@qhWHLn)x8(#jk-~N91KMk5k93&EfZqV7;Hl);e7yd5)TP#ni1q@Z z6gSV_UOor$ewcT|4}U;fIQMJdKipVcS#@%c8{}T!Ywx+Phd{zrmtH)5OCJ)N!wZ^- z(+1F3uA(ZSu4`fXiWva3jHvk9zCWly5dt4sAf!B-aN#07V;bn_2ZkDFMCKQ4Z` z)q=&Au=xD7(JP3DI(20{tmewy=icF{ooPe5Sgb%Hc$A5AIe=%~i&C;|4 zUs!qk(`PBzX5e+3yZt(W3|I~G2e=ydGSfnr&L|Q~5=v(6m`zh95xw~m!QUIkWt^H zGAIja>CaO-!h~b!CguUxO9h5a7jzf$`)iI&_ zz}jb!A(x!q8mBcC1!{APym~S`X+U&iewwoIBOv&&^fVYig>RsUd!b2|Mu}xh9+CTX z*50}v%0$8*6_EJ3SCc`2cM`pg++rmGsNGE=K&M(NjI6j=g8(SO!BDdr-m#x^_37XVXLa*7K+#N4M2l~Cz(T@Gf#%T}c zi4ic{Yu}c0aCosz+6Q13ePZqw8eEWQ>nQB4!fenul};qgIFC+PJ&v_R-!QdK$9>Ef zBzFD3*2OxZlGNoUAt9|{?t7wqPJH*jJY|+1kpf$F(j}X6Strqdpm+|uC35l_a;P?( zAW;wmqk$*9G1hN?-@TYEp6|MyV9%@$?BG?mlND2)hm~TAe5w!fP$YQ$@}u4Fe4Wz^ zmJDV-zpUxJe-CmKoj@s2FQnj7{L1a96T}dVx{GPst@!#NXlb=QAlC<&Vza~fn^EBz7@ZN29S+Mp+E1Kbi*DL%}4*J z{C$D+Nq(1mN;c)o&Mog`7!1o=CYOc7D+fPG!ygRFzXF_9yDHbNTm8kQ*4cJl=$8w) V!xx26BjO)V{s(1@-i?SN00904?h*h1 literal 2008 zcmV;}2PgO+iwFpj&`4YW18r|)Wo&aUXmo9C0PR|BkK4Er{(irLVGps5i)HU-TeQ2j z56vb`ddMb067&U0aG)jH=7l14B(>hXL;ibbs25AJr1du06a~UBmZ+KG%<$pNko4@{ zkxZ@Ulq-rIoJEW82(($u9V6j}8OzN^09w;K!g%bFgdm%lYD;kfY^-@>f_ky@k+S4(k-GR zZbKsyC$y?aZy{u<+h|jvxd_N}zKNMq1+^1S^2Pa6;uRpvYqF!6O|q{Ur3AIe#_-jg zPL^6b>kLbRSg0VhmJ-9|oLYA+x!rK?3i+9)#F}uA?H5ZIvq?tKM*YjLDL2>Shrz?( zD6mq*{ao1#wo7Kn`O}|aAZ35P6jm(3vN>@kqa49f(kTOa687{F!sf>#TD)I;+v=w1HLzq+MIb90xF|HEK`{ z)*J+zSPk7q*ub;BK{hg6{fG40YE!$zG3yNV->V6Ac*GCW7?xDww6G(V$$;NA@;#mv_?G3 z6gm3Sor1Om+m}GD*WUhL!`3Scc@Bp9>CMX*L4tL{K9V~igxrp0Fz5_avG-CJ3c-kd zOy!{J!D3HXeE!<#EyP2ex-uSCb7iv~h&F61ZO9Od6)1$f+eYMurLDKPp3y}RpDj1; zwca)X&}0g^EY<|@=X~eTIh-EA`A;s^8@JDUbO0|DR(pKMJ$!|xwcLaL>1WAQtTCZ8 z-y!FRVA~V!G9|k>!*y?@Yr~n30sSGba89_EX5T#zd)!myev~=~QDcw)cl&h$8L%4W4{$Z^WtN35gIOdlNhq1MbGmeDyf!*bprpS)t2!C~}>`?)UpIZ*0UKx5@${|0H%2HZlbew=muOw&SY;X)WzDn{$9?Yjr z>%@u-cQWpw!`d?MZ7Z*uV{Ti0WqN&n1%^%Pkl{EWNNN^!6$oDrp4f6|U1V;D60iqa ze)JmvSMz2SW+gO!Eaz}e$qzeJv|_I+u8F_;;4Ns}C4h2}h9|y3D)ZglLJH^M4iHsN z@7F_AH9y}1Q|Q7_tCcYEkUrMrTBl^olp{{(B2P(8b9kmd(ou_(zd`Y{pqP34F5+7S z8eb8QdaJxQS3>ep`Mu(htx!M|6yBdBVOt8%PNmB;>e(c_JeVzYbe$hrD^?ca@VEpZ zWhb^2`MckHJRr^!`^$a2T}-NF-vn7ID=T6L zx!D8^DDJ_SKT<+f@R9B3-cFCEbscBfVO-AYU#MRN`59b8FSolUtoNG^ zv)zW+P~#MaTG9pX=w}nRIgC0#n0mMVa5&HTQ}Qm34`=Yk7Ds@{E&0l2EB1DR7VVVK zYnqeW@FH}e-zy#c*spAy_F$eE0keJWpXC}HUTl;00hmRfn7fSz7bMy`3VW+C8#GR( z6A3fUqZ3w-V?EI~Os&)L81n^*-T04fu}-KYb-77MNL!f4o+zIa-~BgFnWaahz^69p zk}bJxljuKCJcq4`T)c)HstqSd6a>L+;t6kz_4V(~i`k-mKO6*mW({BmuZDxHm>N8& z6jS8)_8<>Mg4ZuU+Wp?wIiui`!OZ8EHG}u>L2jZGC9=TqqhnF)F?i71wkiH02?R0$+>{BP8}w~;$WI~K!m1V!`FUn+lJAY+o><(`sV`O>)MT}*>%Sq2~i+Au2$p+>|%p8N;AF!cP0A^-qGpW?Fs diff --git a/settings_ESP8266.h b/settings_ESP8266.h index f301518..1c799dd 100644 --- a/settings_ESP8266.h +++ b/settings_ESP8266.h @@ -134,7 +134,7 @@ 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 30000 //ms +#define TIMEOUT_CONNECT 25000 //ms // Access point mode: create own network #define SSID_AP "CG scale"