Inital working version

This commit is contained in:
Jimmy 2025-05-18 22:10:14 +12:00
parent 9d35fb5002
commit 910c225542
2 changed files with 37 additions and 1 deletions

View File

@ -6,13 +6,15 @@ from async_tkinter_loop import async_handler, async_mainloop
from networking import send_to_server
import color_utils
bg_color="#2e2e2e"
class App:
def __init__(self) -> None:
self.root = tk.Tk()
self.root.attributes('-fullscreen', True)
# List of servers (IP, Port)
self.servers = [("192.168.0.206", 80), ("192.168.0.208", 80)]
self.servers = [("192.168.0.208", 80),("192.168.0.201", 80), ("192.168.0.202", 80), ("192.168.0.203", 80), ("192.168.0.206", 80)]
# Create Notebook for tabs
self.notebook = ttk.Notebook(self.root)
@ -25,6 +27,7 @@ class App:
self.notebook.add(tab, text=f"{server[0]}:{server[1]}")
self.create_sliders(tab)
self.tabs[server] = tab
#self.root.configure(bg=bg_color)
async_mainloop(self.root)

View File

@ -1,5 +1,7 @@
import socket
import asyncio
import httpx
from websockets import connect
async def send_color_data(color_data, servers):
"""Send color data to all configured servers."""
@ -18,3 +20,34 @@ async def send_to_server(color_data, server):
print(f"Sent data to {server_ip}:{server_port}")
except (socket.error, ConnectionError) as e:
print(f"Error sending to {server_ip}:{server_port}: {e}")
async def post(server, endpoint, data=""):
async with httpx.AsyncClient() as client:
r = await client.post(f"http://{server}/{endpoint}", data=data)
print(server, r)
async def main():
b = bytearray(180)
try:
ws1 = await connect("ws://10.1.1.200/external")
await asyncio.gather(post("10.1.1.200", "pattern", "external"))
while True:
print("sync")
for i in range(len(b)):
b[i] = 128
await asyncio.gather(ws1.send(b))
await asyncio.sleep(5)
finally:
await ws1.close()
await asyncio.gather(post("10.1.1.200", "pattern", "off"))
if __name__ == "__main__":
asyncio.run(main())