ich habe folgendes python script gebaut mit dem man eine serielle Schnittstelle abhören und ausgeben kann,
das problem ist auf einem PC sieht die Ausgabe ziemlich seltstam aus, wie z.B Pfeile nach oben usw. also eher ascci zeichen.
Es ist aber nur bei einem PC bei einem anderen PC sieht alles gut aus.
anbei mein script:
Code: Alles auswählen
import Tkinter
from threading import Thread
import os
import sys
from serial import *
import win32clipboard, win32con
import time
import datetime
class PrintThread(Thread):
def __init__(self,master,mainlabel):
self.master=master
self.label=mainlabel
self.loop=False
self.connection=""
self.ser = Serial(port=0, baudrate=19200, bytesize=8, parity='N', stopbits=1, timeout=0, xonxoff=0, rtscts=0)
master.protocol("WM_DELETE_WINDOW", self.handler)
Thread.__init__(self)
def handler(self):
self.loop=False
print "Destoy root window."
self.master.quit()
def run(self):
self.loop=True
while self.loop==True:
read_value=self.ser.read(1)
if read_value:
try:
textstr = read_value+self.ser.readline() #get it
win32clipboard.OpenClipboard()
#:if
win32clipboard.EmptyClipboard()
win32clipboard.SetClipboardText(textstr.decode('utf-8'))
win32clipboard.CloseClipboard()
###############################################
print textstr
self.label.config(text=textstr.decode('utf-8'))
except Exception:
print "Error in Scan barcode"
#loop=False
time.sleep(1)
cmd = os.popen("tasklist.exe /fo csv /nh")
x = cmd.readlines()
s=0
for y in x:
p = y.find('WMT_LABEL.exe')
if p >= 0: # process running
s=s+1
if s<2:
main= Tkinter.Tk()
#main.configure(height=400,width=600)
def callback():
Printserv.loop=False
main.destroy()
print "Destoy root window."
main.quit()
main.configure(bg="grey")
main.geometry('200x200')
button =Tkinter.Button(main, text ="Close App", command = callback)
button.pack()
label = Tkinter.Label( main,text="Value")
#var.set("Hey!? How are you doing?")
label.pack()
Printserv=PrintThread(main,label)
Printserv.start()
main.mainloop()