#! /usr/bin/python3 import serial import time from tkinter import * import struct port='/dev/ttyACM0' baudrate=115200 serBuffer = "" ######################################################################## # FUNCTIONS ######################################################################## def onPushSend(): var_led=led.get() var_blink=blinkTime.get() var_blink=int(var_blink) var_blink_low=var_blink & 0xFF var_blink_high=(var_blink >> 8) & 0xFF ser.write(struct.pack('B',0xFF)) # Header ser.write(var_led.encode()) ser.write(struct.pack('B',var_blink_high)) ser.write(struct.pack('B',var_blink_low)) ######################################################################## # MAIN ######################################################################## if __name__ == "__main__" : try: ser = serial.Serial(port, baudrate, bytesize=8, parity='N', stopbits=1, timeout=None, rtscts=False, dsrdtr=False) print("serial port " + ser.name + " opened") except Exception: print("error open serial port: " + port) exit() ui=Tk() ui.title("SERIAL SEND ORDER") ui.geometry("200x200") labelToSendMes=Label(ui, text="LED (r/g/b)", font=("Arial", 10), fg="black") labelToSendMes.pack() led=StringVar() toSendEntry=Entry(ui, textvariable=led) toSendEntry.pack() labelToSendMes=Label(ui, text="Blink time (ms)", font=("Arial", 10), fg="black") labelToSendMes.pack() blinkTime=StringVar() toSendEntry=Entry(ui, textvariable=blinkTime) toSendEntry.pack() copyButton=Button(ui, text="SEND", font=("Arial",10, "bold"), bg="seagreen3", fg="black", bd=3, relief=RAISED, command=onPushSend) copyButton.pack() ui.mainloop() # MAIN LOOP ########################################################################