Bester Weg um Sensordaten zu speichern und auszuwerten
|
05.01.2021, 21:24
(Dieser Beitrag wurde zuletzt bearbeitet: 05.01.2021 21:24 von Fips.)
Beitrag #33
|
|||
|
|||
RE: Bester Weg um Sensordaten zu speichern und auszuwerten
(05.01.2021 21:10)basementmedia schrieb: Mein nächster Step wird sein, die ausgelesenen Daten in ein JSON-Objekt zu konvertieren und dann als Rückgabe an die ajax-funktion schicken, die dann eine Tabelle daraus bastelt...ist das schlau oder doof? Die Fetch Api ist viel besser für Json, als das olle XMLHttpRequest. Gruß Fips Meine Esp8266 & ESP32 Projekte |
|||
05.01.2021, 21:59
Beitrag #34
|
|||
|
|||
RE: Bester Weg um Sensordaten zu speichern und auszuwerten
Da hat Fips mich auch davon überzeugt
![]() Gruß Tommy "Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt) |
|||
05.01.2021, 22:21
(Dieser Beitrag wurde zuletzt bearbeitet: 05.01.2021 22:22 von basementmedia.)
Beitrag #35
|
|||
|
|||
RE: Bester Weg um Sensordaten zu speichern und auszuwerten
(05.01.2021 21:59)Tommy56 schrieb: Da hat Fips mich auch davon überzeugt OK, ich werd mir die Fetch API library anschauen (05.01.2021 21:59)Tommy56 schrieb: Und nimm für die JSON-Erstellung keine Lib, das kann man problemlos händisch machen. Zu spät ;-) Code: messungenFile = SD.open(FILE_NAME, FILE_READ); Funktioniert prima. Gibts ein Argument, trotzdem keine Library zu verwenden? Was wäre die händische Lösung? Mein erster Ansatz war der hier (aber da hats mir irgendwelche komischen Zeichen dazugepackt: Code: int buflen=messungenFile.size(); Lag ich mit der Variante schon an deiner Lösung Tommy? Edit: Wobei ich gerade sehe, dass der buffer-char übergelaufen wäre... |
|||
06.01.2021, 10:19
Beitrag #36
|
|||
|
|||
RE: Bester Weg um Sensordaten zu speichern und auszuwerten
(05.01.2021 22:21)basementmedia schrieb: Gibts ein Argument, trotzdem keine Library zu verwenden? Speicherplatz! Zum parsen von tief verschachtelten Json aus Objekten von Objekten mit Arrays würde ich zur Lib greifen. Ein Json, ist zusammengeschraubt auch nur ein ASCII String. Für einen String mit ein paar Klammern braucht man keine Lib. Da ersetzt eine For Schleife schnell eine umfangreiche Lib. Gruß Fips Meine Esp8266 & ESP32 Projekte |
|||
06.01.2021, 10:55
Beitrag #37
|
|||
|
|||
RE: Bester Weg um Sensordaten zu speichern und auszuwerten
[quote='basementmedia' pid='80452' dateline='1609881660']
Lag ich mit der Variante schon an deiner Lösung Tommy? [quote] Nein. Immer 1 Satz ins Struct lesen, verarbeiten, nächsten Satz ins Struct lesen. Für ein Array aus allen Sätzen hast Du wahrscheinlich eim Endeffekt keinen Platz. Evtl. musst Du auch das erzeugte JSON splitten. Gruß Tommy "Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt) |
|||
06.01.2021, 21:09
Beitrag #38
|
|||
|
|||
RE: Bester Weg um Sensordaten zu speichern und auszuwerten
Das mit der Fetch Api und der manuellen JSON-Lösung werd ich auf jeden Fall als nächstes angehen.
Aber ich hab noch ein anderes "Problem": Bei dem Code hier: Code: messungenFile = SD.open(FILE_NAME, FILE_READ); Bricht er mir nach ca. 35 Zeilen der While-Schleife ab mit einem Fehler: Code: --------------- CUT HERE FOR EXCEPTION DECODER --------------- D.h. ich komm aus der While-Schleife gar nicht mehr heile raus. Wahrscheinlich liegts daran, dass der Loop zu lange dauert, oder? Ich hab schon versucht, nach jedem Durchlauf des while-loops ein yield(); einzubauen...und delay(0); Beides hat nicht zum Erfolg geführt. Habt ihr ne Idee? Muss ich da irgendeine Scheduler-Library nutzen? Im Prinzip will ich eben den gesamten Inhalt der messungen.bin Datei (zur Not auch scheibchenweise, wie Tommy meinte) in einer HTML Tabelle darstellen. Grüßle Daniel |
|||
06.01.2021, 21:27
Beitrag #39
|
|||
|
|||
RE: Bester Weg um Sensordaten zu speichern und auszuwerten
Also bei yield() nach i++ sollte er nicht abbrechen.
Du bleibst also bei der Array-Variante? Gruß Tommy "Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt) |
|||
06.01.2021, 21:53
Beitrag #40
|
|||
|
|||
![]() (06.01.2021 21:27)Tommy56 schrieb: Also bei yield() nach i++ sollte er nicht abbrechen. Ein yield() allein reicht nicht, hab ich probiert. Aber ich hab jetzt rausgefunden, dass der While-Loop problemlos durchläuft, wenn ich das Erzeugen des Arrays weglasse. D.h. das hier funktioniert: Code: void update_auswertung() { Aber sobald ich den Array in der Schleife aufbaue, bricht er ab... D.h. du meinst, wenn ich den JSON-String manuell (also ohne die Library) zusammenbau, wirds besser laufen? Aber am Ende muss ich doch da auch einen Mega-Char-Array aufbauen, der dann per server.send an die Server-Datei geschickt wird, oder? Zeilenweise verschicken funktioniert ja nicht, weil meine Javascript Ajax-Funktion ja "dicht" macht, sobald sie den Return (= erste Zeile) erhalten hat. Oder lieg ich da falsch? Du hattest ja geschrieben: "Immer 1 Satz ins Struct lesen, verarbeiten, nächsten Satz ins Struct lesen. Für ein Array aus allen Sätzen hast Du wahrscheinlich eim Endeffekt keinen Platz. Evtl. musst Du auch das erzeugte JSON splitten." Aber was genau meinst du mir "verarbeiten"? Du hast nicht zufälligerweise ein Beispiel-Sketch, wie man eine Binäre-Datei zeilenweise ausliest und händisch einen JSON-String erzeugt? Grüßle Daniel |
|||
|
|
Möglicherweise verwandte Themen... | |||||
Thema: | Verfasser | Antworten: | Ansichten: | Letzter Beitrag | |
ESP32: Binärdaten mit LittleFS speichern / Zerobytes in Strings | ultralex | 14 | 785 |
15.12.2020 14:00 Letzter Beitrag: Tommy56 |
|
Struct im Spiffs speichern | Sh0rn | 10 | 2.195 |
13.05.2020 06:42 Letzter Beitrag: Fips |
|
Sensordaten werden nicht richtig berechnet | laserdoktor | 3 | 1.138 |
05.03.2020 23:03 Letzter Beitrag: laserdoktor |
|
Daten vom Sensor in einer Text-Datei auf meinem Web-Host speichern. | Manny | 45 | 10.550 |
27.04.2019 07:24 Letzter Beitrag: Fips |
|
SPIFFS Messwerte speichern | uk1408 | 8 | 5.627 |
16.03.2019 13:14 Letzter Beitrag: uk1408 |
Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste