Ausgabe in einfaches Fenster
Verfasst: Mittwoch 5. August 2020, 21:07
Hallo zusammen - ich bin neu im Forum und neu in Python - das untenstehende Programm liest die serielle Schnitstelle aus - der Wert "rpm" beinhaltet die Drehzahl eines Motors. Der Drehzahlsensor liefert serielle Werte ab die ich mit meinem Raspberry Pi auswerten will. Jetzt hätte ich gern ein kleines Fenster das mir die Drehzahl anzeigt. Ich habe mich mal schlau gemacht und ein paar Tutorials gelesen - bin aber letztendlich steckengeblieben
Das Programm in seiner jetzigen Form zeigt ein kleines Fenster an - der Rest unterhalb "root.mainloop" wird aber nicht mehr ausgeführt. Wenn ich root.mainloop an das Programmende stelle wird zwar der Code ausgeführt und die Drehzahlwerte werden in der Konsole angezeigt aber es erscheint kein Fenster mehr!! Wie mache ich es das sowohl das Fenster angezeigt wird als auch das der restliche Code ausgeführt wird?
Wie übergebe ich die Variable "rpm" an "myLabel = Label(root, ) sodass ihr Wert (Drehzahl) im Fenster angezeigt wird? Für ein paar gute Tips wäre ich wirklich dankbar!!!!!
#!/usr/bin/env python
import serial
from tkinter import *
root = Tk()
myLabel = Label(root, text = "Test Test Test")
myLabel.pack()
root.mainloop()
ser = serial.Serial(port='/dev/ttyAMA0', baudrate = 9600, timeout=1)
if (ser.isOpen() == True):
ser.close()
ser.open()
try:
while 1:
rpm = ser.readline().rstrip()
print (rpm)
ser.write(rpm)
except(KeyboardInterrupt, SystemExit):
print("Abbruch")
ser.close()



Das Programm in seiner jetzigen Form zeigt ein kleines Fenster an - der Rest unterhalb "root.mainloop" wird aber nicht mehr ausgeführt. Wenn ich root.mainloop an das Programmende stelle wird zwar der Code ausgeführt und die Drehzahlwerte werden in der Konsole angezeigt aber es erscheint kein Fenster mehr!! Wie mache ich es das sowohl das Fenster angezeigt wird als auch das der restliche Code ausgeführt wird?
Wie übergebe ich die Variable "rpm" an "myLabel = Label(root, ) sodass ihr Wert (Drehzahl) im Fenster angezeigt wird? Für ein paar gute Tips wäre ich wirklich dankbar!!!!!
Code: Alles auswählen
import serial
from tkinter import *
root = Tk()
myLabel = Label(root, text = "Test Test Test")
myLabel.pack()
root.mainloop()
ser = serial.Serial(port='/dev/ttyAMA0', baudrate = 9600, timeout=1)
if (ser.isOpen() == True):
ser.close()
ser.open()
try:
while 1:
rpm = ser.readline().rstrip()
print (rpm)
ser.write(rpm)
except(KeyboardInterrupt, SystemExit):
print("Abbruch")
ser.close()
Code: Alles auswählen