2017-02-13 1 views
1

Ich arbeite am Projekt, in dem ich data von Arduino serially bekomme und auf sie in Python zugreifen. Um auf Daten von arduino zuzugreifen, verwende ich pyserial. Danach muss ich diese Daten unter Python GUI anzeigen. Wie kann ich das tun?Wie Arduino serielle Daten zu Python GUI anzeigen?

Ich erhalte diese Daten in Arduino Serial Monitor ....

2.00 
2.64 
3.28 
3.92 
4.56 
5.20 
5.84 
6.48 
7.12 
7.76 
8.40 
9.04 
9.68 
10.00 
9.69 
16.59 
23.50 
30.40 
37.31 
44.21 
51.11 
58.02 
64.92 
71.82 
78.73 
82.18 

Und mit pyserial ich diese Daten als python output bin immer ...

[2.0] 
[2.0, 2.64] 
[2.0, 2.64, 3.28] 
[2.0, 2.64, 3.28, 3.92] 
[2.0, 2.64, 3.28, 3.92, 4.56] 
[2.0, 2.64, 3.28, 3.92, 4.56, 5.2] 
[2.0, 2.64, 3.28, 3.92, 4.56, 5.2, 5.84] 
[2.0, 2.64, 3.28, 3.92, 4.56, 5.2, 5.84, 6.48] 
[2.0, 2.64, 3.28, 3.92, 4.56, 5.2, 5.84, 6.48, 7.12] 
[2.0, 2.64, 3.28, 3.92, 4.56, 5.2, 5.84, 6.48, 7.12, 7.76] 
[2.0, 2.64, 3.28, 3.92, 4.56, 5.2, 5.84, 6.48, 7.12, 7.76, 8.4] 
[2.0, 2.64, 3.28, 3.92, 4.56, 5.2, 5.84, 6.48, 7.12, 7.76, 8.4, 9.04] 
[2.0, 2.64, 3.28, 3.92, 4.56, 5.2, 5.84, 6.48, 7.12, 7.76, 8.4, 9.04, 9.68] 
[2.0, 2.64, 3.28, 3.92, 4.56, 5.2, 5.84, 6.48, 7.12, 7.76, 8.4, 9.04, 9.68, 10.0] 
[2.0, 2.64, 3.28, 3.92, 4.56, 5.2, 5.84, 6.48, 7.12, 7.76, 8.4, 9.04, 9.68, 10.0, 9.69] 
[2.0, 2.64, 3.28, 3.92, 4.56, 5.2, 5.84, 6.48, 7.12, 7.76, 8.4, 9.04, 9.68, 10.0, 9.69, 16.59] 
[2.0, 2.64, 3.28, 3.92, 4.56, 5.2, 5.84, 6.48, 7.12, 7.76, 8.4, 9.04, 9.68, 10.0, 9.69, 16.59, 23.5] 
[2.0, 2.64, 3.28, 3.92, 4.56, 5.2, 5.84, 6.48, 7.12, 7.76, 8.4, 9.04, 9.68, 10.0, 9.69, 16.59, 23.5, 30.4] 
[2.0, 2.64, 3.28, 3.92, 4.56, 5.2, 5.84, 6.48, 7.12, 7.76, 8.4, 9.04, 9.68, 10.0, 9.69, 16.59, 23.5, 30.4, 37.31] 
[2.0, 2.64, 3.28, 3.92, 4.56, 5.2, 5.84, 6.48, 7.12, 7.76, 8.4, 9.04, 9.68, 10.0, 9.69, 16.59, 23.5, 30.4, 37.31, 44.21] 
[2.0, 2.64, 3.28, 3.92, 4.56, 5.2, 5.84, 6.48, 7.12, 7.76, 8.4, 9.04, 9.68, 10.0, 9.69, 16.59, 23.5, 30.4, 37.31, 44.21, 51.11] 
[2.0, 2.64, 3.28, 3.92, 4.56, 5.2, 5.84, 6.48, 7.12, 7.76, 8.4, 9.04, 9.68, 10.0, 9.69, 16.59, 23.5, 30.4, 37.31, 44.21, 51.11, 58.02] 
[2.0, 2.64, 3.28, 3.92, 4.56, 5.2, 5.84, 6.48, 7.12, 7.76, 8.4, 9.04, 9.68, 10.0, 9.69, 16.59, 23.5, 30.4, 37.31, 44.21, 51.11, 58.02, 64.92] 
[2.0, 2.64, 3.28, 3.92, 4.56, 5.2, 5.84, 6.48, 7.12, 7.76, 8.4, 9.04, 9.68, 10.0, 9.69, 16.59, 23.5, 30.4, 37.31, 44.21, 51.11, 58.02, 64.92, 71.82] 
[2.0, 2.64, 3.28, 3.92, 4.56, 5.2, 5.84, 6.48, 7.12, 7.76, 8.4, 9.04, 9.68, 10.0, 9.69, 16.59, 23.5, 30.4, 37.31, 44.21, 51.11, 58.02, 64.92, 71.82, 78.73] 
[2.0, 2.64, 3.28, 3.92, 4.56, 5.2, 5.84, 6.48, 7.12, 7.76, 8.4, 9.04, 9.68, 10.0, 9.69, 16.59, 23.5, 30.4, 37.31, 44.21, 51.11, 58.02, 64.92, 71.82, 78.73, 82.18] 

In python habe ich diesen Code verwendet erhalten Serial data ....

import serial 
arduino = serial.Serial('COM5', 9600, timeout = .1) 
arduino_data = [] # declare a list 
while True: 
    data = arduino.readline() 
    if data: 
     arduino_data.append(float(data)) # Append a data to your declared list 
     print arduino_data 
+1

Was ist die Relevanz von 'pyserial' und' arduino' in Ihrer Frage, wenn es um alles zu gehen scheint * Wie zeigt man Daten in Python gui * an? Könnten Sie etwas konkreter darüber sein, * wie Sie Ihre Daten anzeigen möchten *? Können Sie ein * Datenbeispiel * angeben? Hinweis: ** Bearbeiten Sie Ihre Frage, um relevante Informationen hinzuzufügen, verwenden Sie keine Kommentare dafür. –

+0

Groß ** bearbeiten **, upvoted. Nun, * was ist das Endergebnis, das du erreichen willst *? Möchten Sie einfach einen Live-Graphen darstellen oder möchten Sie eine vollständige Anwendung? –

+0

@ PatrickTrentin..Danke für Upvoting ... Nicht Live-Grafik, aber kann ganze Anwendung um es sagen, d. Erstellen Sie einfach ein Fenster, das serielle Daten anzeigen kann, die ich in Python-Shell bekommen habe. Die habe ich in meiner Frage als 'pyserial output' angezeigt. – karanrp

Antwort

1
import serial 
arduino = serial.Serial('COM3', 9600, timeout = .1) 
arduino_data = [] # declare a list 
i=0; 
while i<5: 
    data = arduino.readline() 
    if data: 
     #arduino_data.append(data) # Append a data to your declared list 
     print data 
     i=i+1; 


#try this code mate, i am beginner but did this for you i think i will work for you please