Seite 1 von 1

Daten durch SerialPort (Leider fällt mir nichts zum Betreff ein, sorry)

Verfasst: 11. Juni 2017 20:48
von monet123
Hallo zusammen,

hab ein kleines Prob.

Ich wollte gerne die Eingangsdaten eines Sensors durch Arduino anderes darstellen
als diese ankommen.

So sehe ich die Daten im Reiter von Qt "Ausgabe der Anwendung"

Code: Alles auswählen

u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u000016\r\n16\r\n15\r\n16\r\n15\r\n15\r\n15\r\n15\r\n1"
"\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u000016\r\n16\r\n15\r\n16\r\n15\r\n15\r\n15\r\n15\r\n16\r\n"
Das Programm ist abgestürzt.
Ich würde gerne die eingehenden Daten untereinander sehen.

Code: Alles auswählen

16
16
15
16
15
...
Damit habe ich es versucht aber das klappt leider nicht

Code: Alles auswählen

 QStringList bufferSplit = serialBuffer.split("");
       if(bufferSplit.length() < 2 )
        {
            serialData = arduino->readAll();
            serialBuffer += QString::fromStdString(serialData.toStdString());
        }else{
            qDebug() << bufferSplit;
          qDebug() << serialBuffer;
        }
Danke für eure Hilfe :)

Gruß monet

Re: Daten durch SerialPort (Leider fällt mir nichts zum Betreff ein, sorry)

Verfasst: 12. Juni 2017 20:00
von Christian81
Es sind Daten, keine Strings. Also würde ich es mal mit einem QByteArray probieren die Daten korrekt zu parsen. Binäre Daten als Strings zu behandeln kann definitiv nicht funktionieren.

Re: Daten durch SerialPort (Leider fällt mir nichts zum Betreff ein, sorry)

Verfasst: 12. Juni 2017 20:05
von monet123
Hi @Christian81. :)
Danke für deine Antwort! Werde es ausprobieren. Feedback wird kommen!!

Gruß monet

Re: Daten durch SerialPort (Leider fällt mir nichts zum Betreff ein, sorry)

Verfasst: 12. Juni 2017 21:00
von monet123
Hallo!

Habe mal folgendes versucht...

Code: Alles auswählen

    serialData = arduino->readAll();//QByteArray serialData;
    QString string = QString::fromUtf8(serialData,2);
    qDebug() << string.trimmed();
Was ich nun zu sehen bekommen ist das

Code: Alles auswählen

"17"
""
"1\u0000"
"6"
"17"
"\u0000"
"16"
""
"17"
"16"
"\u0000"
"1\u0000"



hmmm... komme da nicht weiter :cry: könnte mir vielleicht jemand einen Tipp geben???

Danke!!!

Re: Daten durch SerialPort (Leider fällt mir nichts zum Betreff ein, sorry)

Verfasst: 13. Juni 2017 17:45
von Christian81
Nochmal: Wenn Du binäre Daten als String interpretierst kann das nichts werden... Du muss sie als binäre Daten im QByteArray verarbeiten

Re: Daten durch SerialPort (Leider fällt mir nichts zum Betreff ein, sorry)

Verfasst: 14. Juni 2017 20:50
von monet123
Hallo QChristian81,

danke nochmal für deine Mühe!

Das habe ich im Video nachgebaut und es hat alles funktioniert!!
Ich kann die Daten auch in Qt empfangen und problemlos widergeben.

https://www.youtube.com/watch?v=AX-HhBXBzGg

Was ich nicht verstehe ist, warum das nicht mit den Daten klappt, die über einen
Ultraschallsensor an Qt übertragen werden. Es müsste doch egal sein,
ob es Temperaturdaten oder Abstandsdaten einen Distanzsensors sind.
Beide Daten verändern sich dynamisch. Wo soll dann der Unterschied sein??

Danke

monet