diff --git a/code/backend_reconnaissance/manager.py b/code/backend_reconnaissance/manager.py index 1ef1abb..6333139 100644 --- a/code/backend_reconnaissance/manager.py +++ b/code/backend_reconnaissance/manager.py @@ -1,6 +1,6 @@ from hand_detector import HandDetector from audio_detector import get_grade -from network import WebsocketServer +from network import ApiClient, WebsocketServer import time #Classe qui coordonne les différents modules et qui s'occupe de construire l'avis au fur et a mesure @@ -17,6 +17,7 @@ class Manager(): self.server = WebsocketServer(None) self.server.start() self.handDetector = HandDetector() + self.api = ApiClient() print("Backend ready") #Boucle principale @@ -35,21 +36,10 @@ class Manager(): #Fonction qui est executée pendant que la borne est en veille, reveille la borne si une main est detectée def sleep(self): res = self.handDetector.detect() - print(res) if(res != False): self.state = 1 self.server.sendMessage({"type": "state", "state": 1}) - def audio(self): - grade = get_grade() - if(grade != False): - self.server.sendMessage({"type":"new_grade","grade":grade}) - self.avis["notes_autres"]["test"] = grade - time.sleep(3) - self.state = 2 - self.server.sendMessage({"type": "state", "state": 3}) - - #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): res = self.handDetector.detect() @@ -61,10 +51,21 @@ class Manager(): self.state = 2 self.server.sendMessage({"type": "state", "state": 2}) + def audio(self): + grade = get_grade() + if(grade != False): + self.server.sendMessage({"type":"new_grade","grade":grade}) + self.avis["notes_autres"]["test"] = grade + time.sleep(3) + self.state = 3 + self.server.sendMessage({"type": "state", "state": 3}) + def thankYou(self): time.sleep(10) + print("Reseting...") self.state = 0 self.server.sendMessage({"type": "state", "state": 0}) - self.sendReview() + res = self.api.send(self.avis["note"],self.avis["notes_autres"]["test"]) + print(res.text) self.avis = self.defualtAvis diff --git a/code/backend_reconnaissance/network.py b/code/backend_reconnaissance/network.py index 7e064d7..4223f14 100644 --- a/code/backend_reconnaissance/network.py +++ b/code/backend_reconnaissance/network.py @@ -1,3 +1,4 @@ +import requests import asyncio import json import os @@ -23,6 +24,7 @@ class WebsocketServer(threading.Thread): async def handler(self,websocket): while True: for msg in self.messageQueue: + # print("sending", json.dumps(msg)) await websocket.send(json.dumps(msg)) self.messageQueue.pop(0) await asyncio.sleep(0.01) @@ -34,4 +36,14 @@ class ApiClient(): def __init__(self, host=os.getenv("API_HOST"), port=os.getenv("API_PORT")): self.host = host self.port = port - \ No newline at end of file + + def send(self,note,note_autre): + #Exemple ajout d'un commentaire depuis la borne (site ou geste) + avis = { + "note": note, + "source": "borne", + "commentaire":"", + #Optionel + "notes_autre": '{"proprete":'+str(note_autre)+',"calme":10}', + } + return requests.post("http://"+self.host+":"+self.port+"/add_review", data=avis) diff --git a/code/interface_borne/assets/js/audio_page.js b/code/interface_borne/assets/js/audio_page.js index 4ba14a0..eaf8c59 100644 --- a/code/interface_borne/assets/js/audio_page.js +++ b/code/interface_borne/assets/js/audio_page.js @@ -7,11 +7,12 @@ class AudioPage { set enabled(isEnabled) { this.isEnabled = isEnabled; this.DOMElement.style.display = isEnabled ? "block" : "none"; + document.getElementById("grade").innerHTML = ""; } setGrade(grade) { if(this.isEnabled) { - this.DOMElement.getElementById("grade").innerHTML = grade.toString(); + document.getElementById("grade").innerHTML = grade.toString(); } } } \ No newline at end of file diff --git a/code/interface_borne/assets/js/network.js b/code/interface_borne/assets/js/network.js index 6f37721..73bb954 100644 --- a/code/interface_borne/assets/js/network.js +++ b/code/interface_borne/assets/js/network.js @@ -12,6 +12,8 @@ class WebsocketClient { onNewEffects(msg.effects); }else if(msg.type == "state") { onNewState(msg.state); + }else if(msg.type == "new_grade") { + onNewGrade(Number(msg.grade)); } }; } diff --git a/code/interface_borne/index.html b/code/interface_borne/index.html index fc985bb..59182a1 100644 --- a/code/interface_borne/index.html +++ b/code/interface_borne/index.html @@ -33,7 +33,7 @@
Donnez une note sur 10 au critère suivant
| Calme | -/10 | +/10 |