mirror of
https://git.roussel.pro/telecom-paris/pact.git
synced 2026-02-09 10:30:17 +01:00
Intégration de la reco d'image à l'interface borne
This commit is contained in:
@@ -4,12 +4,14 @@ import math
|
||||
import websockets
|
||||
import random
|
||||
import os
|
||||
import hands
|
||||
import time
|
||||
from hands import getThumbState
|
||||
|
||||
|
||||
values = []
|
||||
class WebsocketServer:
|
||||
def __init__(self,getEffects,port=os.getenv("PORT"),host=os.getenv("HOST")) -> None:
|
||||
self.thumbResult = None
|
||||
self.state = 0
|
||||
self.host = host
|
||||
self.port = port
|
||||
self.getEffects = getEffects
|
||||
@@ -21,19 +23,23 @@ class WebsocketServer:
|
||||
|
||||
async def handler(self,websocket):
|
||||
while True:
|
||||
start = time.time()
|
||||
messages = self.getEffects()
|
||||
hands.frame()
|
||||
await websocket.send(json.dumps(messages))
|
||||
# await asyncio.sleep(1/30)
|
||||
delay = time.time() - start
|
||||
values.append(1/delay)
|
||||
avg = sum(values) / len(values)
|
||||
dev = [(v - avg) ** 2 for v in values]
|
||||
print(avg, math.sqrt(sum(dev)/len(dev)))
|
||||
#Remplacer ça par la fonction qui récupère les effets (dans le module de reconnaissance de gestes)
|
||||
if(self.state == 0):
|
||||
messages, result = self.getEffects()
|
||||
if(messages != False):
|
||||
if(result == False):
|
||||
await websocket.send(json.dumps(messages))
|
||||
else:
|
||||
self.thumbResult = result
|
||||
self.state = 1
|
||||
await websocket.send('{"type":"state","state":2}')
|
||||
|
||||
def getEffects():
|
||||
return {"type": "effects", "effects": [{"type": "thumbs_up", "x":random.randint(0,100), "y": random.randint(0,100), "width": 50, "height": 50}]}
|
||||
res = getThumbState()
|
||||
if(res != False):
|
||||
state, coords, size, result = res
|
||||
return {"type": "effects", "effects": [{"type": state, "x":coords[0], "y": coords[1], "width": size, "height": size}]}, result
|
||||
else:
|
||||
return False,False
|
||||
|
||||
server = WebsocketServer(getEffects)
|
||||
asyncio.run(server.run())
|
||||
Reference in New Issue
Block a user