mirror of
https://git.roussel.pro/telecom-paris/pact.git
synced 2026-02-09 10:30:17 +01:00
début intégration module reconaissance vocale
utilisation de la bdd
This commit is contained in:
@@ -13,11 +13,15 @@ class Manager():
|
||||
"notes_autres": {}
|
||||
}
|
||||
|
||||
self.TIMEOUT_CAMERA = 5
|
||||
|
||||
self.avis = self.defualtAvis
|
||||
self.server = WebsocketServer(None)
|
||||
self.server.start()
|
||||
self.handDetector = HandDetector()
|
||||
self.api = ApiClient()
|
||||
self.timeLastChange = time.time()
|
||||
self.isLastHandPacketEmpty = False
|
||||
print("Backend ready")
|
||||
|
||||
#Boucle principale
|
||||
@@ -38,34 +42,51 @@ class Manager():
|
||||
res = self.handDetector.detect()
|
||||
if(res != False):
|
||||
self.state = 1
|
||||
self.timeLastChange = time.time()
|
||||
self.server.sendMessage({"type": "state", "state": 1})
|
||||
|
||||
#Envoie la position de la main a l'écran et passe a l'étape suivante si une main est detectée pendant assez longtemps
|
||||
def camera(self):
|
||||
if(time.time() - self.timeLastChange > self.TIMEOUT_CAMERA):
|
||||
self.server.sendMessage({"type":"reset"})
|
||||
self.reset()
|
||||
return
|
||||
|
||||
res = self.handDetector.detect()
|
||||
if(res != False):
|
||||
state, coords, size, finalDecision = res
|
||||
self.server.sendMessage({"type": "effects", "effects": [{"type": state, "x":coords[0], "y": coords[1], "width": size, "height": size}]})
|
||||
self.isLastHandPacketEmpty = False
|
||||
if(finalDecision != False):
|
||||
self.avis["note"] = 10 if finalDecision == "thumbs_up" else 0
|
||||
self.state = 2
|
||||
self.timeLastChange = time.time()
|
||||
self.server.sendMessage({"type": "state", "state": 2})
|
||||
elif self.isLastHandPacketEmpty == False:
|
||||
self.server.sendMessage({"type":"effects","effects":[]})
|
||||
self.isLastHandPacketEmpty = True
|
||||
|
||||
def audio(self):
|
||||
grade = get_grade()
|
||||
if(grade != False):
|
||||
self.server.sendMessage({"type":"new_grade","grade":grade})
|
||||
self.avis["notes_autres"]["test"] = grade
|
||||
result = get_grade()
|
||||
if(result != False):
|
||||
self.server.sendMessage({"type":"new_grade","word":result["display"]})
|
||||
self.avis["notes_autres"]["test"] = result["grade"]
|
||||
time.sleep(3)
|
||||
self.state = 3
|
||||
self.timeLastChange = time.time()
|
||||
self.server.sendMessage({"type": "state", "state": 3})
|
||||
|
||||
def thankYou(self):
|
||||
time.sleep(10)
|
||||
print("Reseting...")
|
||||
self.state = 0
|
||||
self.timeLastChange = time.time()
|
||||
self.server.sendMessage({"type": "state", "state": 0})
|
||||
res = self.api.send(self.avis["note"],self.avis["notes_autres"]["test"])
|
||||
print(res.text)
|
||||
self.avis = self.defualtAvis
|
||||
self.reset()
|
||||
|
||||
def reset(self):
|
||||
self.state = 0
|
||||
self.avis = self.defualtAvis
|
||||
self.handDetector.reset()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user