[PYTHON] Vérifiez simplement la communication série avec tk

# -*- coding: utf-8 -*-
import tkinter as tk
import serial as sl
import time
import datetime as dt


class App(tk.Frame):
    finFlag = True
    serial = None
    def __init__(self, master=None):
        super().__init__(master)
        self.master.protocol('WM_DELETE_WINDOW', self.On_Close) 
        #Ici, vous pouvez décider arbitrairement du paramètre de communication série
        self.serial = sl.Serial('COM7', 19200, timeout=0)
        while( self.serial.is_open is False):
            time.sleep(100)
            
        self.createPage()
        
        self.after(10, self.readData)
        
    def createPage(self):
        self.page1 = tk.Frame(self.master)
        self.page1.pack(pady=5, padx=30)
        
        self.timelabel = tk.Label(self.page1)
        self.timelabel.grid(column=0, row=0)
        self.timelabel['text'] = dt.datetime.now().strftime("%Y/%m/%d %H:%M:%S")
        
        self.label = tk.Label(self.page1, font=("",20), relief='ridge')
        self.label.grid(column=1, row=0)
        self.label['text'] = '00.0A'
        
           
    def readData(self):
        line = None
        self.timelabel['text'] = dt.datetime.now().strftime("%Y/%m/%d %H:%M:%S")
        if ( self.serial.is_open):
            line = self.serial.readline()
            line = line.strip().decode('utf-8')

            
        if( (line is not None) and (line != '')):

            print(line)
            
            self.label['text'] = line
            
        if ( self.finFlag ):
            self.after(10, self.readData)
        
    def On_Close(self):
        self.finFlag = False
        self.serial.close()
        self.master.destroy()

def main():
    root = tk.Tk()
    app = App(root)
    app.mainloop()

if __name__ == '__main__':
    main()

Recommended Posts

Vérifiez simplement la communication série avec tk
Communication série avec Python
Communication série avec python
Communication série avec Raspberry Pi + PySerial
Vérifiez la communication du protocole uwsgi d'uwsgi avec uwsgi-tools
Communication de socket avec Python
Communication HTTP avec Python
Vérification de domaine avec Python
Vérifier la version avec python
La communication I2C est effectuée en contrôlant la communication série avec python (à l'aide d'un périphérique USBGPIO8)
Contrôle de la communication série avec communication python et SPI (à l'aide d'un périphérique USBGPIO8)
Implémentation CNN avec juste numpy
Vérifiez la couverture de python avec pytest-cov
Utilisation du chainer avec Jetson TK1
Introduction à la communication série [Python]
Afficher la communication Python avec Fiddler
Vérifiez le code avec flake8