29 lines
613 B
Python
29 lines
613 B
Python
import tkinter as tk
|
|
import socket
|
|
|
|
num = 116
|
|
h = 20
|
|
|
|
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
|
|
s.bind(("", 49152))
|
|
|
|
w = tk.Canvas(width=10*num, height=h)
|
|
w.pack()
|
|
|
|
leds = [w.create_rectangle(i*10, 0, i*10+10, h, outline="black", fill="black") for i in range(num)]
|
|
|
|
def update_colors():
|
|
data = s.recvfrom(1024)[0][5:]
|
|
for i in range(num):
|
|
offset = (num - i - 1) * 3
|
|
c = "#%02x%02x%02x" % (data[offset+1], data[offset], data[offset+2])
|
|
w.itemconfig(leds[i], fill=c, outline=c)
|
|
w.after(10, update_colors)
|
|
|
|
try:
|
|
w.after(10, update_colors)
|
|
tk.mainloop()
|
|
except KeyboardInterrupt:
|
|
del w
|
|
del s
|