Files
Telereview/code/backend_reconaissance/main.py
2023-01-14 17:24:14 +01:00

40 lines
1.2 KiB
Python

import asyncio
import json
import websockets
import random
import os
import hands
import time
avg_fps = 0
nb_fps = 0
class WebsocketServer:
def __init__(self,getEffects,port=os.getenv("PORT"),host=os.getenv("HOST")) -> None:
self.host = host
self.port = port
self.getEffects = getEffects
async def run(self):
async with websockets.serve(self.handler, self.host, self.port):
await asyncio.Future()
async def handler(self,websocket):
while True:
start = time.time()
messages = self.getEffects()
hands.frame()
await websocket.send(json.dumps(messages))
delay = time.time() - start
avg_fps += 1/delay
nb_fps += 1
print("FPS: ", avg_fps/nb_fps)
# await asyncio.sleep(1/30)
#Remplacer ça par la fonction qui récupère les effets (dans le module de reconnaissance de gestes)
def getEffects():
return {"type": "effects", "effects": [{"type": "thumbs_up", "x":random.randint(0,100), "y": random.randint(0,100), "width": 50, "height": 50}]}
server = WebsocketServer(getEffects)
asyncio.run(server.run())