mein Programm nimmt endlich Form an, nur ist es mir jetzt noch zu langsam. Mich würden alle Tipps zur Beschleunigung sehr interessieren! Dazu hier das Prog: // Based on this library example: https://github.com/tobiasschuerg/InfluxDB-Clie - Pastebin.com Ich sende meine Daten an eine InfluxDB, ev wäre es geschickter die Daten alle 1 min an die Datenbank zu senden, oder von einem ESP auf einen anderen (per BLE) und von diesem dann an die Datenbank. Für derartige Tipps wäre ich auch sehr dankbar! Jetzt geht es mir allerdings erstmal um die maximale Geschwindigkleit des ESP32 Dev. Kann da jemand behilflich sein? Soweit ich das richtig verstanden habe muss ich zuerst UART aktivieren? Und die Arduino IDE ist glaub ich begrenzt? (Visual Studio auch?)
Hallo,
das halte ich für Unsinn. Wichtig ist doch jetzt erst mal heraus zu bekommen was Dir zu langsam ist und an was das dann liegen kann. Sicher nicht an der Seriellen Ausgabe in dem Sketch aus dem Link
Ich kann mir auch vorstellen das Cloud basierte Systeme von hause aus nicht besonders schnell sind. Aber was ist schnell ??
Ich hab mich noch nicht genauer eingelesen wie ich den Sketch umschreiben muss, damit er maximal schnell abgearbeitet wird. Bin die ganze Zeit bei dem Ermitteln der Peak Werte gehangen. Vermutlich muss ich jetzt erstmal den Takt maximal erhöhen und den 2ten Kern aktivieren? Ich suche gleich dazu. Am Ende soll so eine Kurve rauskommen:
Mein Signal sieht aber abgehakt aus, das scheint aber am Takt zu liegen, da ich nun einmal den Serial Plotter ausgelesen habe.
Hallo @ESCHICK schön das Du uns die Kurve zeigst , aber was steht an der x Achse Monate, Tage , Sekunden ?Welche Abtastrate soll das denn werden, d.h welche Zeit zwischen zwei Messwerten , Messrate strebst Du an.
man sollte Fragen auch beantworten , sonst gibt es schnell komische Antworten
Das ist eine Pulswelle. Der Puls liegt ja in der Regel so bei 80 "Wellen" pro Minute (bei 20 Werte pro Welle währen das grob überschlagen 160 Werte pro 60 Sek). Ich würde es zunächst gerne mit der maximal möglichen Geschwindigkeit versuchen, die über den ESP32 möglich ist.
Hallo,
also 60s/160 macht etwa 370ms. Das ist für den ESP noch keine Herausforderung. Da kannst Du schon jeden Messwert seriell ausgeben aber nicht nicht in der Cloud abspeichern.
Also wenn Du eine für die Serielle 115200 einstellst dann sind das etwa 11000 Zeichen/s . Bezogen auf Deine 370ms kannst Du sicher 50% für die Serielle opfern damit bekommst Du 5000 Zeichen raus ohne das da ein Engpass entsteht. Gib doch mal nur den Messwert auf die Serielle aus und nutze den Plotter in der IDE , lass den ganzen cloud Kram erst mal weg , denn da ist Dein Problem das bekommst Du nicht schneller.
besten Dank! Das hatte ich auch vermutet und du hast ganz recht, wenn ich den ESP über den Plotter auslese, dann ist das Signal okay. (Nicht optimal, aber das liegt ev noch an dem Signal selbst, mir scheint meine Lösung mit dem Peak min / max war nicht optimal).
Ich versuche jetzt mal das Signal sauber zu filtern und habe mir dazu folgende Filter rausgesucht:
//Zuerst würde ich mal den DC Wert abziehen (ich habe ein DC Signal das auf dem meinem AC draufliegt)//
Da muss ich noch herausfinden, wie ich den in meinen Sketch implementiere, ich würde auch gerne den gefilterten Wert in einer eigene Variablen speichern (als AC Wert und den gefilterten DC Wert als DC, die beiden Werte brauche ich später um was zu berechnen). Ich hoffe ich frag hier nicht zuviel im Forum.
Das mit dem direkten Senden an die InfluxDB scheint so nicht zu klappen, wie du auch angeführt hast (ich habe das leider schon vermutet), als Lösung denke ich daran den ESP mit dem PC oder Handy (oder Rasperry) zu verbinden und von dort dann die Daten weiter an die Cloud zu schicken, ev macht es Sinn die Wellenwerte für 1 Sekunde (oder mehr) zu sammeln und an die Datenbank gesammelt zu schicken, wobei ich da glaube ich eine MySQL oä brauche, da die Influx DB ja mWn nach einen Zeitstempel auf die Daten packt, das wird wohl mit gesammelten Werten nicht gehen?).