ESP32 WebServerModular
|
05.03.2020, 16:38
(Dieser Beitrag wurde zuletzt bearbeitet: 05.03.2020 16:43 von db91595.)
Beitrag #1
|
|||
|
|||
ESP32 WebServerModular
Hi Fips,
ich habe deinen WebServerModular etwas erweitert. (Modul: SqlConnect) Ich möchte 1x/min einen stamp in meiner MySql-DB (WS lebt: letzter Eintrag). Dabei ist mir aufgefallen - ab SqlUpdate() dauert es ca. 2 sec, davon ca. 0,1 sec für das eigentliche schreiben in SqlServer. Kannst du da mal einen Blick drauf werfen? Braucht er die Zeit für "if (conn.connect(sql_server_ip, 3306, sqlUser, sqlPassword))"? Lässt sich da noch etwas optimieren um Zeit zu sparen? WebServermodular Code: // **************************************************************** SqlConnect Code: //SqlConnect.ino SerialMonitor Code: 16:24:56.250 -> SQL-Server: 192.168.101.2 Disconnected. Frage am Rande: funktioniert hier im Forum @Fips (User "anpingen") ? ESP32 Anfänger mit Migrations-Hintergrund (komme von RasPi & Python) ![]() Gruß aus Franken Dietmar |
|||
05.03.2020, 16:54
Beitrag #2
|
|||
|
|||
RE: ESP32 WebServerModular
Hänge mal vor if (conn.connect(sql_server_ip, 3306, sqlUser, sqlPassword)) noch eine Ausgabe rein, damit Du die reine SQL-Verbindungszeit hast.
Gruß Tommy "Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt) |
|||
05.03.2020, 16:55
Beitrag #3
|
|||
|
|||
RE: ESP32 WebServerModular
(05.03.2020 16:54)Tommy56 schrieb: Hänge mal vor if (conn.connect(sql_server_ip, 3306, sqlUser, sqlPassword)) noch eine Ausgabe rein, damit Du die reine SQL-Verbindungszeit hast. mach ich, DANKE ESP32 Anfänger mit Migrations-Hintergrund (komme von RasPi & Python) ![]() Gruß aus Franken Dietmar |
|||
05.03.2020, 17:06
Beitrag #4
|
|||
|
|||
RE: ESP32 WebServerModular
Code: void SqlUpdate() SerialMonitor Code: 17:00:54.023 -> Begin void SqlUpdate Ups! Sehe ich das richtig - von 17:00:54.023 -> Begin if conn.connect - bis 17:00:56.179 -> Connected to server version 5.7.29-0ubuntu0.18.04.1 = ca. 2sec? Dann geht die Zeit wohl für das Palaver ESP <-> SQL drauf. ESP32 Anfänger mit Migrations-Hintergrund (komme von RasPi & Python) ![]() Gruß aus Franken Dietmar |
|||
05.03.2020, 17:14
(Dieser Beitrag wurde zuletzt bearbeitet: 05.03.2020 17:16 von Tommy56.)
Beitrag #5
|
|||
|
|||
RE: ESP32 WebServerModular
Da ist wohl Dein SQL-Server nicht der schnellste, das Connect dauert ja immer am längsten. Deshalb läßt man in der Praxis auch die Connections offen und testet sie nur. z.B. mit SELECT 1 FROM dual;
Dual ist eine Systemtabelle mit genau 1 Satz. Also auf conn den Select absetzen, wenn keine Antwort kommt oder ein Fehlercode, dann neu connecten, sonst das Update hinterher. Da musst Du natürlich den Returncode von execute auswerten. Gruß Tommy "Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt) |
|||
05.03.2020, 17:36
Beitrag #6
|
|||
|
|||
RE: ESP32 WebServerModular
Danke Tommy.
Wieder a weng Hirnfutter. Mal schauen wie ich das umsetze. Das "conn.close();" hatte in einem anderen Sketch seine Berechtigung. Ich schau mal ob ich ohne auskomme. Es "geht doch nicht" das da alle Minute eine 2sec-Lücke ist ![]() ESP32 Anfänger mit Migrations-Hintergrund (komme von RasPi & Python) ![]() Gruß aus Franken Dietmar |
|||
05.03.2020, 17:43
Beitrag #7
|
|||
|
|||
RE: ESP32 WebServerModular
Wieso ist eine Lücke, wenn Du aller Minuten sendest? Da hast Du doch genug Zeit.
Da würde ich die bestehende Version beibehalten. Selbst ein Heartbeat von 2-5 Minuten ist für einen normalen Server ausreichend. In der Version mit neuem Connect ist das conn.close() richtig. Gruß Tommy "Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt) |
|||
05.03.2020, 18:21
Beitrag #8
|
|||
|
|||
RE: ESP32 WebServerModular
ach Tommy (seufz)
das war doch Ironie. "Connected to server version 5.7.29-0ubuntu0.18.04.1" Der SQL läuft seit ca. 1..2 Jahren (PC mit Ubuntu 18 neu installiert) Da ich ziemlich regelmäßig "apt update && apt upgrade" mache sollte der MySql mit upgedatet werden (Theorie). Da werde ich mich mal "schlau" machen. Zumindest habe ich durch dich die Ursache heraus gefunden! Ich kann mit der aktuellen Version leben. Vlt. mache ich auch nur alle 2min einen Eintrag. Auf meinem "Sensor-Moni" läuft die SqlAbfrage "wert = stampWS74" Dann ein Vergleich "if wert älter 120sec" if true Darstellung ist rot if false Darstellung ist normal Wenn der WebServer mit 2sec Pause keinen Schluckauf bekommt ... Trotzdem werde ich mich mit deiner Anregung auseinander setzen. (Man kann nicht "zuviel" lernen) ![]() ![]() ![]() ESP32 Anfänger mit Migrations-Hintergrund (komme von RasPi & Python) ![]() Gruß aus Franken Dietmar |
|||
|
|
Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste